public class jtermios.windows.JTermiosImpl implements jtermios.JTermios$JTermiosInterface
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jtermios.windows.JTermiosImpl
  super_class: java.lang.Object
{
  private volatile int m_ErrNo;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean[] m_PortFDs;
    descriptor: [Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile java.util.Hashtable<java.lang.Integer, jtermios.windows.JTermiosImpl$Port> m_OpenPorts;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/util/Hashtable<Ljava/lang/Integer;Ljtermios/windows/JTermiosImpl$Port;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // jtermios.windows.JTermiosImpl this
         0: .line 282
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            aload 0 /* this */
            iconst_0
            putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
         2: .line 49
            aload 0 /* this */
            sipush 256
            newarray 4
            putfield jtermios.windows.JTermiosImpl.m_PortFDs:[Z
         3: .line 51
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield jtermios.windows.JTermiosImpl.m_OpenPorts:Ljava/util/Hashtable;
         4: .line 283
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 5
            iconst_1
            ldc "instantiating %s\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: jtermios.windows.JTermiosImpl
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: putstatic jtermios.JTermios$JTermiosLogging.log:Z
         7: .line 284
            return
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljtermios/windows/JTermiosImpl;

  public int errno();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jtermios.windows.JTermiosImpl this
         0: .line 287
            aload 0 /* this */
            getfield jtermios.windows.JTermiosImpl.m_ErrNo:I
            ireturn
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/windows/JTermiosImpl;

  public void cfmakeraw(jtermios.Termios);
    descriptor: (Ljtermios/Termios;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 291
            aload 1 /* termios */
            dup
            getfield jtermios.Termios.c_iflag:I
            getstatic jtermios.JTermios.IGNBRK:I
            getstatic jtermios.JTermios.BRKINT:I
            ior
            getstatic jtermios.JTermios.PARMRK:I
            ior
            getstatic jtermios.JTermios.ISTRIP:I
            ior
            getstatic jtermios.JTermios.INLCR:I
            ior
            getstatic jtermios.JTermios.IGNCR:I
            ior
            getstatic jtermios.JTermios.ICRNL:I
            ior
            getstatic jtermios.JTermios.IXON:I
            ior
            iconst_m1
            ixor
            iand
            putfield jtermios.Termios.c_iflag:I
         1: .line 292
            aload 1 /* termios */
            dup
            getfield jtermios.Termios.c_oflag:I
            getstatic jtermios.JTermios.OPOST:I
            iconst_m1
            ixor
            iand
            putfield jtermios.Termios.c_oflag:I
         2: .line 293
            aload 1 /* termios */
            dup
            getfield jtermios.Termios.c_lflag:I
            getstatic jtermios.JTermios.ECHO:I
            getstatic jtermios.JTermios.ECHONL:I
            ior
            getstatic jtermios.JTermios.ICANON:I
            ior
            getstatic jtermios.JTermios.ISIG:I
            ior
            getstatic jtermios.JTermios.IEXTEN:I
            ior
            iconst_m1
            ixor
            iand
            putfield jtermios.Termios.c_lflag:I
         3: .line 294
            aload 1 /* termios */
            dup
            getfield jtermios.Termios.c_cflag:I
            getstatic jtermios.JTermios.CSIZE:I
            getstatic jtermios.JTermios.PARENB:I
            ior
            iconst_m1
            ixor
            iand
            putfield jtermios.Termios.c_cflag:I
         4: .line 295
            aload 1 /* termios */
            dup
            getfield jtermios.Termios.c_cflag:I
            getstatic jtermios.JTermios.CS8:I
            ior
            putfield jtermios.Termios.c_cflag:I
         5: .line 296
            return
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Ljtermios/windows/JTermiosImpl;
            0    6     1  termios  Ljtermios/Termios;
    MethodParameters:
         Name  Flags
      termios  

  public int fcntl(int, int, int);
    descriptor: (III)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // int arg
         0: .line 300
            aload 0 /* this */
            iload 1 /* fd */
            invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
            astore 4 /* port */
        start local 4 // jtermios.windows.JTermiosImpl$Port port
         1: .line 301
            aload 4 /* port */
            ifnonnull 3
         2: .line 302
            iconst_m1
            ireturn
         3: .line 303
      StackMap locals: jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            getstatic jtermios.JTermios.F_SETFL:I
            iload 2 /* cmd */
            if_icmpne 5
         4: .line 304
            aload 4 /* port */
            iload 3 /* arg */
            putfield jtermios.windows.JTermiosImpl$Port.m_OpenFlags:I
            goto 9
         5: .line 305
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.F_GETFL:I
            iload 2 /* cmd */
            if_icmpne 7
         6: .line 306
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_OpenFlags:I
            ireturn
         7: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jtermios.JTermios.ENOTSUP:I
            putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
         8: .line 309
            iconst_m1
            ireturn
         9: .line 311
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // jtermios.windows.JTermiosImpl$Port port
        end local 3 // int arg
        end local 2 // int cmd
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljtermios/windows/JTermiosImpl;
            0   10     1    fd  I
            0   10     2   cmd  I
            0   10     3   arg  I
            1   10     4  port  Ljtermios/windows/JTermiosImpl$Port;
    MethodParameters:
      Name  Flags
      fd    
      cmd   
      arg   

  public int tcdrain(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
         0: .line 315
            aload 0 /* this */
            iload 1 /* fd */
            invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
            astore 2 /* port */
        start local 2 // jtermios.windows.JTermiosImpl$Port port
         1: .line 316
            aload 2 /* port */
            ifnonnull 3
         2: .line 317
            iconst_m1
            ireturn
         3: .line 319
      StackMap locals: jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            aload 2 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
            dup
            astore 3
            monitorenter
         4: .line 320
            aload 2 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            invokestatic jtermios.windows.WinAPI.FlushFileBuffers:(Ljtermios/windows/WinAPI$HANDLE;)Z
            ifne 6
         5: .line 321
            aload 2 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
         6: .line 322
      StackMap locals: com.sun.jna.Memory
      StackMap stack:
            aload 3
            monitorexit
         7: iconst_0
            ireturn
         8: .line 319
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         9: athrow
        10: .line 324
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.windows.JTermiosImpl$Port
      StackMap stack: jtermios.windows.JTermiosImpl$Fail
            pop
        11: .line 325
            iconst_m1
            ireturn
        end local 2 // jtermios.windows.JTermiosImpl$Port port
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljtermios/windows/JTermiosImpl;
            0   12     1    fd  I
            1   12     2  port  Ljtermios/windows/JTermiosImpl$Port;
      Exception table:
        from    to  target  type
           4     7       8  any
           8     9       8  any
           3     7      10  Class jtermios.windows.JTermiosImpl$Fail
           8    10      10  Class jtermios.windows.JTermiosImpl$Fail
    MethodParameters:
      Name  Flags
      fd    

  public int cfgetispeed(jtermios.Termios);
    descriptor: (Ljtermios/Termios;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 330
            aload 1 /* termios */
            getfield jtermios.Termios.c_ispeed:I
            ireturn
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/windows/JTermiosImpl;
            0    1     1  termios  Ljtermios/Termios;
    MethodParameters:
         Name  Flags
      termios  

  public int cfgetospeed(jtermios.Termios);
    descriptor: (Ljtermios/Termios;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // jtermios.Termios termios
         0: .line 334
            aload 1 /* termios */
            getfield jtermios.Termios.c_ospeed:I
            ireturn
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljtermios/windows/JTermiosImpl;
            0    1     1  termios  Ljtermios/Termios;
    MethodParameters:
         Name  Flags
      termios  

  public int cfsetispeed(jtermios.Termios, int);
    descriptor: (Ljtermios/Termios;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // jtermios.Termios termios
        start local 2 // int speed
         0: .line 338
            aload 1 /* termios */
            iload 2 /* speed */
            putfield jtermios.Termios.c_ispeed:I
         1: .line 339
            iconst_0
            ireturn
        end local 2 // int speed
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljtermios/windows/JTermiosImpl;
            0    2     1  termios  Ljtermios/Termios;
            0    2     2    speed  I
    MethodParameters:
         Name  Flags
      termios  
      speed    

  public int cfsetospeed(jtermios.Termios, int);
    descriptor: (Ljtermios/Termios;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // jtermios.Termios termios
        start local 2 // int speed
         0: .line 343
            aload 1 /* termios */
            iload 2 /* speed */
            putfield jtermios.Termios.c_ospeed:I
         1: .line 344
            iconst_0
            ireturn
        end local 2 // int speed
        end local 1 // jtermios.Termios termios
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljtermios/windows/JTermiosImpl;
            0    2     1  termios  Ljtermios/Termios;
            0    2     2    speed  I
    MethodParameters:
         Name  Flags
      termios  
      speed    

  public int open(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // java.lang.String filename
        start local 2 // int flags
         0: .line 348
            new jtermios.windows.JTermiosImpl$Port
            dup
            aload 0 /* this */
            invokespecial jtermios.windows.JTermiosImpl$Port.<init>:(Ljtermios/windows/JTermiosImpl;)V
            astore 3 /* port */
        start local 3 // jtermios.windows.JTermiosImpl$Port port
         1: .line 350
            aload 3 /* port */
            aload 1 /* filename */
            iload 2 /* flags */
            invokevirtual jtermios.windows.JTermiosImpl$Port.open:(Ljava/lang/String;I)V
         2: .line 351
            aload 3 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_FD:I
         3: ireturn
         4: .line 352
      StackMap locals: jtermios.windows.JTermiosImpl java.lang.String int jtermios.windows.JTermiosImpl$Port
      StackMap stack: jtermios.windows.JTermiosImpl$Fail
            pop
         5: .line 353
            aload 3 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.close:()V
         6: .line 354
            iconst_m1
            ireturn
        end local 3 // jtermios.windows.JTermiosImpl$Port port
        end local 2 // int flags
        end local 1 // java.lang.String filename
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljtermios/windows/JTermiosImpl;
            0    7     1  filename  Ljava/lang/String;
            0    7     2     flags  I
            1    7     3      port  Ljtermios/windows/JTermiosImpl$Port;
      Exception table:
        from    to  target  type
           1     3       4  Class jtermios.windows.JTermiosImpl$Fail
    MethodParameters:
          Name  Flags
      filename  
      flags     

  private static void nanoSleep(long);
    descriptor: (J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // long nsec
         0: .line 361
            lload 0 /* nsec */
            ldc 1000000
            ldiv
            l2i
            i2l
            lload 0 /* nsec */
            ldc 1000000
            lrem
            l2i
            invokestatic java.lang.Thread.sleep:(JI)V
         1: .line 362
            goto 4
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         2: pop
         3: .line 363
            new jtermios.windows.JTermiosImpl$Fail
            dup
            invokespecial jtermios.windows.JTermiosImpl$Fail.<init>:()V
            athrow
         4: .line 365
      StackMap locals:
      StackMap stack:
            return
        end local 0 // long nsec
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  nsec  J
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.InterruptedException
    Exceptions:
      throws jtermios.windows.JTermiosImpl$Fail
    MethodParameters:
      Name  Flags
      nsec  

  private int getCharBits(jtermios.Termios);
    descriptor: (Ljtermios/Termios;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // jtermios.Termios tios
         0: .line 368
            bipush 8
            istore 2 /* cs */
        start local 2 // int cs
         1: .line 369
            aload 1 /* tios */
            getfield jtermios.Termios.c_cflag:I
            getstatic jtermios.JTermios.CSIZE:I
            iand
            getstatic jtermios.JTermios.CS5:I
            if_icmpne 3
         2: .line 370
            iconst_5
            istore 2 /* cs */
         3: .line 371
      StackMap locals: int
      StackMap stack:
            aload 1 /* tios */
            getfield jtermios.Termios.c_cflag:I
            getstatic jtermios.JTermios.CSIZE:I
            iand
            getstatic jtermios.JTermios.CS6:I
            if_icmpne 5
         4: .line 372
            bipush 6
            istore 2 /* cs */
         5: .line 373
      StackMap locals:
      StackMap stack:
            aload 1 /* tios */
            getfield jtermios.Termios.c_cflag:I
            getstatic jtermios.JTermios.CSIZE:I
            iand
            getstatic jtermios.JTermios.CS7:I
            if_icmpne 7
         6: .line 374
            bipush 7
            istore 2 /* cs */
         7: .line 375
      StackMap locals:
      StackMap stack:
            aload 1 /* tios */
            getfield jtermios.Termios.c_cflag:I
            getstatic jtermios.JTermios.CSIZE:I
            iand
            getstatic jtermios.JTermios.CS8:I
            if_icmpne 9
         8: .line 376
            bipush 8
            istore 2 /* cs */
         9: .line 377
      StackMap locals:
      StackMap stack:
            aload 1 /* tios */
            getfield jtermios.Termios.c_cflag:I
            getstatic jtermios.JTermios.CSTOPB:I
            iand
            ifeq 11
        10: .line 378
            iinc 2 /* cs */ 1
        11: .line 379
      StackMap locals:
      StackMap stack:
            aload 1 /* tios */
            getfield jtermios.Termios.c_cflag:I
            getstatic jtermios.JTermios.PARENB:I
            iand
            ifeq 13
        12: .line 380
            iinc 2 /* cs */ 1
        13: .line 381
      StackMap locals:
      StackMap stack:
            iinc 2 /* cs */ 2
        14: .line 382
            iload 2 /* cs */
            ireturn
        end local 2 // int cs
        end local 1 // jtermios.Termios tios
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Ljtermios/windows/JTermiosImpl;
            0   15     1  tios  Ljtermios/Termios;
            1   15     2    cs  I
    MethodParameters:
      Name  Flags
      tios  

  private static int min(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int a
        start local 1 // int b
         0: .line 386
            iload 0 /* a */
            iload 1 /* b */
            if_icmpge 1
            iload 0 /* a */
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* b */
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int b
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     a  I
            0    3     1     b  I
    MethodParameters:
      Name  Flags
      a     
      b     

  private static int max(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int a
        start local 1 // int b
         0: .line 390
            iload 0 /* a */
            iload 1 /* b */
            if_icmple 1
            iload 0 /* a */
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* b */
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int b
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     a  I
            0    3     1     b  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public int read(int, byte[], int);
    descriptor: (I[BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
        start local 2 // byte[] buffer
        start local 3 // int length
         0: .line 395
            aload 0 /* this */
            iload 1 /* fd */
            invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
            astore 4 /* port */
        start local 4 // jtermios.windows.JTermiosImpl$Port port
         1: .line 396
            aload 4 /* port */
            ifnonnull 3
         2: .line 397
            iconst_m1
            ireturn
         3: .line 398
      StackMap locals: jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdBuffer:Lcom/sun/jna/Memory;
            dup
            astore 5
            monitorenter
         4: .line 401
            iload 3 /* length */
            i2l
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdBuffer:Lcom/sun/jna/Memory;
            invokevirtual com.sun.jna.Memory.size:()J
            lcmp
            ifle 6
         5: .line 402
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdBuffer:Lcom/sun/jna/Memory;
            invokevirtual com.sun.jna.Memory.size:()J
            l2i
            istore 3 /* length */
         6: .line 404
      StackMap locals: com.sun.jna.Memory
      StackMap stack:
            iload 3 /* length */
            ifne 9
         7: .line 405
            aload 5
            monitorexit
         8: iconst_0
            ireturn
         9: .line 409
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_OpenFlags:I
            getstatic jtermios.JTermios.O_NONBLOCK:I
            iand
            ifeq 18
        10: .line 410
            aload 0 /* this */
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
        11: .line 411
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
            istore 6 /* available */
        start local 6 // int available
        12: .line 412
            iload 6 /* available */
            ifne 16
        13: .line 413
            aload 0 /* this */
            getstatic jtermios.JTermios.EAGAIN:I
            putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
        14: .line 414
            aload 5
            monitorexit
        15: iconst_m1
            ireturn
        16: .line 416
      StackMap locals: int
      StackMap stack:
            iload 3 /* length */
            iload 6 /* available */
            invokestatic jtermios.windows.JTermiosImpl.min:(II)I
            istore 3 /* length */
        end local 6 // int available
        17: .line 417
            goto 32
        18: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
        19: .line 419
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
            istore 6 /* available */
        start local 6 // int available
        20: .line 420
            sipush 255
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
            getfield jtermios.Termios.c_cc:[B
            getstatic jtermios.JTermios.VTIME:I
            baload
            iand
            istore 7 /* vtime */
        start local 7 // int vtime
        21: .line 421
            sipush 255
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
            getfield jtermios.Termios.c_cc:[B
            getstatic jtermios.JTermios.VMIN:I
            baload
            iand
            istore 8 /* vmin */
        start local 8 // int vmin
        22: .line 423
            iload 8 /* vmin */
            ifne 27
            iload 7 /* vtime */
            ifne 27
        23: .line 430
            iload 6 /* available */
            ifne 26
        24: .line 431
            aload 5
            monitorexit
        25: iconst_0
            ireturn
        26: .line 432
      StackMap locals: int int int
      StackMap stack:
            iload 3 /* length */
            iload 6 /* available */
            invokestatic jtermios.windows.JTermiosImpl.min:(II)I
            istore 3 /* length */
        27: .line 434
      StackMap locals:
      StackMap stack:
            iload 8 /* vmin */
            ifne 28
        28: .line 448
      StackMap locals:
      StackMap stack:
            iload 8 /* vmin */
            ifle 30
            iload 7 /* vtime */
            ifle 30
        29: .line 455
            iload 8 /* vmin */
            iload 6 /* available */
            invokestatic jtermios.windows.JTermiosImpl.max:(II)I
            iload 3 /* length */
            invokestatic jtermios.windows.JTermiosImpl.min:(II)I
            istore 3 /* length */
        30: .line 457
      StackMap locals:
      StackMap stack:
            iload 8 /* vmin */
            ifle 32
            iload 7 /* vtime */
            ifne 32
        31: .line 464
            iload 8 /* vmin */
            iload 6 /* available */
            invokestatic jtermios.windows.JTermiosImpl.max:(II)I
            iload 3 /* length */
            invokestatic jtermios.windows.JTermiosImpl.min:(II)I
            istore 3 /* length */
        end local 8 // int vmin
        end local 7 // int vtime
        end local 6 // int available
        32: .line 469
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            getfield jtermios.windows.WinAPI$OVERLAPPED.hEvent:Ljtermios/windows/WinAPI$HANDLE;
            invokestatic jtermios.windows.WinAPI.ResetEvent:(Ljtermios/windows/WinAPI$HANDLE;)Z
            ifne 34
        33: .line 470
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        34: .line 472
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdBuffer:Lcom/sun/jna/Memory;
            iload 3 /* length */
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdN:[I
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            invokestatic jtermios.windows.WinAPI.ReadFile:(Ljtermios/windows/WinAPI$HANDLE;Lcom/sun/jna/Pointer;I[ILjtermios/windows/WinAPI$OVERLAPPED;)Z
            ifne 42
        35: .line 473
            invokestatic jtermios.windows.WinAPI.GetLastError:()I
            sipush 997
            if_icmpeq 37
        36: .line 474
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        37: .line 475
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_ReadWaitObjects:[Ljtermios/windows/WinAPI$HANDLE;
            iconst_0
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            getfield jtermios.windows.WinAPI$OVERLAPPED.hEvent:Ljtermios/windows/WinAPI$HANDLE;
            aastore
        38: .line 476
            iconst_2
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_ReadWaitObjects:[Ljtermios/windows/WinAPI$HANDLE;
            iconst_0
            iconst_m1
            invokestatic jtermios.windows.WinAPI.WaitForMultipleObjects:(I[Ljtermios/windows/WinAPI$HANDLE;ZI)I
            ifeq 40
        39: .line 477
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        40: .line 478
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdN:[I
            iconst_1
            invokestatic jtermios.windows.WinAPI.GetOverlappedResult:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$OVERLAPPED;[IZ)Z
            ifne 42
        41: .line 479
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        42: .line 482
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdBuffer:Lcom/sun/jna/Memory;
            lconst_0
            aload 2 /* buffer */
            iconst_0
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdN:[I
            iconst_0
            iaload
            invokevirtual com.sun.jna.Memory.read:(J[BII)V
        43: .line 483
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_RdN:[I
            iconst_0
            iaload
        44: aload 5
            monitorexit
        45: ireturn
        46: .line 484
      StackMap locals:
      StackMap stack: jtermios.windows.JTermiosImpl$Fail
            pop
        47: .line 485
            aload 5
            monitorexit
        48: iconst_m1
            ireturn
        49: .line 398
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        50: athrow
        end local 4 // jtermios.windows.JTermiosImpl$Port port
        end local 3 // int length
        end local 2 // byte[] buffer
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   51     0       this  Ljtermios/windows/JTermiosImpl;
            0   51     1         fd  I
            0   51     2     buffer  [B
            0   51     3     length  I
            1   51     4       port  Ljtermios/windows/JTermiosImpl$Port;
           12   17     6  available  I
           20   32     6  available  I
           21   32     7      vtime  I
           22   32     8       vmin  I
      Exception table:
        from    to  target  type
           4     7      46  Class jtermios.windows.JTermiosImpl$Fail
           9    14      46  Class jtermios.windows.JTermiosImpl$Fail
          16    24      46  Class jtermios.windows.JTermiosImpl$Fail
          26    44      46  Class jtermios.windows.JTermiosImpl$Fail
           4     8      49  any
           9    15      49  any
          16    25      49  any
          26    45      49  any
          46    48      49  any
          49    50      49  any
    MethodParameters:
        Name  Flags
      fd      
      buffer  
      length  

  public int write(int, byte[], int);
    descriptor: (I[BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
        start local 2 // byte[] buffer
        start local 3 // int length
         0: .line 491
            aload 0 /* this */
            iload 1 /* fd */
            invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
            astore 4 /* port */
        start local 4 // jtermios.windows.JTermiosImpl$Port port
         1: .line 492
            aload 4 /* port */
            ifnonnull 3
         2: .line 493
            iconst_m1
            ireturn
         3: .line 495
      StackMap locals: jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
            dup
            astore 5
            monitorenter
         4: .line 497
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WritePending:I
            ifle 18
         5: .line 499
      StackMap locals: com.sun.jna.Memory
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WriteWaitObjects:[Ljtermios/windows/WinAPI$HANDLE;
            iconst_0
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            getfield jtermios.windows.WinAPI$OVERLAPPED.hEvent:Ljtermios/windows/WinAPI$HANDLE;
            aastore
         6: .line 501
            iconst_2
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WriteWaitObjects:[Ljtermios/windows/WinAPI$HANDLE;
            iconst_0
            iconst_m1
            invokestatic jtermios.windows.WinAPI.WaitForMultipleObjects:(I[Ljtermios/windows/WinAPI$HANDLE;ZI)I
            istore 6 /* res */
        start local 6 // int res
         7: .line 502
            iload 6 /* res */
            sipush 258
            if_icmpne 13
         8: .line 503
            aload 0 /* this */
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
         9: .line 504
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 10
            iconst_1
            ldc "write pending, cbInQue %d cbOutQue %d\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            getfield jtermios.windows.WinAPI$COMSTAT.cbOutQue:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 10
            iconst_1
            goto 11
      StackMap locals: int
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: putstatic jtermios.JTermios$JTermiosLogging.log:Z
        12: .line 505
            goto 5
        13: .line 507
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrN:[I
            iconst_0
            invokestatic jtermios.windows.WinAPI.GetOverlappedResult:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$OVERLAPPED;[IZ)Z
            ifne 15
        14: .line 508
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        15: .line 509
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrN:[I
            iconst_0
            iaload
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WritePending:I
            if_icmpeq 17
        16: .line 510
            new java.lang.RuntimeException
            new java.lang.StringBuilder
            dup
            ldc "Windows OVERLAPPED WriteFile failed to write all, tried to write "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WritePending:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " but got "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrN:[I
            iconst_0
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
        end local 6 // int res
        17: .line 513
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            iconst_0
            putfield jtermios.windows.JTermiosImpl$Port.m_WritePending:I
        18: .line 515
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_OpenFlags:I
            getstatic jtermios.JTermios.O_NONBLOCK:I
            iand
            ifeq 24
        19: .line 516
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrErr:[I
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrStat:Ljtermios/windows/WinAPI$COMSTAT;
            invokestatic jtermios.windows.WinAPI.ClearCommError:(Ljtermios/windows/WinAPI$HANDLE;[ILjtermios/windows/WinAPI$COMSTAT;)Z
            ifne 21
        20: .line 517
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        21: .line 518
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
            invokevirtual com.sun.jna.Memory.size:()J
            l2i
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrStat:Ljtermios/windows/WinAPI$COMSTAT;
            getfield jtermios.windows.WinAPI$COMSTAT.cbOutQue:I
            isub
            istore 6 /* room */
        start local 6 // int room
        22: .line 519
            iload 3 /* length */
            iload 6 /* room */
            if_icmple 24
        23: .line 520
            iload 6 /* room */
            istore 3 /* length */
        end local 6 // int room
        24: .line 525
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            getfield jtermios.windows.WinAPI$OVERLAPPED.hEvent:Ljtermios/windows/WinAPI$HANDLE;
            invokestatic jtermios.windows.WinAPI.ResetEvent:(Ljtermios/windows/WinAPI$HANDLE;)Z
            ifne 26
        25: .line 526
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        26: .line 528
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            i2l
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
            invokevirtual com.sun.jna.Memory.size:()J
            lcmp
            ifle 28
        27: .line 529
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
            invokevirtual com.sun.jna.Memory.size:()J
            l2i
            istore 3 /* length */
        28: .line 530
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
            lconst_0
            aload 2 /* buffer */
            iconst_0
            iload 3 /* length */
            invokevirtual com.sun.jna.Memory.write:(J[BII)V
        29: .line 531
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrBuffer:Lcom/sun/jna/Memory;
            iload 3 /* length */
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrN:[I
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WrOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            invokestatic jtermios.windows.WinAPI.WriteFile:(Ljtermios/windows/WinAPI$HANDLE;Lcom/sun/jna/Pointer;I[ILjtermios/windows/WinAPI$OVERLAPPED;)Z
            istore 6 /* ok */
        start local 6 // boolean ok
        30: .line 533
            iload 6 /* ok */
            ifne 34
        31: .line 534
            invokestatic jtermios.windows.WinAPI.GetLastError:()I
            sipush 997
            if_icmpeq 33
        32: .line 535
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        33: .line 536
      StackMap locals: int
      StackMap stack:
            aload 4 /* port */
            iload 3 /* length */
            putfield jtermios.windows.JTermiosImpl$Port.m_WritePending:I
        34: .line 539
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
        35: aload 5
            monitorexit
        36: ireturn
        end local 6 // boolean ok
        37: .line 540
      StackMap locals: jtermios.windows.JTermiosImpl int byte[] int jtermios.windows.JTermiosImpl$Port com.sun.jna.Memory
      StackMap stack: jtermios.windows.JTermiosImpl$Fail
            pop
        38: .line 541
            aload 5
            monitorexit
        39: iconst_m1
            ireturn
        40: .line 495
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        41: athrow
        end local 4 // jtermios.windows.JTermiosImpl$Port port
        end local 3 // int length
        end local 2 // byte[] buffer
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   42     0    this  Ljtermios/windows/JTermiosImpl;
            0   42     1      fd  I
            0   42     2  buffer  [B
            0   42     3  length  I
            1   42     4    port  Ljtermios/windows/JTermiosImpl$Port;
            7   17     6     res  I
           22   24     6    room  I
           30   37     6      ok  Z
      Exception table:
        from    to  target  type
           4    35      37  Class jtermios.windows.JTermiosImpl$Fail
           4    36      40  any
          37    39      40  any
          40    41      40  any
    MethodParameters:
        Name  Flags
      fd      
      buffer  
      length  

  public int close(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
         0: .line 547
            aload 0 /* this */
            iload 1 /* fd */
            invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
            astore 2 /* port */
        start local 2 // jtermios.windows.JTermiosImpl$Port port
         1: .line 548
            aload 2 /* port */
            ifnonnull 3
         2: .line 549
            iconst_m1
            ireturn
         3: .line 550
      StackMap locals: jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            aload 2 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.close:()V
         4: .line 551
            iconst_0
            ireturn
        end local 2 // jtermios.windows.JTermiosImpl$Port port
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljtermios/windows/JTermiosImpl;
            0    5     1    fd  I
            1    5     2  port  Ljtermios/windows/JTermiosImpl$Port;
    MethodParameters:
      Name  Flags
      fd    

  public int tcflush(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int queue
         0: .line 555
            aload 0 /* this */
            iload 1 /* fd */
            invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
            astore 3 /* port */
        start local 3 // jtermios.windows.JTermiosImpl$Port port
         1: .line 556
            aload 3 /* port */
            ifnonnull 3
         2: .line 557
            iconst_m1
            ireturn
         3: .line 559
      StackMap locals: jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            iload 2 /* queue */
            getstatic jtermios.JTermios.TCIFLUSH:I
            if_icmpne 7
         4: .line 560
            aload 3 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            iconst_2
            invokestatic jtermios.windows.WinAPI.PurgeComm:(Ljtermios/windows/WinAPI$HANDLE;I)Z
            ifne 19
         5: .line 561
            aload 3 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
         6: .line 562
            goto 19
      StackMap locals:
      StackMap stack:
         7: iload 2 /* queue */
            getstatic jtermios.JTermios.TCOFLUSH:I
            if_icmpne 11
         8: .line 563
            aload 3 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            iconst_1
            invokestatic jtermios.windows.WinAPI.PurgeComm:(Ljtermios/windows/WinAPI$HANDLE;I)Z
            ifne 19
         9: .line 564
            aload 3 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        10: .line 565
            goto 19
      StackMap locals:
      StackMap stack:
        11: iload 2 /* queue */
            getstatic jtermios.JTermios.TCIOFLUSH:I
            if_icmpne 17
        12: .line 566
            aload 3 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            iconst_1
            invokestatic jtermios.windows.WinAPI.PurgeComm:(Ljtermios/windows/WinAPI$HANDLE;I)Z
            ifne 14
        13: .line 567
            aload 3 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        14: .line 568
      StackMap locals:
      StackMap stack:
            aload 3 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            iconst_2
            invokestatic jtermios.windows.WinAPI.PurgeComm:(Ljtermios/windows/WinAPI$HANDLE;I)Z
            ifne 19
        15: .line 569
            aload 3 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        16: .line 570
            goto 19
        17: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jtermios.JTermios.ENOTSUP:I
            putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
        18: .line 572
            iconst_m1
            ireturn
        19: .line 575
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        20: .line 576
      StackMap locals:
      StackMap stack: jtermios.windows.JTermiosImpl$Fail
            pop
        21: .line 577
            iconst_m1
            ireturn
        end local 3 // jtermios.windows.JTermiosImpl$Port port
        end local 2 // int queue
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0   this  Ljtermios/windows/JTermiosImpl;
            0   22     1     fd  I
            0   22     2  queue  I
            1   22     3   port  Ljtermios/windows/JTermiosImpl$Port;
      Exception table:
        from    to  target  type
           3    18      20  Class jtermios.windows.JTermiosImpl$Fail
    MethodParameters:
       Name  Flags
      fd     
      queue  

  public int tcgetattr(int, jtermios.Termios);
    descriptor: (ILjtermios/Termios;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.Termios termios
         0: .line 593
            aload 0 /* this */
            iload 1 /* fd */
            invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
            astore 3 /* port */
        start local 3 // jtermios.windows.JTermiosImpl$Port port
         1: .line 594
            aload 3 /* port */
            ifnonnull 3
         2: .line 595
            iconst_m1
            ireturn
         3: .line 596
      StackMap locals: jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            aload 2 /* termios */
            aload 3 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
            invokevirtual jtermios.Termios.set:(Ljtermios/Termios;)V
         4: .line 597
            iconst_0
            ireturn
        end local 3 // jtermios.windows.JTermiosImpl$Port port
        end local 2 // jtermios.Termios termios
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljtermios/windows/JTermiosImpl;
            0    5     1       fd  I
            0    5     2  termios  Ljtermios/Termios;
            1    5     3     port  Ljtermios/windows/JTermiosImpl$Port;
    MethodParameters:
         Name  Flags
      fd       
      termios  

  public int tcsendbreak(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int duration
         0: .line 601
            aload 0 /* this */
            iload 1 /* fd */
            invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
            astore 3 /* port */
        start local 3 // jtermios.windows.JTermiosImpl$Port port
         1: .line 602
            aload 3 /* port */
            ifnonnull 3
         2: .line 603
            iconst_m1
            ireturn
         3: .line 605
      StackMap locals: jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            aload 3 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            invokestatic jtermios.windows.WinAPI.SetCommBreak:(Ljtermios/windows/WinAPI$HANDLE;)Z
            ifne 5
         4: .line 606
            aload 3 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
         5: .line 607
      StackMap locals:
      StackMap stack:
            iload 2 /* duration */
            i2l
            ldc 250000000
            lmul
            invokestatic jtermios.windows.JTermiosImpl.nanoSleep:(J)V
         6: .line 608
            aload 3 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            invokestatic jtermios.windows.WinAPI.ClearCommBreak:(Ljtermios/windows/WinAPI$HANDLE;)Z
            ifne 8
         7: .line 609
            aload 3 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
         8: .line 610
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         9: .line 611
      StackMap locals:
      StackMap stack: jtermios.windows.JTermiosImpl$Fail
            pop
        10: .line 612
            iconst_m1
            ireturn
        end local 3 // jtermios.windows.JTermiosImpl$Port port
        end local 2 // int duration
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Ljtermios/windows/JTermiosImpl;
            0   11     1        fd  I
            0   11     2  duration  I
            1   11     3      port  Ljtermios/windows/JTermiosImpl$Port;
      Exception table:
        from    to  target  type
           3     8       9  Class jtermios.windows.JTermiosImpl$Fail
    MethodParameters:
          Name  Flags
      fd        
      duration  

  public int tcsetattr(int, int, jtermios.Termios);
    descriptor: (IILjtermios/Termios;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // jtermios.Termios termios
         0: .line 617
            iload 2 /* cmd */
            getstatic jtermios.JTermios.TCSANOW:I
            if_icmpeq 2
         1: .line 618
            iconst_0
            ldc "tcsetattr only supports TCSANOW\n"
            iconst_0
            anewarray java.lang.Object
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            pop
         2: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* fd */
            invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
            astore 4 /* port */
        start local 4 // jtermios.windows.JTermiosImpl$Port port
         3: .line 621
            aload 4 /* port */
            ifnonnull 5
         4: .line 622
            iconst_m1
            ireturn
         5: .line 623
      StackMap locals: jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
            dup
            astore 5
            monitorenter
         6: .line 625
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
            aload 3 /* termios */
            invokevirtual jtermios.Termios.set:(Ljtermios/Termios;)V
         7: .line 626
            aload 0 /* this */
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl.updateFromTermios:(Ljtermios/windows/JTermiosImpl$Port;)I
            pop
         8: .line 627
            aload 5
            monitorexit
         9: iconst_0
            ireturn
        10: .line 628
      StackMap locals: jtermios.windows.JTermiosImpl int int jtermios.Termios jtermios.windows.JTermiosImpl$Port jtermios.Termios
      StackMap stack: jtermios.windows.JTermiosImpl$Fail
            pop
        11: .line 629
            aload 5
            monitorexit
        12: iconst_m1
            ireturn
        13: .line 623
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        14: athrow
        end local 4 // jtermios.windows.JTermiosImpl$Port port
        end local 3 // jtermios.Termios termios
        end local 2 // int cmd
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Ljtermios/windows/JTermiosImpl;
            0   15     1       fd  I
            0   15     2      cmd  I
            0   15     3  termios  Ljtermios/Termios;
            3   15     4     port  Ljtermios/windows/JTermiosImpl$Port;
      Exception table:
        from    to  target  type
           6     8      10  Class jtermios.windows.JTermiosImpl$Fail
           6     9      13  any
          10    12      13  any
          13    14      13  any
    MethodParameters:
         Name  Flags
      fd       
      cmd      
      termios  

  public int updateFromTermios(jtermios.windows.JTermiosImpl$Port);
    descriptor: (Ljtermios/windows/JTermiosImpl$Port;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // jtermios.windows.JTermiosImpl$Port port
         0: .line 636
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
            astore 2 /* tios */
        start local 2 // jtermios.Termios tios
         1: .line 637
            aload 2 /* tios */
            getfield jtermios.Termios.c_ospeed:I
            istore 3 /* c_speed */
        start local 3 // int c_speed
         2: .line 638
            aload 2 /* tios */
            getfield jtermios.Termios.c_cflag:I
            istore 4 /* c_cflag */
        start local 4 // int c_cflag
         3: .line 639
            aload 2 /* tios */
            getfield jtermios.Termios.c_iflag:I
            istore 5 /* c_iflag */
        start local 5 // int c_iflag
         4: .line 640
            aload 2 /* tios */
            getfield jtermios.Termios.c_oflag:I
            istore 6 /* c_oflag */
        start local 6 // int c_oflag
         5: .line 642
            iload 3 /* c_speed */
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_c_speed:I
            if_icmpne 6
            iload 4 /* c_cflag */
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_c_cflag:I
            if_icmpne 6
            iload 5 /* c_iflag */
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_c_iflag:I
            if_icmpne 6
            iload 6 /* c_oflag */
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_c_oflag:I
            if_icmpeq 63
         6: .line 643
      StackMap locals: jtermios.windows.JTermiosImpl jtermios.windows.JTermiosImpl$Port jtermios.Termios int int int int
      StackMap stack:
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_DCB:Ljtermios/windows/WinAPI$DCB;
            astore 7 /* dcb */
        start local 7 // jtermios.windows.WinAPI$DCB dcb
         7: .line 644
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 7 /* dcb */
            invokestatic jtermios.windows.WinAPI.GetCommState:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$DCB;)Z
            ifne 9
         8: .line 645
            aload 1 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
         9: .line 647
      StackMap locals: jtermios.windows.WinAPI$DCB
      StackMap stack:
            aload 7 /* dcb */
            aload 7 /* dcb */
            invokevirtual jtermios.windows.WinAPI$DCB.size:()I
            putfield jtermios.windows.WinAPI$DCB.DCBlength:I
        10: .line 648
            aload 7 /* dcb */
            iload 3 /* c_speed */
            putfield jtermios.windows.WinAPI$DCB.BaudRate:I
        11: .line 649
            aload 2 /* tios */
            getfield jtermios.Termios.c_ospeed:I
            aload 2 /* tios */
            getfield jtermios.Termios.c_ispeed:I
            if_icmpeq 13
        12: .line 650
            iconst_0
            ldc "c_ospeed (%d) != c_ispeed (%d)\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* tios */
            getfield jtermios.Termios.c_ospeed:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 2 /* tios */
            getfield jtermios.Termios.c_ispeed:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            pop
        13: .line 651
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* flags */
        start local 8 // int flags
        14: .line 654
            iload 8 /* flags */
            iconst_1
            ior
            istore 8 /* flags */
        15: .line 655
            iload 4 /* c_cflag */
            getstatic jtermios.JTermios.PARENB:I
            iand
            ifeq 17
        16: .line 656
            iload 8 /* flags */
            iconst_2
            ior
            istore 8 /* flags */
        17: .line 658
      StackMap locals: int
      StackMap stack:
            iload 5 /* c_iflag */
            getstatic jtermios.JTermios.IXON:I
            iand
            ifeq 19
        18: .line 659
            iload 8 /* flags */
            sipush 256
            ior
            istore 8 /* flags */
        19: .line 660
      StackMap locals:
      StackMap stack:
            iload 5 /* c_iflag */
            getstatic jtermios.JTermios.IXOFF:I
            iand
            ifeq 21
        20: .line 661
            iload 8 /* flags */
            sipush 512
            ior
            istore 8 /* flags */
        21: .line 662
      StackMap locals:
      StackMap stack:
            iload 5 /* c_iflag */
            getstatic jtermios.JTermios.IXANY:I
            iand
            ifeq 23
        22: .line 663
            iload 8 /* flags */
            sipush 128
            ior
            istore 8 /* flags */
        23: .line 665
      StackMap locals:
      StackMap stack:
            iload 5 /* c_iflag */
            getstatic jtermios.JTermios.CRTSCTS:I
            iand
            ifeq 26
        24: .line 666
            iload 8 /* flags */
            sipush 12288
            ior
            istore 8 /* flags */
        25: .line 667
            iload 8 /* flags */
            iconst_4
            ior
            istore 8 /* flags */
        26: .line 678
      StackMap locals:
      StackMap stack:
            aload 7 /* dcb */
            iload 8 /* flags */
            putfield jtermios.windows.WinAPI$DCB.fFlags:I
        27: .line 682
            bipush 8
            istore 9 /* cs */
        start local 9 // byte cs
        28: .line 683
            iload 4 /* c_cflag */
            getstatic jtermios.JTermios.CSIZE:I
            iand
            istore 10 /* csize */
        start local 10 // int csize
        29: .line 684
            iload 10 /* csize */
            getstatic jtermios.JTermios.CS5:I
            if_icmpne 31
        30: .line 685
            iconst_5
            istore 9 /* cs */
        31: .line 686
      StackMap locals: int int
      StackMap stack:
            iload 10 /* csize */
            getstatic jtermios.JTermios.CS6:I
            if_icmpne 33
        32: .line 687
            bipush 6
            istore 9 /* cs */
        33: .line 688
      StackMap locals:
      StackMap stack:
            iload 10 /* csize */
            getstatic jtermios.JTermios.CS7:I
            if_icmpne 35
        34: .line 689
            bipush 7
            istore 9 /* cs */
        35: .line 690
      StackMap locals:
      StackMap stack:
            iload 10 /* csize */
            getstatic jtermios.JTermios.CS8:I
            if_icmpne 37
        36: .line 691
            bipush 8
            istore 9 /* cs */
        37: .line 692
      StackMap locals:
      StackMap stack:
            aload 7 /* dcb */
            iload 9 /* cs */
            putfield jtermios.windows.WinAPI$DCB.ByteSize:B
        38: .line 694
            iload 4 /* c_cflag */
            getstatic jtermios.JTermios.PARENB:I
            iand
            ifeq 47
        39: .line 695
            iload 4 /* c_cflag */
            getstatic jtermios.JTermios.PARODD:I
            iand
            ifeq 41
            iload 4 /* c_cflag */
            getstatic jtermios.JTermios.CMSPAR:I
            iand
            ifeq 41
        40: .line 696
            aload 7 /* dcb */
            iconst_3
            putfield jtermios.windows.WinAPI$DCB.Parity:B
            goto 48
        41: .line 697
      StackMap locals:
      StackMap stack:
            iload 4 /* c_cflag */
            getstatic jtermios.JTermios.PARODD:I
            iand
            ifeq 43
        42: .line 698
            aload 7 /* dcb */
            iconst_1
            putfield jtermios.windows.WinAPI$DCB.Parity:B
            goto 48
        43: .line 699
      StackMap locals:
      StackMap stack:
            iload 4 /* c_cflag */
            getstatic jtermios.JTermios.CMSPAR:I
            iand
            ifeq 45
        44: .line 700
            aload 7 /* dcb */
            iconst_4
            putfield jtermios.windows.WinAPI$DCB.Parity:B
            goto 48
        45: .line 702
      StackMap locals:
      StackMap stack:
            aload 7 /* dcb */
            iconst_2
            putfield jtermios.windows.WinAPI$DCB.Parity:B
        46: .line 703
            goto 48
        47: .line 704
      StackMap locals:
      StackMap stack:
            aload 7 /* dcb */
            iconst_0
            putfield jtermios.windows.WinAPI$DCB.Parity:B
        48: .line 706
      StackMap locals:
      StackMap stack:
            aload 7 /* dcb */
            iload 4 /* c_cflag */
            getstatic jtermios.JTermios.CSTOPB:I
            iand
            ifeq 50
            iload 10 /* csize */
            getstatic jtermios.JTermios.CS5:I
            if_icmpne 49
            iconst_1
            goto 51
      StackMap locals:
      StackMap stack: jtermios.windows.WinAPI$DCB
        49: iconst_2
            goto 51
      StackMap locals:
      StackMap stack: jtermios.windows.WinAPI$DCB
        50: iconst_0
      StackMap locals: jtermios.windows.JTermiosImpl jtermios.windows.JTermiosImpl$Port jtermios.Termios int int int int jtermios.windows.WinAPI$DCB int int int
      StackMap stack: jtermios.windows.WinAPI$DCB int
        51: putfield jtermios.windows.WinAPI$DCB.StopBits:B
        52: .line 707
            aload 7 /* dcb */
            aload 2 /* tios */
            getfield jtermios.Termios.c_cc:[B
            getstatic jtermios.JTermios.VSTART:I
            baload
            putfield jtermios.windows.WinAPI$DCB.XonChar:B
        53: .line 708
            aload 7 /* dcb */
            aload 2 /* tios */
            getfield jtermios.Termios.c_cc:[B
            getstatic jtermios.JTermios.VSTOP:I
            baload
            putfield jtermios.windows.WinAPI$DCB.XoffChar:B
        54: .line 709
            aload 7 /* dcb */
            iconst_0
            putfield jtermios.windows.WinAPI$DCB.ErrorChar:B
        55: .line 719
            aload 7 /* dcb */
            bipush 10
            putfield jtermios.windows.WinAPI$DCB.EvtChar:B
        56: .line 720
            aload 7 /* dcb */
            aload 2 /* tios */
            getfield jtermios.Termios.c_cc:[B
            getstatic jtermios.JTermios.VEOF:I
            baload
            putfield jtermios.windows.WinAPI$DCB.EofChar:B
        57: .line 722
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 7 /* dcb */
            invokestatic jtermios.windows.WinAPI.SetCommState:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$DCB;)Z
            ifne 59
        58: .line 723
            aload 1 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        59: .line 725
      StackMap locals:
      StackMap stack:
            aload 1 /* port */
            iload 3 /* c_speed */
            putfield jtermios.windows.JTermiosImpl$Port.m_c_speed:I
        60: .line 726
            aload 1 /* port */
            iload 4 /* c_cflag */
            putfield jtermios.windows.JTermiosImpl$Port.m_c_cflag:I
        61: .line 727
            aload 1 /* port */
            iload 5 /* c_iflag */
            putfield jtermios.windows.JTermiosImpl$Port.m_c_iflag:I
        62: .line 728
            aload 1 /* port */
            iload 6 /* c_oflag */
            putfield jtermios.windows.JTermiosImpl$Port.m_c_oflag:I
        end local 10 // int csize
        end local 9 // byte cs
        end local 8 // int flags
        end local 7 // jtermios.windows.WinAPI$DCB dcb
        63: .line 731
      StackMap locals: jtermios.windows.JTermiosImpl jtermios.windows.JTermiosImpl$Port jtermios.Termios int int int int
      StackMap stack:
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
            getfield jtermios.Termios.c_cc:[B
            getstatic jtermios.JTermios.VMIN:I
            baload
            sipush 255
            iand
            istore 7 /* vmin */
        start local 7 // int vmin
        64: .line 732
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Termios:Ljtermios/Termios;
            getfield jtermios.Termios.c_cc:[B
            getstatic jtermios.JTermios.VTIME:I
            baload
            sipush 255
            iand
            bipush 100
            imul
            istore 8 /* vtime */
        start local 8 // int vtime
        65: .line 733
            iload 7 /* vmin */
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_VMIN:I
            if_icmpne 66
            iload 8 /* vtime */
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_VTIME:I
            if_icmpeq 92
        66: .line 734
      StackMap locals: int int
      StackMap stack:
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Timeouts:Ljtermios/windows/WinAPI$COMMTIMEOUTS;
            astore 9 /* touts */
        start local 9 // jtermios.windows.WinAPI$COMMTIMEOUTS touts
        67: .line 737
            aload 9 /* touts */
            iconst_0
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.WriteTotalTimeoutConstant:I
        68: .line 738
            aload 9 /* touts */
            iconst_0
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.WriteTotalTimeoutMultiplier:I
        69: .line 739
            iload 7 /* vmin */
            ifne 73
            iload 8 /* vtime */
            ifne 73
        70: .line 742
            aload 9 /* touts */
            iconst_m1
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadIntervalTimeout:I
        71: .line 743
            aload 9 /* touts */
            iconst_0
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutConstant:I
        72: .line 744
            aload 9 /* touts */
            iconst_0
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutMultiplier:I
        73: .line 746
      StackMap locals: jtermios.windows.WinAPI$COMMTIMEOUTS
      StackMap stack:
            iload 7 /* vmin */
            ifne 77
            iload 8 /* vtime */
            ifle 77
        74: .line 749
            aload 9 /* touts */
            iconst_0
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadIntervalTimeout:I
        75: .line 750
            aload 9 /* touts */
            iload 8 /* vtime */
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutConstant:I
        76: .line 751
            aload 9 /* touts */
            iconst_0
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutMultiplier:I
        77: .line 753
      StackMap locals:
      StackMap stack:
            iload 7 /* vmin */
            ifle 81
            iload 8 /* vtime */
            ifle 81
        78: .line 756
            aload 9 /* touts */
            iload 8 /* vtime */
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadIntervalTimeout:I
        79: .line 757
            aload 9 /* touts */
            iconst_0
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutConstant:I
        80: .line 758
            aload 9 /* touts */
            iconst_0
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutMultiplier:I
        81: .line 760
      StackMap locals:
      StackMap stack:
            iload 7 /* vmin */
            ifle 85
            iload 8 /* vtime */
            ifne 85
        82: .line 763
            aload 9 /* touts */
            iconst_0
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadIntervalTimeout:I
        83: .line 764
            aload 9 /* touts */
            iconst_0
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutConstant:I
        84: .line 765
            aload 9 /* touts */
            iconst_0
            putfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutMultiplier:I
        85: .line 767
      StackMap locals:
      StackMap stack:
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Timeouts:Ljtermios/windows/WinAPI$COMMTIMEOUTS;
            invokestatic jtermios.windows.WinAPI.SetCommTimeouts:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$COMMTIMEOUTS;)Z
            ifne 87
        86: .line 768
            aload 1 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        87: .line 769
      StackMap locals:
      StackMap stack:
            aload 1 /* port */
            iload 7 /* vmin */
            putfield jtermios.windows.JTermiosImpl$Port.m_VMIN:I
        88: .line 770
            aload 1 /* port */
            iload 8 /* vtime */
            putfield jtermios.windows.JTermiosImpl$Port.m_VTIME:I
        89: .line 771
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 90
            iconst_2
            ldc "vmin %d vtime %d ReadIntervalTimeout %d ReadTotalTimeoutConstant %d ReadTotalTimeoutMultiplier %d\n"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            iload 7 /* vmin */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 8 /* vtime */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 9 /* touts */
            getfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadIntervalTimeout:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 9 /* touts */
            getfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutConstant:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            aload 9 /* touts */
            getfield jtermios.windows.WinAPI$COMMTIMEOUTS.ReadTotalTimeoutMultiplier:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 90
            iconst_1
            goto 91
      StackMap locals:
      StackMap stack:
        90: iconst_0
      StackMap locals:
      StackMap stack: int
        91: putstatic jtermios.JTermios$JTermiosLogging.log:Z
        end local 9 // jtermios.windows.WinAPI$COMMTIMEOUTS touts
        92: .line 774
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 8 // int vtime
        end local 7 // int vmin
        end local 6 // int c_oflag
        end local 5 // int c_iflag
        end local 4 // int c_cflag
        end local 3 // int c_speed
        end local 2 // jtermios.Termios tios
        end local 1 // jtermios.windows.JTermiosImpl$Port port
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   93     0     this  Ljtermios/windows/JTermiosImpl;
            0   93     1     port  Ljtermios/windows/JTermiosImpl$Port;
            1   93     2     tios  Ljtermios/Termios;
            2   93     3  c_speed  I
            3   93     4  c_cflag  I
            4   93     5  c_iflag  I
            5   93     6  c_oflag  I
            7   63     7      dcb  Ljtermios/windows/WinAPI$DCB;
           14   63     8    flags  I
           28   63     9       cs  B
           29   63    10    csize  I
           64   93     7     vmin  I
           65   93     8    vtime  I
           67   92     9    touts  Ljtermios/windows/WinAPI$COMMTIMEOUTS;
    Exceptions:
      throws jtermios.windows.JTermiosImpl$Fail
    MethodParameters:
      Name  Flags
      port  

  private int maskToFDSets(jtermios.windows.JTermiosImpl$Port, jtermios.JTermios$FDSet, jtermios.JTermios$FDSet, jtermios.JTermios$FDSet, int);
    descriptor: (Ljtermios/windows/JTermiosImpl$Port;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=6
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // jtermios.windows.JTermiosImpl$Port port
        start local 2 // jtermios.JTermios$FDSet readfds
        start local 3 // jtermios.JTermios$FDSet writefds
        start local 4 // jtermios.JTermios$FDSet exceptfds
        start local 5 // int ready
         0: .line 778
            aload 0 /* this */
            aload 1 /* port */
            invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
         1: .line 779
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_EventFlags:Lcom/sun/jna/ptr/IntByReference;
            invokevirtual com.sun.jna.ptr.IntByReference.getValue:()I
            istore 6 /* emask */
        start local 6 // int emask
         2: .line 780
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_FD:I
            istore 7 /* fd */
        start local 7 // int fd
         3: .line 781
            iload 6 /* emask */
            iconst_1
            iand
            ifeq 6
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
            ifle 6
         4: .line 782
            aload 0 /* this */
            iload 7 /* fd */
            aload 2 /* readfds */
            invokevirtual jtermios.windows.JTermiosImpl.FD_SET:(ILjtermios/JTermios$FDSet;)V
         5: .line 783
            iinc 5 /* ready */ 1
         6: .line 785
      StackMap locals: int int
      StackMap stack:
            iload 6 /* emask */
            iconst_4
            iand
            ifeq 9
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            getfield jtermios.windows.WinAPI$COMSTAT.cbOutQue:I
            ifne 9
         7: .line 786
            aload 0 /* this */
            iload 7 /* fd */
            aload 3 /* writefds */
            invokevirtual jtermios.windows.JTermiosImpl.FD_SET:(ILjtermios/JTermios$FDSet;)V
         8: .line 787
            iinc 5 /* ready */ 1
         9: .line 789
      StackMap locals:
      StackMap stack:
            iload 5 /* ready */
            ireturn
        end local 7 // int fd
        end local 6 // int emask
        end local 5 // int ready
        end local 4 // jtermios.JTermios$FDSet exceptfds
        end local 3 // jtermios.JTermios$FDSet writefds
        end local 2 // jtermios.JTermios$FDSet readfds
        end local 1 // jtermios.windows.JTermiosImpl$Port port
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Ljtermios/windows/JTermiosImpl;
            0   10     1       port  Ljtermios/windows/JTermiosImpl$Port;
            0   10     2    readfds  Ljtermios/JTermios$FDSet;
            0   10     3   writefds  Ljtermios/JTermios$FDSet;
            0   10     4  exceptfds  Ljtermios/JTermios$FDSet;
            0   10     5      ready  I
            2   10     6      emask  I
            3   10     7         fd  I
    Exceptions:
      throws jtermios.windows.JTermiosImpl$Fail
    MethodParameters:
           Name  Flags
      port       
      readfds    
      writefds   
      exceptfds  
      ready      

  private void clearCommErrors(jtermios.windows.JTermiosImpl$Port);
    descriptor: (Ljtermios/windows/JTermiosImpl$Port;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // jtermios.windows.JTermiosImpl$Port port
         0: .line 793
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            dup
            astore 2
            monitorenter
         1: .line 794
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_ClearErr:[I
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            invokestatic jtermios.windows.WinAPI.ClearCommError:(Ljtermios/windows/WinAPI$HANDLE;[ILjtermios/windows/WinAPI$COMSTAT;)Z
            ifne 3
         2: .line 795
            aload 1 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
         3: .line 793
      StackMap locals: jtermios.windows.WinAPI$COMSTAT
      StackMap stack:
            aload 2
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 797
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jtermios.windows.JTermiosImpl$Port port
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljtermios/windows/JTermiosImpl;
            0    8     1  port  Ljtermios/windows/JTermiosImpl$Port;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    Exceptions:
      throws jtermios.windows.JTermiosImpl$Fail
    MethodParameters:
      Name  Flags
      port  

  public int select(int, jtermios.JTermios$FDSet, jtermios.JTermios$FDSet, jtermios.JTermios$FDSet, jtermios.TimeVal);
    descriptor: (ILjtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/TimeVal;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=20, args_size=6
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int n
        start local 2 // jtermios.JTermios$FDSet readfds
        start local 3 // jtermios.JTermios$FDSet writefds
        start local 4 // jtermios.JTermios$FDSet exceptfds
        start local 5 // jtermios.TimeVal timeout
         0: .line 801
            iconst_0
            istore 6 /* ready */
        start local 6 // int ready
         1: .line 802
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 7 /* locked */
        start local 7 // java.util.LinkedList locked
         2: .line 805
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 8 /* waiting */
        start local 8 // java.util.LinkedList waiting
         3: .line 806
            iconst_0
            istore 9 /* fd */
        start local 9 // int fd
         4: goto 60
         5: .line 807
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int
      StackMap stack:
            aload 0 /* this */
            iload 9 /* fd */
            aload 2 /* readfds */
            invokevirtual jtermios.windows.JTermiosImpl.FD_ISSET:(ILjtermios/JTermios$FDSet;)Z
            istore 10 /* rd */
        start local 10 // boolean rd
         6: .line 808
            aload 0 /* this */
            iload 9 /* fd */
            aload 3 /* writefds */
            invokevirtual jtermios.windows.JTermiosImpl.FD_ISSET:(ILjtermios/JTermios$FDSet;)Z
            istore 11 /* wr */
        start local 11 // boolean wr
         7: .line 809
            aload 0 /* this */
            iload 9 /* fd */
            aload 2 /* readfds */
            invokevirtual jtermios.windows.JTermiosImpl.FD_CLR:(ILjtermios/JTermios$FDSet;)V
         8: .line 810
            aload 0 /* this */
            iload 9 /* fd */
            aload 3 /* writefds */
            invokevirtual jtermios.windows.JTermiosImpl.FD_CLR:(ILjtermios/JTermios$FDSet;)V
         9: .line 811
            iload 10 /* rd */
            ifne 10
            iload 11 /* wr */
            ifeq 59
        10: .line 812
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 9 /* fd */
            invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
            astore 12 /* port */
        start local 12 // jtermios.windows.JTermiosImpl$Port port
        11: .line 813
            aload 12 /* port */
            ifnonnull 17
        12: .line 944
            aload 7 /* locked */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 19
            goto 15
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int int int jtermios.windows.JTermiosImpl$Port top top top top top top java.util.Iterator
      StackMap stack:
        13: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 18 /* port */
        start local 18 // jtermios.windows.JTermiosImpl$Port port
        14: .line 945
            aload 18 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
        end local 18 // jtermios.windows.JTermiosImpl$Port port
        15: .line 944
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 814
            iconst_m1
            ireturn
        17: .line 816
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int int int jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            aload 12 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.lock:()V
        18: .line 817
            aload 7 /* locked */
            aload 12 /* port */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        19: .line 818
            aload 0 /* this */
            aload 12 /* port */
            invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
        20: .line 825
            iload 10 /* rd */
            ifeq 23
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
            ifle 23
        21: .line 826
            aload 0 /* this */
            iload 9 /* fd */
            aload 2 /* readfds */
            invokevirtual jtermios.windows.JTermiosImpl.FD_SET:(ILjtermios/JTermios$FDSet;)V
        22: .line 827
            iinc 6 /* ready */ 1
        23: .line 830
      StackMap locals:
      StackMap stack:
            iload 11 /* wr */
            ifeq 26
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            getfield jtermios.windows.WinAPI$COMSTAT.cbOutQue:I
            ifne 26
        24: .line 831
            aload 0 /* this */
            iload 9 /* fd */
            aload 3 /* writefds */
            invokevirtual jtermios.windows.JTermiosImpl.FD_SET:(ILjtermios/JTermios$FDSet;)V
        25: .line 832
            iinc 6 /* ready */ 1
        26: .line 835
      StackMap locals:
      StackMap stack:
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_WaitPending:Z
            ifeq 33
        27: .line 836
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            iconst_0
            invokestatic jtermios.windows.WinAPI.SetCommMask:(Ljtermios/windows/WinAPI$HANDLE;I)Z
            ifne 29
        28: .line 837
            aload 12 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        29: .line 838
      StackMap locals:
      StackMap stack:
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_SelOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_SelN:[I
            iconst_0
            invokestatic jtermios.windows.WinAPI.GetOverlappedResult:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$OVERLAPPED;[IZ)Z
            ifne 32
        30: .line 839
            invokestatic jtermios.windows.WinAPI.GetLastError:()I
            sipush 996
            if_icmpeq 32
        31: .line 840
            aload 12 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        32: .line 842
      StackMap locals:
      StackMap stack:
            aload 12 /* port */
            iconst_0
            putfield jtermios.windows.JTermiosImpl$Port.m_WaitPending:Z
        33: .line 845
      StackMap locals:
      StackMap stack:
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_SelOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            getfield jtermios.windows.WinAPI$OVERLAPPED.hEvent:Ljtermios/windows/WinAPI$HANDLE;
            invokestatic jtermios.windows.WinAPI.ResetEvent:(Ljtermios/windows/WinAPI$HANDLE;)Z
            ifne 35
        34: .line 846
            aload 12 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        35: .line 848
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* flags */
        start local 13 // int flags
        36: .line 849
            iload 10 /* rd */
            ifeq 38
        37: .line 850
            iload 13 /* flags */
            iconst_1
            ior
            istore 13 /* flags */
        38: .line 851
      StackMap locals: int
      StackMap stack:
            iload 11 /* wr */
            ifeq 40
        39: .line 852
            iload 13 /* flags */
            iconst_4
            ior
            istore 13 /* flags */
        40: .line 854
      StackMap locals:
      StackMap stack:
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            iload 13 /* flags */
            invokestatic jtermios.windows.WinAPI.SetCommMask:(Ljtermios/windows/WinAPI$HANDLE;I)Z
            ifne 42
        41: .line 855
            aload 12 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        42: .line 857
      StackMap locals:
      StackMap stack:
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_EventFlags:Lcom/sun/jna/ptr/IntByReference;
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_SelOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            invokestatic jtermios.windows.WinAPI.WaitCommEvent:(Ljtermios/windows/WinAPI$HANDLE;Lcom/sun/jna/ptr/IntByReference;Ljtermios/windows/WinAPI$OVERLAPPED;)Z
            ifeq 47
        43: .line 858
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_SelOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_SelN:[I
            iconst_0
            invokestatic jtermios.windows.WinAPI.GetOverlappedResult:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$OVERLAPPED;[IZ)Z
            ifne 45
        44: .line 859
            aload 12 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        45: .line 862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* port */
            aload 2 /* readfds */
            aload 3 /* writefds */
            aload 4 /* exceptfds */
            iload 6 /* ready */
            invokevirtual jtermios.windows.JTermiosImpl.maskToFDSets:(Ljtermios/windows/JTermiosImpl$Port;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;I)I
            istore 6 /* ready */
        46: .line 863
            goto 59
        47: .line 867
      StackMap locals:
      StackMap stack:
            invokestatic jtermios.windows.WinAPI.GetLastError:()I
            sipush 997
            if_icmpeq 49
            invokestatic jtermios.windows.WinAPI.GetLastError:()I
            bipush 87
            if_icmpeq 49
        48: .line 868
            aload 12 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        49: .line 869
      StackMap locals:
      StackMap stack:
            aload 8 /* waiting */
            aload 12 /* port */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        50: .line 870
            aload 12 /* port */
            iconst_1
            putfield jtermios.windows.JTermiosImpl$Port.m_WaitPending:Z
        end local 13 // int flags
        51: .line 872
            goto 59
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int int int jtermios.windows.JTermiosImpl$Port
      StackMap stack: java.lang.InterruptedException
        52: pop
        53: .line 873
            aload 0 /* this */
            getstatic jtermios.JTermios.EINTR:I
            putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
        54: .line 944
            aload 7 /* locked */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 19
            goto 57
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int int int jtermios.windows.JTermiosImpl$Port top top top top top top java.util.Iterator
      StackMap stack:
        55: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 18 /* port */
        start local 18 // jtermios.windows.JTermiosImpl$Port port
        56: .line 945
            aload 18 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
        end local 18 // jtermios.windows.JTermiosImpl$Port port
        57: .line 944
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 55
        58: .line 874
            iconst_m1
            ireturn
        end local 12 // jtermios.windows.JTermiosImpl$Port port
        end local 11 // boolean wr
        end local 10 // boolean rd
        59: .line 806
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int
      StackMap stack:
            iinc 9 /* fd */ 1
      StackMap locals:
      StackMap stack:
        60: iload 9 /* fd */
            iload 1 /* n */
            if_icmplt 5
        end local 9 // int fd
        61: .line 879
            iload 6 /* ready */
            ifne 145
        62: .line 880
            aload 8 /* waiting */
            invokevirtual java.util.LinkedList.size:()I
            istore 9 /* waitn */
        start local 9 // int waitn
        63: .line 881
            iload 9 /* waitn */
            ifle 119
        64: .line 882
            aload 8 /* waiting */
            invokevirtual java.util.LinkedList.size:()I
            iconst_2
            imul
            anewarray jtermios.windows.WinAPI$HANDLE
            astore 10 /* wobj */
        start local 10 // jtermios.windows.WinAPI$HANDLE[] wobj
        65: .line 883
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        66: .line 884
            aload 8 /* waiting */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 13
            goto 70
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int top java.util.Iterator
      StackMap stack:
        67: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 12 /* port */
        start local 12 // jtermios.windows.JTermiosImpl$Port port
        68: .line 885
            aload 10 /* wobj */
            iload 11 /* i */
            iinc 11 /* i */ 1
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_SelOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            getfield jtermios.windows.WinAPI$OVERLAPPED.hEvent:Ljtermios/windows/WinAPI$HANDLE;
            aastore
        69: .line 886
            aload 10 /* wobj */
            iload 11 /* i */
            iinc 11 /* i */ 1
            aload 12 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.WaitCommEventCancelObject:Ljtermios/windows/WinAPI$HANDLE;
            aastore
        end local 12 // jtermios.windows.JTermiosImpl$Port port
        70: .line 884
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 67
        71: .line 888
            aload 5 /* timeout */
            ifnull 72
            aload 5 /* timeout */
            getfield jtermios.TimeVal.tv_sec:J
            ldc 1000
            lmul
            aload 5 /* timeout */
            getfield jtermios.TimeVal.tv_usec:J
            ldc 1000
            ldiv
            ladd
            l2i
            goto 73
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int
      StackMap stack:
        72: iconst_m1
      StackMap locals:
      StackMap stack: int
        73: istore 12 /* tout */
        start local 12 // int tout
        74: .line 890
            iload 9 /* waitn */
            iconst_2
            imul
            aload 10 /* wobj */
            iconst_0
            iload 12 /* tout */
            invokestatic jtermios.windows.WinAPI.WaitForMultipleObjects:(I[Ljtermios/windows/WinAPI$HANDLE;ZI)I
            istore 13 /* res */
        start local 13 // int res
        75: .line 892
            iload 13 /* res */
            sipush 258
            if_icmpne 103
        76: .line 895
            aload 8 /* waiting */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 15
            goto 102
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int top java.util.Iterator
      StackMap stack:
        77: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 14 /* port */
        start local 14 // jtermios.windows.JTermiosImpl$Port port
        78: .line 896
            aload 0 /* this */
            aload 14 /* port */
            invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
        79: .line 897
            iconst_1
            newarray 10
            astore 16 /* mask */
        start local 16 // int[] mask
        80: .line 899
            aload 14 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 16 /* mask */
            invokestatic jtermios.windows.WinAPI.GetCommMask:(Ljtermios/windows/WinAPI$HANDLE;[I)Z
            ifne 82
        81: .line 900
            aload 14 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        82: .line 901
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int jtermios.windows.JTermiosImpl$Port java.util.Iterator int[]
      StackMap stack:
            aload 14 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
            ifle 92
            aload 16 /* mask */
            iconst_0
            iaload
            iconst_1
            iand
            ifeq 92
        83: .line 902
            aload 0 /* this */
            aload 14 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_FD:I
            aload 2 /* readfds */
            invokevirtual jtermios.windows.JTermiosImpl.FD_SET:(ILjtermios/JTermios$FDSet;)V
        84: .line 903
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 85
            iconst_1
            ldc "missed EV_RXCHAR event\n"
            iconst_0
            anewarray java.lang.Object
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 85
            iconst_1
            goto 86
      StackMap locals:
      StackMap stack:
        85: iconst_0
      StackMap locals:
      StackMap stack: int
        86: putstatic jtermios.JTermios$JTermiosLogging.log:Z
        87: .line 944
            aload 7 /* locked */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 19
            goto 90
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int jtermios.windows.JTermiosImpl$Port java.util.Iterator int[] top top java.util.Iterator
      StackMap stack:
        88: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 18 /* port */
        start local 18 // jtermios.windows.JTermiosImpl$Port port
        89: .line 945
            aload 18 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
        end local 18 // jtermios.windows.JTermiosImpl$Port port
        90: .line 944
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 88
        91: .line 904
            iconst_1
            ireturn
        92: .line 906
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int jtermios.windows.JTermiosImpl$Port java.util.Iterator int[]
      StackMap stack:
            aload 14 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            getfield jtermios.windows.WinAPI$COMSTAT.cbOutQue:I
            ifne 102
            aload 16 /* mask */
            iconst_0
            iaload
            iconst_4
            iand
            ifeq 102
        93: .line 907
            aload 0 /* this */
            aload 14 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_FD:I
            aload 3 /* writefds */
            invokevirtual jtermios.windows.JTermiosImpl.FD_SET:(ILjtermios/JTermios$FDSet;)V
        94: .line 908
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 95
            iconst_1
            ldc "missed EV_TXEMPTY event\n"
            iconst_0
            anewarray java.lang.Object
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 95
            iconst_1
            goto 96
      StackMap locals:
      StackMap stack:
        95: iconst_0
      StackMap locals:
      StackMap stack: int
        96: putstatic jtermios.JTermios$JTermiosLogging.log:Z
        97: .line 944
            aload 7 /* locked */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 19
            goto 100
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int jtermios.windows.JTermiosImpl$Port java.util.Iterator int[] top top java.util.Iterator
      StackMap stack:
        98: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 18 /* port */
        start local 18 // jtermios.windows.JTermiosImpl$Port port
        99: .line 945
            aload 18 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
        end local 18 // jtermios.windows.JTermiosImpl$Port port
       100: .line 944
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 98
       101: .line 909
            iconst_1
            ireturn
        end local 16 // int[] mask
        end local 14 // jtermios.windows.JTermiosImpl$Port port
       102: .line 895
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int top java.util.Iterator
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 77
       103: .line 914
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int
      StackMap stack:
            iload 13 /* res */
            sipush 258
            if_icmpeq 145
       104: .line 915
            iload 13 /* res */
            iconst_0
            isub
            iconst_2
            idiv
            istore 11 /* i */
       105: .line 916
            iload 11 /* i */
            iflt 106
            iload 11 /* i */
            iload 9 /* waitn */
            if_icmplt 107
       106: .line 917
      StackMap locals:
      StackMap stack:
            new jtermios.windows.JTermiosImpl$Fail
            dup
            invokespecial jtermios.windows.JTermiosImpl$Fail.<init>:()V
            athrow
       107: .line 918
      StackMap locals:
      StackMap stack:
            iload 13 /* res */
            iconst_0
            isub
            iconst_1
            iand
            iconst_1
            if_icmpne 113
       108: .line 944
            aload 7 /* locked */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 19
            goto 111
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int top top top top top java.util.Iterator
      StackMap stack:
       109: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 18 /* port */
        start local 18 // jtermios.windows.JTermiosImpl$Port port
       110: .line 945
            aload 18 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
        end local 18 // jtermios.windows.JTermiosImpl$Port port
       111: .line 944
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 109
       112: .line 920
            iconst_0
            ireturn
       113: .line 922
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int jtermios.windows.WinAPI$HANDLE[] int int int
      StackMap stack:
            aload 8 /* waiting */
            iload 11 /* i */
            invokevirtual java.util.LinkedList.get:(I)Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 14 /* port */
        start local 14 // jtermios.windows.JTermiosImpl$Port port
       114: .line 923
            aload 14 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 14 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_SelOVL:Ljtermios/windows/WinAPI$OVERLAPPED;
            aload 14 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_SelN:[I
            iconst_0
            invokestatic jtermios.windows.WinAPI.GetOverlappedResult:(Ljtermios/windows/WinAPI$HANDLE;Ljtermios/windows/WinAPI$OVERLAPPED;[IZ)Z
            ifne 116
       115: .line 924
            aload 14 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
       116: .line 926
      StackMap locals: jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            aload 0 /* this */
            aload 14 /* port */
            aload 2 /* readfds */
            aload 3 /* writefds */
            aload 4 /* exceptfds */
            iload 6 /* ready */
            invokevirtual jtermios.windows.JTermiosImpl.maskToFDSets:(Ljtermios/windows/JTermiosImpl$Port;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;Ljtermios/JTermios$FDSet;I)I
            istore 6 /* ready */
       117: .line 927
            aload 14 /* port */
            iconst_0
            putfield jtermios.windows.JTermiosImpl$Port.m_WaitPending:Z
        end local 14 // jtermios.windows.JTermiosImpl$Port port
        end local 13 // int res
        end local 12 // int tout
        end local 11 // int i
        end local 10 // jtermios.windows.WinAPI$HANDLE[] wobj
       118: .line 929
            goto 145
       119: .line 930
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int
      StackMap stack:
            aload 5 /* timeout */
            ifnull 121
       120: .line 931
            aload 5 /* timeout */
            getfield jtermios.TimeVal.tv_sec:J
            ldc 1000000000
            lmul
            aload 5 /* timeout */
            getfield jtermios.TimeVal.tv_usec:J
            ldc 1000
            lmul
            ladd
            invokestatic jtermios.windows.JTermiosImpl.nanoSleep:(J)V
            goto 127
       121: .line 933
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jtermios.JTermios.EINVAL:I
            putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
       122: .line 944
            aload 7 /* locked */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 19
            goto 125
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int top top top top top top top top top java.util.Iterator
      StackMap stack:
       123: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 18 /* port */
        start local 18 // jtermios.windows.JTermiosImpl$Port port
       124: .line 945
            aload 18 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
        end local 18 // jtermios.windows.JTermiosImpl$Port port
       125: .line 944
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 123
       126: .line 934
            iconst_m1
            ireturn
       127: .line 944
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int
      StackMap stack:
            aload 7 /* locked */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 19
            goto 130
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList java.util.LinkedList int top top top top top top top top top java.util.Iterator
      StackMap stack:
       128: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 18 /* port */
        start local 18 // jtermios.windows.JTermiosImpl$Port port
       129: .line 945
            aload 18 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
        end local 18 // jtermios.windows.JTermiosImpl$Port port
       130: .line 944
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 128
       131: .line 936
            iconst_0
            ireturn
        end local 9 // int waitn
        end local 8 // java.util.LinkedList waiting
       132: .line 939
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList
      StackMap stack: jtermios.windows.JTermiosImpl$Fail
            astore 8 /* f */
        start local 8 // jtermios.windows.JTermiosImpl$Fail f
       133: .line 940
            aload 8 /* f */
            invokevirtual jtermios.windows.JTermiosImpl$Fail.printStackTrace:()V
       134: .line 944
            aload 7 /* locked */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 19
            goto 137
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList jtermios.windows.JTermiosImpl$Fail top top top top top top top top top top java.util.Iterator
      StackMap stack:
       135: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 18 /* port */
        start local 18 // jtermios.windows.JTermiosImpl$Port port
       136: .line 945
            aload 18 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
        end local 18 // jtermios.windows.JTermiosImpl$Port port
       137: .line 944
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 135
       138: .line 941
            iconst_m1
            ireturn
        end local 8 // jtermios.windows.JTermiosImpl$Fail f
       139: .line 943
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList
      StackMap stack: java.lang.Throwable
            astore 17
       140: .line 944
            aload 7 /* locked */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 19
            goto 143
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList top top top top top top top top top java.lang.Throwable top java.util.Iterator
      StackMap stack:
       141: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 18 /* port */
        start local 18 // jtermios.windows.JTermiosImpl$Port port
       142: .line 945
            aload 18 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
        end local 18 // jtermios.windows.JTermiosImpl$Port port
       143: .line 944
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 141
       144: .line 947
            aload 17
            athrow
       145: .line 944
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList
      StackMap stack:
            aload 7 /* locked */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 19
            goto 148
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.JTermios$FDSet jtermios.TimeVal int java.util.LinkedList top top top top top top top top top top top java.util.Iterator
      StackMap stack:
       146: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 18 /* port */
        start local 18 // jtermios.windows.JTermiosImpl$Port port
       147: .line 945
            aload 18 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.unlock:()V
        end local 18 // jtermios.windows.JTermiosImpl$Port port
       148: .line 944
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 146
       149: .line 951
            iload 6 /* ready */
            ireturn
        end local 7 // java.util.LinkedList locked
        end local 6 // int ready
        end local 5 // jtermios.TimeVal timeout
        end local 4 // jtermios.JTermios$FDSet exceptfds
        end local 3 // jtermios.JTermios$FDSet writefds
        end local 2 // jtermios.JTermios$FDSet readfds
        end local 1 // int n
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  150     0       this  Ljtermios/windows/JTermiosImpl;
            0  150     1          n  I
            0  150     2    readfds  Ljtermios/JTermios$FDSet;
            0  150     3   writefds  Ljtermios/JTermios$FDSet;
            0  150     4  exceptfds  Ljtermios/JTermios$FDSet;
            0  150     5    timeout  Ljtermios/TimeVal;
            1  150     6      ready  I
            2  150     7     locked  Ljava/util/LinkedList<Ljtermios/windows/JTermiosImpl$Port;>;
            3  132     8    waiting  Ljava/util/LinkedList<Ljtermios/windows/JTermiosImpl$Port;>;
            4   61     9         fd  I
            6   59    10         rd  Z
            7   59    11         wr  Z
           11   59    12       port  Ljtermios/windows/JTermiosImpl$Port;
           36   51    13      flags  I
           63  132     9      waitn  I
           65  118    10       wobj  [Ljtermios/windows/WinAPI$HANDLE;
           66  118    11          i  I
           68   70    12       port  Ljtermios/windows/JTermiosImpl$Port;
           74  118    12       tout  I
           75  118    13        res  I
           78  102    14       port  Ljtermios/windows/JTermiosImpl$Port;
           80  102    16       mask  [I
          114  118    14       port  Ljtermios/windows/JTermiosImpl$Port;
          133  139     8          f  Ljtermios/windows/JTermiosImpl$Fail;
           14   15    18       port  Ljtermios/windows/JTermiosImpl$Port;
           56   57    18       port  Ljtermios/windows/JTermiosImpl$Port;
           89   90    18       port  Ljtermios/windows/JTermiosImpl$Port;
           99  100    18       port  Ljtermios/windows/JTermiosImpl$Port;
          110  111    18       port  Ljtermios/windows/JTermiosImpl$Port;
          124  125    18       port  Ljtermios/windows/JTermiosImpl$Port;
          129  130    18       port  Ljtermios/windows/JTermiosImpl$Port;
          136  137    18       port  Ljtermios/windows/JTermiosImpl$Port;
          142  143    18       port  Ljtermios/windows/JTermiosImpl$Port;
          147  148    18       port  Ljtermios/windows/JTermiosImpl$Port;
      Exception table:
        from    to  target  type
          17    51      52  Class java.lang.InterruptedException
           2    12     132  Class jtermios.windows.JTermiosImpl$Fail
          17    54     132  Class jtermios.windows.JTermiosImpl$Fail
          59    87     132  Class jtermios.windows.JTermiosImpl$Fail
          92    97     132  Class jtermios.windows.JTermiosImpl$Fail
         102   108     132  Class jtermios.windows.JTermiosImpl$Fail
         113   122     132  Class jtermios.windows.JTermiosImpl$Fail
           2    12     139  any
          17    54     139  any
          59    87     139  any
          92    97     139  any
         102   108     139  any
         113   122     139  any
         132   134     139  any
    MethodParameters:
           Name  Flags
      n          
      readfds    
      writefds   
      exceptfds  
      timeout    

  public int poll(jtermios.Pollfd[], int, int);
    descriptor: ([Ljtermios/Pollfd;II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // jtermios.Pollfd[] fds
        start local 2 // int nfds
        start local 3 // int timeout
         0: .line 955
            aload 0 /* this */
            getstatic jtermios.JTermios.EINVAL:I
            putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
         1: .line 956
            iconst_m1
            ireturn
        end local 3 // int timeout
        end local 2 // int nfds
        end local 1 // jtermios.Pollfd[] fds
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljtermios/windows/JTermiosImpl;
            0    2     1      fds  [Ljtermios/Pollfd;
            0    2     2     nfds  I
            0    2     3  timeout  I
    MethodParameters:
         Name  Flags
      fds      
      nfds     
      timeout  

  public int poll(int[], int, int);
    descriptor: ([III)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int[] fds
        start local 2 // int nfds
        start local 3 // int timeout
         0: .line 960
            aload 0 /* this */
            getstatic jtermios.JTermios.EINVAL:I
            putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
         1: .line 961
            iconst_m1
            ireturn
        end local 3 // int timeout
        end local 2 // int nfds
        end local 1 // int[] fds
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljtermios/windows/JTermiosImpl;
            0    2     1      fds  [I
            0    2     2     nfds  I
            0    2     3  timeout  I
    MethodParameters:
         Name  Flags
      fds      
      nfds     
      timeout  

  public boolean canPoll();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jtermios.windows.JTermiosImpl this
         0: .line 965
            iconst_0
            ireturn
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/windows/JTermiosImpl;

  public void perror(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // java.lang.String msg
         0: .line 969
            aload 1 /* msg */
            ifnull 2
            aload 1 /* msg */
            invokevirtual java.lang.String.length:()I
            ifle 2
         1: .line 970
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 1 /* msg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         2: .line 971
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "%d\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield jtermios.windows.JTermiosImpl.m_ErrNo:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
         3: .line 972
            return
        end local 1 // java.lang.String msg
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljtermios/windows/JTermiosImpl;
            0    4     1   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  private static int baudToDCB(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int baud
         0: .line 979
            iload 0 /* baud */
            lookupswitch { // 14
                  110: 1
                  300: 2
                  600: 3
                 1200: 4
                 2400: 5
                 4800: 6
                 9600: 7
                14400: 8
                19200: 9
                38400: 10
                57600: 11
               115200: 12
               128000: 13
               256000: 14
              default: 15
          }
         1: .line 981
      StackMap locals:
      StackMap stack:
            bipush 110
            ireturn
         2: .line 983
      StackMap locals:
      StackMap stack:
            sipush 300
            ireturn
         3: .line 985
      StackMap locals:
      StackMap stack:
            sipush 600
            ireturn
         4: .line 987
      StackMap locals:
      StackMap stack:
            sipush 1200
            ireturn
         5: .line 989
      StackMap locals:
      StackMap stack:
            sipush 2400
            ireturn
         6: .line 991
      StackMap locals:
      StackMap stack:
            sipush 4800
            ireturn
         7: .line 993
      StackMap locals:
      StackMap stack:
            sipush 9600
            ireturn
         8: .line 995
      StackMap locals:
      StackMap stack:
            sipush 14400
            ireturn
         9: .line 997
      StackMap locals:
      StackMap stack:
            sipush 19200
            ireturn
        10: .line 999
      StackMap locals:
      StackMap stack:
            ldc 38400
            ireturn
        11: .line 1001
      StackMap locals:
      StackMap stack:
            ldc 57600
            ireturn
        12: .line 1003
      StackMap locals:
      StackMap stack:
            ldc 115200
            ireturn
        13: .line 1005
      StackMap locals:
      StackMap stack:
            ldc 128000
            ireturn
        14: .line 1007
      StackMap locals:
      StackMap stack:
            ldc 256000
            ireturn
        15: .line 1010
      StackMap locals:
      StackMap stack:
            iload 0 /* baud */
            ireturn
        end local 0 // int baud
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  baud  I
    MethodParameters:
      Name  Flags
      baud  

  public jtermios.JTermios$FDSet newFDSet();
    descriptor: ()Ljtermios/JTermios$FDSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jtermios.windows.JTermiosImpl this
         0: .line 1015
            new jtermios.windows.JTermiosImpl$FDSetImpl
            dup
            invokespecial jtermios.windows.JTermiosImpl$FDSetImpl.<init>:()V
            areturn
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/windows/JTermiosImpl;

  public void FD_CLR(int, jtermios.JTermios$FDSet);
    descriptor: (ILjtermios/JTermios$FDSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.JTermios$FDSet set
         0: .line 1019
            aload 2 /* set */
            ifnonnull 2
         1: .line 1020
            return
         2: .line 1021
      StackMap locals:
      StackMap stack:
            aload 2 /* set */
            checkcast jtermios.windows.JTermiosImpl$FDSetImpl
            astore 3 /* p */
        start local 3 // jtermios.windows.JTermiosImpl$FDSetImpl p
         3: .line 1022
            aload 3 /* p */
            getfield jtermios.windows.JTermiosImpl$FDSetImpl.bits:[I
            iload 1 /* fd */
            bipush 32
            idiv
            dup2
            iaload
            iconst_1
            iload 1 /* fd */
            bipush 32
            irem
            ishl
            iconst_m1
            ixor
            iand
            iastore
         4: .line 1023
            return
        end local 3 // jtermios.windows.JTermiosImpl$FDSetImpl p
        end local 2 // jtermios.JTermios$FDSet set
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljtermios/windows/JTermiosImpl;
            0    5     1    fd  I
            0    5     2   set  Ljtermios/JTermios$FDSet;
            3    5     3     p  Ljtermios/windows/JTermiosImpl$FDSetImpl;
    MethodParameters:
      Name  Flags
      fd    
      set   

  public boolean FD_ISSET(int, jtermios.JTermios$FDSet);
    descriptor: (ILjtermios/JTermios$FDSet;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.JTermios$FDSet set
         0: .line 1026
            aload 2 /* set */
            ifnonnull 2
         1: .line 1027
            iconst_0
            ireturn
         2: .line 1028
      StackMap locals:
      StackMap stack:
            aload 2 /* set */
            checkcast jtermios.windows.JTermiosImpl$FDSetImpl
            astore 3 /* p */
        start local 3 // jtermios.windows.JTermiosImpl$FDSetImpl p
         3: .line 1029
            aload 3 /* p */
            getfield jtermios.windows.JTermiosImpl$FDSetImpl.bits:[I
            iload 1 /* fd */
            bipush 32
            idiv
            iaload
            iconst_1
            iload 1 /* fd */
            bipush 32
            irem
            ishl
            iand
            ifeq 4
            iconst_1
            ireturn
      StackMap locals: jtermios.windows.JTermiosImpl$FDSetImpl
      StackMap stack:
         4: iconst_0
            ireturn
        end local 3 // jtermios.windows.JTermiosImpl$FDSetImpl p
        end local 2 // jtermios.JTermios$FDSet set
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljtermios/windows/JTermiosImpl;
            0    5     1    fd  I
            0    5     2   set  Ljtermios/JTermios$FDSet;
            3    5     3     p  Ljtermios/windows/JTermiosImpl$FDSetImpl;
    MethodParameters:
      Name  Flags
      fd    
      set   

  public void FD_SET(int, jtermios.JTermios$FDSet);
    descriptor: (ILjtermios/JTermios$FDSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.JTermios$FDSet set
         0: .line 1033
            aload 2 /* set */
            ifnonnull 2
         1: .line 1034
            return
         2: .line 1035
      StackMap locals:
      StackMap stack:
            aload 2 /* set */
            checkcast jtermios.windows.JTermiosImpl$FDSetImpl
            astore 3 /* p */
        start local 3 // jtermios.windows.JTermiosImpl$FDSetImpl p
         3: .line 1036
            aload 3 /* p */
            getfield jtermios.windows.JTermiosImpl$FDSetImpl.bits:[I
            iload 1 /* fd */
            bipush 32
            idiv
            dup2
            iaload
            iconst_1
            iload 1 /* fd */
            bipush 32
            irem
            ishl
            ior
            iastore
         4: .line 1037
            return
        end local 3 // jtermios.windows.JTermiosImpl$FDSetImpl p
        end local 2 // jtermios.JTermios$FDSet set
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljtermios/windows/JTermiosImpl;
            0    5     1    fd  I
            0    5     2   set  Ljtermios/JTermios$FDSet;
            3    5     3     p  Ljtermios/windows/JTermiosImpl$FDSetImpl;
    MethodParameters:
      Name  Flags
      fd    
      set   

  public void FD_ZERO(jtermios.JTermios$FDSet);
    descriptor: (Ljtermios/JTermios$FDSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // jtermios.JTermios$FDSet set
         0: .line 1040
            aload 1 /* set */
            ifnonnull 2
         1: .line 1041
            return
         2: .line 1042
      StackMap locals:
      StackMap stack:
            aload 1 /* set */
            checkcast jtermios.windows.JTermiosImpl$FDSetImpl
            astore 2 /* p */
        start local 2 // jtermios.windows.JTermiosImpl$FDSetImpl p
         3: .line 1043
            aload 2 /* p */
            getfield jtermios.windows.JTermiosImpl$FDSetImpl.bits:[I
            iconst_0
            invokestatic java.util.Arrays.fill:([II)V
         4: .line 1044
            return
        end local 2 // jtermios.windows.JTermiosImpl$FDSetImpl p
        end local 1 // jtermios.JTermios$FDSet set
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljtermios/windows/JTermiosImpl;
            0    5     1   set  Ljtermios/JTermios$FDSet;
            3    5     2     p  Ljtermios/windows/JTermiosImpl$FDSetImpl;
    MethodParameters:
      Name  Flags
      set   

  public int ioctl(int, int, int[]);
    descriptor: (II[I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
        start local 2 // int cmd
        start local 3 // int[] arg
         0: .line 1047
            aload 0 /* this */
            iload 1 /* fd */
            invokevirtual jtermios.windows.JTermiosImpl.getPort:(I)Ljtermios/windows/JTermiosImpl$Port;
            astore 4 /* port */
        start local 4 // jtermios.windows.JTermiosImpl$Port port
         1: .line 1048
            aload 4 /* port */
            ifnonnull 3
         2: .line 1049
            iconst_m1
            ireturn
         3: .line 1051
      StackMap locals: jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            iload 2 /* cmd */
            getstatic jtermios.JTermios.FIONREAD:I
            if_icmpne 7
         4: .line 1052
            aload 0 /* this */
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl.clearCommErrors:(Ljtermios/windows/JTermiosImpl$Port;)V
         5: .line 1053
            aload 3 /* arg */
            iconst_0
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_COMSTAT:Ljtermios/windows/WinAPI$COMSTAT;
            getfield jtermios.windows.WinAPI$COMSTAT.cbInQue:I
            iastore
         6: .line 1054
            iconst_0
            ireturn
         7: .line 1055
      StackMap locals:
      StackMap stack:
            iload 2 /* cmd */
            getstatic jtermios.JTermios.TIOCMSET:I
            if_icmpne 24
         8: .line 1056
            aload 3 /* arg */
            iconst_0
            iaload
            istore 5 /* a */
        start local 5 // int a
         9: .line 1057
            iload 5 /* a */
            getstatic jtermios.JTermios.TIOCM_DTR:I
            iand
            ifeq 11
        10: .line 1058
            aload 4 /* port */
            dup
            getfield jtermios.windows.JTermiosImpl$Port.MSR:I
            getstatic jtermios.JTermios.TIOCM_DTR:I
            ior
            putfield jtermios.windows.JTermiosImpl$Port.MSR:I
            goto 12
        11: .line 1060
      StackMap locals: int
      StackMap stack:
            aload 4 /* port */
            dup
            getfield jtermios.windows.JTermiosImpl$Port.MSR:I
            getstatic jtermios.JTermios.TIOCM_DTR:I
            iconst_m1
            ixor
            iand
            putfield jtermios.windows.JTermiosImpl$Port.MSR:I
        12: .line 1062
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            iload 5 /* a */
            getstatic jtermios.JTermios.TIOCM_DTR:I
            iand
            ifeq 13
            iconst_5
            goto 14
      StackMap locals:
      StackMap stack: jtermios.windows.WinAPI$HANDLE
        13: bipush 6
      StackMap locals: jtermios.windows.JTermiosImpl int int int[] jtermios.windows.JTermiosImpl$Port int
      StackMap stack: jtermios.windows.WinAPI$HANDLE int
        14: invokestatic jtermios.windows.WinAPI.EscapeCommFunction:(Ljtermios/windows/WinAPI$HANDLE;I)Z
            ifne 16
        15: .line 1063
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        16: .line 1065
      StackMap locals:
      StackMap stack:
            iload 5 /* a */
            getstatic jtermios.JTermios.TIOCM_RTS:I
            iand
            ifeq 18
        17: .line 1066
            aload 4 /* port */
            dup
            getfield jtermios.windows.JTermiosImpl$Port.MSR:I
            getstatic jtermios.JTermios.TIOCM_RTS:I
            ior
            putfield jtermios.windows.JTermiosImpl$Port.MSR:I
            goto 19
        18: .line 1068
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            dup
            getfield jtermios.windows.JTermiosImpl$Port.MSR:I
            getstatic jtermios.JTermios.TIOCM_RTS:I
            iconst_m1
            ixor
            iand
            putfield jtermios.windows.JTermiosImpl$Port.MSR:I
        19: .line 1069
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            iload 5 /* a */
            getstatic jtermios.JTermios.TIOCM_RTS:I
            iand
            ifeq 20
            iconst_3
            goto 21
      StackMap locals:
      StackMap stack: jtermios.windows.WinAPI$HANDLE
        20: iconst_4
      StackMap locals: jtermios.windows.JTermiosImpl int int int[] jtermios.windows.JTermiosImpl$Port int
      StackMap stack: jtermios.windows.WinAPI$HANDLE int
        21: invokestatic jtermios.windows.WinAPI.EscapeCommFunction:(Ljtermios/windows/WinAPI$HANDLE;I)Z
            ifne 23
        22: .line 1070
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        23: .line 1071
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int a
        24: .line 1072
      StackMap locals:
      StackMap stack:
            iload 2 /* cmd */
            getstatic jtermios.JTermios.TIOCMGET:I
            if_icmpne 50
        25: .line 1073
            iconst_1
            newarray 10
            astore 5 /* stat */
        start local 5 // int[] stat
        26: .line 1074
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_Comm:Ljtermios/windows/WinAPI$HANDLE;
            aload 5 /* stat */
            invokestatic jtermios.windows.WinAPI.GetCommModemStatus:(Ljtermios/windows/WinAPI$HANDLE;[I)Z
            ifne 28
        27: .line 1075
            aload 4 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.fail:()V
        28: .line 1076
      StackMap locals: int[]
      StackMap stack:
            aload 5 /* stat */
            iconst_0
            iaload
            istore 6 /* s */
        start local 6 // int s
        29: .line 1077
            aload 3 /* arg */
            iconst_0
            iaload
            istore 7 /* a */
        start local 7 // int a
        30: .line 1078
            iload 6 /* s */
            sipush 128
            iand
            ifeq 32
        31: .line 1079
            iload 7 /* a */
            getstatic jtermios.JTermios.TIOCM_CAR:I
            ior
            istore 7 /* a */
            goto 33
        32: .line 1081
      StackMap locals: int int
      StackMap stack:
            iload 7 /* a */
            getstatic jtermios.JTermios.TIOCM_CAR:I
            iconst_m1
            ixor
            iand
            istore 7 /* a */
        33: .line 1082
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            bipush 64
            iand
            ifeq 35
        34: .line 1083
            iload 7 /* a */
            getstatic jtermios.JTermios.TIOCM_RNG:I
            ior
            istore 7 /* a */
            goto 36
        35: .line 1085
      StackMap locals:
      StackMap stack:
            iload 7 /* a */
            getstatic jtermios.JTermios.TIOCM_RNG:I
            iconst_m1
            ixor
            iand
            istore 7 /* a */
        36: .line 1086
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            bipush 32
            iand
            ifeq 38
        37: .line 1087
            iload 7 /* a */
            getstatic jtermios.JTermios.TIOCM_DSR:I
            ior
            istore 7 /* a */
            goto 39
        38: .line 1089
      StackMap locals:
      StackMap stack:
            iload 7 /* a */
            getstatic jtermios.JTermios.TIOCM_DSR:I
            iconst_m1
            ixor
            iand
            istore 7 /* a */
        39: .line 1090
      StackMap locals:
      StackMap stack:
            iload 6 /* s */
            bipush 16
            iand
            ifeq 41
        40: .line 1091
            iload 7 /* a */
            getstatic jtermios.JTermios.TIOCM_CTS:I
            ior
            istore 7 /* a */
            goto 42
        41: .line 1093
      StackMap locals:
      StackMap stack:
            iload 7 /* a */
            getstatic jtermios.JTermios.TIOCM_CTS:I
            iconst_m1
            ixor
            iand
            istore 7 /* a */
        42: .line 1095
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.MSR:I
            getstatic jtermios.JTermios.TIOCM_DTR:I
            iand
            ifeq 44
        43: .line 1096
            iload 7 /* a */
            getstatic jtermios.JTermios.TIOCM_DTR:I
            ior
            istore 7 /* a */
            goto 45
        44: .line 1098
      StackMap locals:
      StackMap stack:
            iload 7 /* a */
            getstatic jtermios.JTermios.TIOCM_DTR:I
            iconst_m1
            ixor
            iand
            istore 7 /* a */
        45: .line 1099
      StackMap locals:
      StackMap stack:
            aload 4 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.MSR:I
            getstatic jtermios.JTermios.TIOCM_RTS:I
            iand
            ifeq 47
        46: .line 1100
            iload 7 /* a */
            getstatic jtermios.JTermios.TIOCM_RTS:I
            ior
            istore 7 /* a */
            goto 48
        47: .line 1102
      StackMap locals:
      StackMap stack:
            iload 7 /* a */
            getstatic jtermios.JTermios.TIOCM_RTS:I
            iconst_m1
            ixor
            iand
            istore 7 /* a */
        48: .line 1103
      StackMap locals:
      StackMap stack:
            aload 3 /* arg */
            iconst_0
            iload 7 /* a */
            iastore
        49: .line 1105
            iconst_0
            ireturn
        end local 7 // int a
        end local 6 // int s
        end local 5 // int[] stat
        50: .line 1107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic jtermios.JTermios.ENOTSUP:I
            putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
        51: .line 1108
            iconst_m1
            ireturn
        52: .line 1110
      StackMap locals:
      StackMap stack: jtermios.windows.JTermiosImpl$Fail
            pop
        53: .line 1111
            iconst_m1
            ireturn
        end local 4 // jtermios.windows.JTermiosImpl$Port port
        end local 3 // int[] arg
        end local 2 // int cmd
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   54     0  this  Ljtermios/windows/JTermiosImpl;
            0   54     1    fd  I
            0   54     2   cmd  I
            0   54     3   arg  [I
            1   54     4  port  Ljtermios/windows/JTermiosImpl$Port;
            9   24     5     a  I
           26   50     5  stat  [I
           29   50     6     s  I
           30   50     7     a  I
      Exception table:
        from    to  target  type
           3     6      52  Class jtermios.windows.JTermiosImpl$Fail
           7    23      52  Class jtermios.windows.JTermiosImpl$Fail
          24    49      52  Class jtermios.windows.JTermiosImpl$Fail
          50    51      52  Class jtermios.windows.JTermiosImpl$Fail
    MethodParameters:
      Name  Flags
      fd    
      cmd   
      arg   

  private void set_errno(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int x
         0: .line 1116
            aload 0 /* this */
            iload 1 /* x */
            putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
         1: .line 1117
            return
        end local 1 // int x
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljtermios/windows/JTermiosImpl;
            0    2     1     x  I
    MethodParameters:
      Name  Flags
      x     

  private void report(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // java.lang.String msg
         0: .line 1120
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* msg */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 1121
            return
        end local 1 // java.lang.String msg
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljtermios/windows/JTermiosImpl;
            0    2     1   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  private jtermios.windows.JTermiosImpl$Port getPort(int);
    descriptor: (I)Ljtermios/windows/JTermiosImpl$Port;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
         0: .line 1124
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 1125
            aload 0 /* this */
            getfield jtermios.windows.JTermiosImpl.m_OpenPorts:Ljava/util/Hashtable;
            iload 1 /* fd */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 3 /* port */
        start local 3 // jtermios.windows.JTermiosImpl$Port port
         2: .line 1126
            aload 3 /* port */
            ifnonnull 4
         3: .line 1127
            aload 0 /* this */
            getstatic jtermios.JTermios.EBADF:I
            putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
         4: .line 1128
      StackMap locals: jtermios.windows.JTermiosImpl jtermios.windows.JTermiosImpl$Port
      StackMap stack:
            aload 3 /* port */
            aload 2
            monitorexit
         5: areturn
        end local 3 // jtermios.windows.JTermiosImpl$Port port
         6: .line 1124
      StackMap locals: jtermios.windows.JTermiosImpl int jtermios.windows.JTermiosImpl
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         7: athrow
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljtermios/windows/JTermiosImpl;
            0    8     1    fd  I
            2    6     3  port  Ljtermios/windows/JTermiosImpl$Port;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
      Name  Flags
      fd    

  private static java.lang.String getString(byte[], int);
    descriptor: ([BI)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // byte[] buffer
        start local 1 // int offset
         0: .line 1133
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* s */
        start local 2 // java.lang.StringBuffer s
         1: .line 1135
            goto 3
        start local 3 // byte c
         2: .line 1136
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 2 /* s */
            iload 3 /* c */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // byte c
         3: .line 1135
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            iload 1 /* offset */
            iinc 1 /* offset */ 1
            baload
            dup
            istore 3 /* c */
        start local 3 // byte c
         4: ifne 2
         5: .line 1137
            aload 2 /* s */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // byte c
        end local 2 // java.lang.StringBuffer s
        end local 1 // int offset
        end local 0 // byte[] buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  buffer  [B
            0    6     1  offset  I
            1    6     2       s  Ljava/lang/StringBuffer;
            2    3     3       c  B
            4    6     3       c  B
    MethodParameters:
        Name  Flags
      buffer  
      offset  

  public java.lang.String getPortNamePattern();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jtermios.windows.JTermiosImpl this
         0: .line 1141
            ldc "^COM.*"
            areturn
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljtermios/windows/JTermiosImpl;

  public java.util.List<java.lang.String> getPortList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=1
        start local 0 // jtermios.windows.JTermiosImpl this
         0: .line 1145
            aload 0 /* this */
            invokestatic jtermios.JTermios.getPortNamePattern:(Ljtermios/JTermios$JTermiosInterface;)Ljava/util/regex/Pattern;
            astore 1 /* p */
        start local 1 // java.util.regex.Pattern p
         1: .line 1147
            iconst_0
            istore 3 /* size */
        start local 3 // int size
         2: .line 1148
            sipush 16384
            istore 3 /* size */
            goto 22
         3: .line 1149
      StackMap locals: jtermios.windows.JTermiosImpl java.util.regex.Pattern top int
      StackMap stack:
            iload 3 /* size */
            newarray 8
            astore 2 /* buffer */
        start local 2 // byte[] buffer
         4: .line 1150
            aconst_null
            aload 2 /* buffer */
            aload 2 /* buffer */
            arraylength
            invokestatic jtermios.windows.WinAPI.QueryDosDevice:(Ljava/lang/String;[BI)I
            istore 4 /* res */
        start local 4 // int res
         5: .line 1151
            iload 4 /* res */
            ifle 15
         6: .line 1152
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 5 /* list */
        start local 5 // java.util.LinkedList list
         7: .line 1153
            iconst_0
            istore 6 /* offset */
        start local 6 // int offset
         8: .line 1155
            goto 12
        start local 7 // java.lang.String port
         9: .line 1156
      StackMap locals: jtermios.windows.JTermiosImpl java.util.regex.Pattern byte[] int int java.util.LinkedList int java.lang.String
      StackMap stack:
            aload 1 /* p */
            aload 7 /* port */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 11
        10: .line 1157
            aload 5 /* list */
            aload 7 /* port */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        11: .line 1159
      StackMap locals:
      StackMap stack:
            iload 6 /* offset */
            aload 7 /* port */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            iadd
            istore 6 /* offset */
        end local 7 // java.lang.String port
        12: .line 1155
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            iload 6 /* offset */
            invokestatic jtermios.windows.JTermiosImpl.getString:([BI)Ljava/lang/String;
            dup
            astore 7 /* port */
        start local 7 // java.lang.String port
        13: invokevirtual java.lang.String.length:()I
            ifgt 9
        14: .line 1161
            aload 5 /* list */
            areturn
        end local 7 // java.lang.String port
        end local 6 // int offset
        end local 5 // java.util.LinkedList list
        15: .line 1163
      StackMap locals:
      StackMap stack:
            invokestatic jtermios.windows.WinAPI.GetLastError:()I
            istore 5 /* err */
        start local 5 // int err
        16: .line 1164
            iload 5 /* err */
            bipush 122
            if_icmpeq 21
        17: .line 1165
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 18
            iconst_1
            ldc "QueryDosDeviceW() failed with GetLastError() = %d\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 5 /* err */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 18
            iconst_1
            goto 19
      StackMap locals: int
      StackMap stack:
        18: iconst_0
      StackMap locals:
      StackMap stack: int
        19: putstatic jtermios.JTermios$JTermiosLogging.log:Z
        20: .line 1166
            aconst_null
            areturn
        end local 5 // int err
        end local 4 // int res
        21: .line 1148
      StackMap locals:
      StackMap stack:
            iload 3 /* size */
            iconst_2
            imul
            istore 3 /* size */
        end local 2 // byte[] buffer
      StackMap locals: jtermios.windows.JTermiosImpl java.util.regex.Pattern top int
      StackMap stack:
        22: iload 3 /* size */
            ldc 1048576
            if_icmplt 3
        23: .line 1170
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 24
            iconst_1
            ldc "Repeated QueryDosDeviceW() calls failed up to buffer size %d\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* size */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 24
            iconst_1
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_0
      StackMap locals:
      StackMap stack: int
        25: putstatic jtermios.JTermios$JTermiosLogging.log:Z
        26: .line 1171
            aconst_null
            areturn
        end local 3 // int size
        end local 1 // java.util.regex.Pattern p
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   27     0    this  Ljtermios/windows/JTermiosImpl;
            1   27     1       p  Ljava/util/regex/Pattern;
            4   22     2  buffer  [B
            2   27     3    size  I
            5   21     4     res  I
            7   15     5    list  Ljava/util/LinkedList<Ljava/lang/String;>;
            8   15     6  offset  I
            9   12     7    port  Ljava/lang/String;
           13   15     7    port  Ljava/lang/String;
           16   21     5     err  I
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public void shutDown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // jtermios.windows.JTermiosImpl this
         0: .line 1175
            aload 0 /* this */
            getfield jtermios.windows.JTermiosImpl.m_OpenPorts:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 9
      StackMap locals: jtermios.windows.JTermiosImpl top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jtermios.windows.JTermiosImpl$Port
            astore 1 /* port */
        start local 1 // jtermios.windows.JTermiosImpl$Port port
         2: .line 1177
            getstatic jtermios.JTermios$JTermiosLogging.log:Z
            ifeq 3
            iconst_1
            ldc "shutDown() closing port %d\n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* port */
            getfield jtermios.windows.JTermiosImpl$Port.m_FD:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jtermios.JTermios$JTermiosLogging.log:(ILjava/lang/String;[Ljava/lang/Object;)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: jtermios.windows.JTermiosImpl jtermios.windows.JTermiosImpl$Port java.util.Iterator
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: putstatic jtermios.JTermios$JTermiosLogging.log:Z
         5: .line 1178
            aload 1 /* port */
            invokevirtual jtermios.windows.JTermiosImpl$Port.close:()V
         6: .line 1179
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Exception
         7: astore 3 /* e */
        start local 3 // java.lang.Exception e
         8: .line 1181
            aload 3 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 3 // java.lang.Exception e
        end local 1 // jtermios.windows.JTermiosImpl$Port port
         9: .line 1175
      StackMap locals: jtermios.windows.JTermiosImpl top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 1184
            return
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljtermios/windows/JTermiosImpl;
            2    9     1  port  Ljtermios/windows/JTermiosImpl$Port;
            8    9     3     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.Exception

  public int setspeed(int, jtermios.Termios, int);
    descriptor: (ILjtermios/Termios;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int fd
        start local 2 // jtermios.Termios termios
        start local 3 // int speed
         0: .line 1187
            iload 3 /* speed */
            istore 4 /* br */
        start local 4 // int br
         1: .line 1188
            iload 3 /* speed */
            lookupswitch { // 22
                   50: 2
                   75: 4
                  110: 6
                  134: 8
                  150: 10
                  200: 12
                  300: 14
                  600: 16
                 1200: 18
                 1800: 20
                 2400: 22
                 4800: 24
                 7200: 32
                 9600: 26
                14400: 34
                19200: 28
                28800: 36
                38400: 30
                57600: 38
                76800: 40
               115200: 42
               230400: 44
              default: 45
          }
         2: .line 1190
      StackMap locals: int
      StackMap stack:
            getstatic jtermios.JTermios.B50:I
            istore 4 /* br */
         3: .line 1191
            goto 45
         4: .line 1193
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B75:I
            istore 4 /* br */
         5: .line 1194
            goto 45
         6: .line 1196
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B110:I
            istore 4 /* br */
         7: .line 1197
            goto 45
         8: .line 1199
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B134:I
            istore 4 /* br */
         9: .line 1200
            goto 45
        10: .line 1202
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B150:I
            istore 4 /* br */
        11: .line 1203
            goto 45
        12: .line 1205
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B200:I
            istore 4 /* br */
        13: .line 1206
            goto 45
        14: .line 1208
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B300:I
            istore 4 /* br */
        15: .line 1209
            goto 45
        16: .line 1211
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B600:I
            istore 4 /* br */
        17: .line 1212
            goto 45
        18: .line 1214
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B1200:I
            istore 4 /* br */
        19: .line 1215
            goto 45
        20: .line 1217
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B1800:I
            istore 4 /* br */
        21: .line 1218
            goto 45
        22: .line 1220
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B2400:I
            istore 4 /* br */
        23: .line 1221
            goto 45
        24: .line 1223
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B4800:I
            istore 4 /* br */
        25: .line 1224
            goto 45
        26: .line 1226
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B9600:I
            istore 4 /* br */
        27: .line 1227
            goto 45
        28: .line 1229
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B19200:I
            istore 4 /* br */
        29: .line 1230
            goto 45
        30: .line 1232
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B38400:I
            istore 4 /* br */
        31: .line 1233
            goto 45
        32: .line 1235
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B7200:I
            istore 4 /* br */
        33: .line 1236
            goto 45
        34: .line 1238
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B14400:I
            istore 4 /* br */
        35: .line 1239
            goto 45
        36: .line 1241
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B28800:I
            istore 4 /* br */
        37: .line 1242
            goto 45
        38: .line 1244
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B57600:I
            istore 4 /* br */
        39: .line 1245
            goto 45
        40: .line 1247
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B76800:I
            istore 4 /* br */
        41: .line 1248
            goto 45
        42: .line 1250
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B115200:I
            istore 4 /* br */
        43: .line 1251
            goto 45
        44: .line 1253
      StackMap locals:
      StackMap stack:
            getstatic jtermios.JTermios.B230400:I
            istore 4 /* br */
        45: .line 1257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* termios */
            iload 4 /* br */
            invokevirtual jtermios.windows.JTermiosImpl.cfsetispeed:(Ljtermios/Termios;I)I
            dup
            istore 5 /* r */
        start local 5 // int r
        46: ifeq 48
        47: .line 1258
            iload 5 /* r */
            ireturn
        48: .line 1259
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* termios */
            iload 4 /* br */
            invokevirtual jtermios.windows.JTermiosImpl.cfsetospeed:(Ljtermios/Termios;I)I
            dup
            istore 5 /* r */
            ifeq 50
        49: .line 1260
            iload 5 /* r */
            ireturn
        50: .line 1261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* fd */
            getstatic jtermios.JTermios.TCSANOW:I
            aload 2 /* termios */
            invokevirtual jtermios.windows.JTermiosImpl.tcsetattr:(IILjtermios/Termios;)I
            dup
            istore 5 /* r */
            ifeq 52
        51: .line 1262
            iload 5 /* r */
            ireturn
        52: .line 1263
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int r
        end local 4 // int br
        end local 3 // int speed
        end local 2 // jtermios.Termios termios
        end local 1 // int fd
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   53     0     this  Ljtermios/windows/JTermiosImpl;
            0   53     1       fd  I
            0   53     2  termios  Ljtermios/Termios;
            0   53     3    speed  I
            1   53     4       br  I
           46   53     5        r  I
    MethodParameters:
         Name  Flags
      fd       
      termios  
      speed    

  public int pipe(int[]);
    descriptor: ([I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jtermios.windows.JTermiosImpl this
        start local 1 // int[] fds
         0: .line 1267
            aload 0 /* this */
            getstatic jtermios.JTermios.EMFILE:I
            putfield jtermios.windows.JTermiosImpl.m_ErrNo:I
         1: .line 1268
            iconst_m1
            ireturn
        end local 1 // int[] fds
        end local 0 // jtermios.windows.JTermiosImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljtermios/windows/JTermiosImpl;
            0    2     1   fds  [I
    MethodParameters:
      Name  Flags
      fds   
}
SourceFile: "JTermiosImpl.java"
NestMembers:
  jtermios.windows.JTermiosImpl$FDSetImpl  jtermios.windows.JTermiosImpl$Fail  jtermios.windows.JTermiosImpl$Port
InnerClasses:
  public abstract FDSet = jtermios.JTermios$FDSet of jtermios.JTermios
  public abstract JTermiosInterface = jtermios.JTermios$JTermiosInterface of jtermios.JTermios
  public JTermiosLogging = jtermios.JTermios$JTermiosLogging of jtermios.JTermios
  private FDSetImpl = jtermios.windows.JTermiosImpl$FDSetImpl of jtermios.windows.JTermiosImpl
  Fail = jtermios.windows.JTermiosImpl$Fail of jtermios.windows.JTermiosImpl
  private Port = jtermios.windows.JTermiosImpl$Port of jtermios.windows.JTermiosImpl
  public COMMTIMEOUTS = jtermios.windows.WinAPI$COMMTIMEOUTS of jtermios.windows.WinAPI
  public COMSTAT = jtermios.windows.WinAPI$COMSTAT of jtermios.windows.WinAPI
  public DCB = jtermios.windows.WinAPI$DCB of jtermios.windows.WinAPI
  public HANDLE = jtermios.windows.WinAPI$HANDLE of jtermios.windows.WinAPI
  public OVERLAPPED = jtermios.windows.WinAPI$OVERLAPPED of jtermios.windows.WinAPI