public class com.jcraft.jsch.ProxySOCKS5 implements com.jcraft.jsch.Proxy
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.jcraft.jsch.ProxySOCKS5
  super_class: java.lang.Object
{
  private static int DEFAULTPORT;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.lang.String proxy_host;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int proxy_port;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.io.InputStream in;
    descriptor: Ljava/io/InputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.io.OutputStream out;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.net.Socket socket;
    descriptor: Ljava/net/Socket;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String user;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String passwd;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 42
            sipush 1080
            putstatic com.jcraft.jsch.ProxySOCKS5.DEFAULTPORT:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.jcraft.jsch.ProxySOCKS5 this
        start local 1 // java.lang.String proxy_host
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            getstatic com.jcraft.jsch.ProxySOCKS5.DEFAULTPORT:I
            istore 2 /* port */
        start local 2 // int port
         2: .line 53
            aload 1 /* proxy_host */
            astore 3 /* host */
        start local 3 // java.lang.String host
         3: .line 54
            aload 1 /* proxy_host */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 8
         4: .line 56
            aload 1 /* proxy_host */
            iconst_0
            aload 1 /* proxy_host */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* host */
         5: .line 57
            aload 1 /* proxy_host */
            aload 1 /* proxy_host */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 2 /* port */
         6: .line 58
            goto 8
         7: .line 59
      StackMap locals: com.jcraft.jsch.ProxySOCKS5 java.lang.String int java.lang.String
      StackMap stack: java.lang.Exception
            pop
         8: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* host */
            putfield com.jcraft.jsch.ProxySOCKS5.proxy_host:Ljava/lang/String;
         9: .line 63
            aload 0 /* this */
            iload 2 /* port */
            putfield com.jcraft.jsch.ProxySOCKS5.proxy_port:I
        10: .line 64
            return
        end local 3 // java.lang.String host
        end local 2 // int port
        end local 1 // java.lang.String proxy_host
        end local 0 // com.jcraft.jsch.ProxySOCKS5 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/jcraft/jsch/ProxySOCKS5;
            0   11     1  proxy_host  Ljava/lang/String;
            2   11     2        port  I
            3   11     3        host  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      proxy_host  

  public void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.jcraft.jsch.ProxySOCKS5 this
        start local 1 // java.lang.String proxy_host
        start local 2 // int proxy_port
         0: .line 65
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 66
            aload 0 /* this */
            aload 1 /* proxy_host */
            putfield com.jcraft.jsch.ProxySOCKS5.proxy_host:Ljava/lang/String;
         2: .line 67
            aload 0 /* this */
            iload 2 /* proxy_port */
            putfield com.jcraft.jsch.ProxySOCKS5.proxy_port:I
         3: .line 68
            return
        end local 2 // int proxy_port
        end local 1 // java.lang.String proxy_host
        end local 0 // com.jcraft.jsch.ProxySOCKS5 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/jcraft/jsch/ProxySOCKS5;
            0    4     1  proxy_host  Ljava/lang/String;
            0    4     2  proxy_port  I
    MethodParameters:
            Name  Flags
      proxy_host  
      proxy_port  

  public void setUserPasswd(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.jcraft.jsch.ProxySOCKS5 this
        start local 1 // java.lang.String user
        start local 2 // java.lang.String passwd
         0: .line 70
            aload 0 /* this */
            aload 1 /* user */
            putfield com.jcraft.jsch.ProxySOCKS5.user:Ljava/lang/String;
         1: .line 71
            aload 0 /* this */
            aload 2 /* passwd */
            putfield com.jcraft.jsch.ProxySOCKS5.passwd:Ljava/lang/String;
         2: .line 72
            return
        end local 2 // java.lang.String passwd
        end local 1 // java.lang.String user
        end local 0 // com.jcraft.jsch.ProxySOCKS5 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/jcraft/jsch/ProxySOCKS5;
            0    3     1    user  Ljava/lang/String;
            0    3     2  passwd  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      user    
      passwd  

  public void connect(com.jcraft.jsch.SocketFactory, java.lang.String, int, int);
    descriptor: (Lcom/jcraft/jsch/SocketFactory;Ljava/lang/String;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // com.jcraft.jsch.ProxySOCKS5 this
        start local 1 // com.jcraft.jsch.SocketFactory socket_factory
        start local 2 // java.lang.String host
        start local 3 // int port
        start local 4 // int timeout
         0: .line 75
            aload 1 /* socket_factory */
            ifnonnull 5
         1: .line 76
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.proxy_host:Ljava/lang/String;
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.proxy_port:I
            iload 4 /* timeout */
            invokestatic com.jcraft.jsch.Util.createSocket:(Ljava/lang/String;II)Ljava/net/Socket;
            putfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
         2: .line 78
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            putfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
         3: .line 79
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
            putfield com.jcraft.jsch.ProxySOCKS5.out:Ljava/io/OutputStream;
         4: .line 80
            goto 8
         5: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* socket_factory */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.proxy_host:Ljava/lang/String;
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.proxy_port:I
            invokeinterface com.jcraft.jsch.SocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            putfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
         6: .line 83
            aload 0 /* this */
            aload 1 /* socket_factory */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            invokeinterface com.jcraft.jsch.SocketFactory.getInputStream:(Ljava/net/Socket;)Ljava/io/InputStream;
            putfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
         7: .line 84
            aload 0 /* this */
            aload 1 /* socket_factory */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            invokeinterface com.jcraft.jsch.SocketFactory.getOutputStream:(Ljava/net/Socket;)Ljava/io/OutputStream;
            putfield com.jcraft.jsch.ProxySOCKS5.out:Ljava/io/OutputStream;
         8: .line 86
      StackMap locals:
      StackMap stack:
            iload 4 /* timeout */
            ifle 10
         9: .line 87
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            iload 4 /* timeout */
            invokevirtual java.net.Socket.setSoTimeout:(I)V
        10: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            iconst_1
            invokevirtual java.net.Socket.setTcpNoDelay:(Z)V
        11: .line 91
            sipush 1024
            newarray 8
            astore 5 /* buf */
        start local 5 // byte[] buf
        12: .line 92
            iconst_0
            istore 6 /* index */
        start local 6 // int index
        13: .line 115
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iconst_5
            bastore
        14: .line 117
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iconst_2
            bastore
        15: .line 118
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iconst_0
            bastore
        16: .line 119
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iconst_2
            bastore
        17: .line 121
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.out:Ljava/io/OutputStream;
            aload 5 /* buf */
            iconst_0
            iload 6 /* index */
            invokevirtual java.io.OutputStream.write:([BII)V
        18: .line 134
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
            aload 5 /* buf */
            iconst_2
            invokevirtual com.jcraft.jsch.ProxySOCKS5.fill:(Ljava/io/InputStream;[BI)V
        19: .line 136
            iconst_0
            istore 7 /* check */
        start local 7 // boolean check
        20: .line 137
            aload 5 /* buf */
            iconst_1
            baload
            sipush 255
            iand
            tableswitch { // 0 - 2
                    0: 21
                    1: 36
                    2: 23
              default: 36
          }
        21: .line 139
      StackMap locals: byte[] int int
      StackMap stack:
            iconst_1
            istore 7 /* check */
        22: .line 140
            goto 36
        23: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.user:Ljava/lang/String;
            ifnull 36
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.passwd:Ljava/lang/String;
            ifnonnull 24
            goto 36
        24: .line 163
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* index */
        25: .line 164
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iconst_1
            bastore
        26: .line 165
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.user:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            i2b
            bastore
        27: .line 166
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.user:Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            iconst_0
            aload 5 /* buf */
            iload 6 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.user:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        28: .line 167
            iload 6 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.user:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iadd
            istore 6 /* index */
        29: .line 168
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.passwd:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            i2b
            bastore
        30: .line 169
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.passwd:Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            iconst_0
            aload 5 /* buf */
            iload 6 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.passwd:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        31: .line 170
            iload 6 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.passwd:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iadd
            istore 6 /* index */
        32: .line 172
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.out:Ljava/io/OutputStream;
            aload 5 /* buf */
            iconst_0
            iload 6 /* index */
            invokevirtual java.io.OutputStream.write:([BII)V
        33: .line 189
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
            aload 5 /* buf */
            iconst_2
            invokevirtual com.jcraft.jsch.ProxySOCKS5.fill:(Ljava/io/InputStream;[BI)V
        34: .line 190
            aload 5 /* buf */
            iconst_1
            baload
            ifne 36
        35: .line 191
            iconst_1
            istore 7 /* check */
        36: .line 196
      StackMap locals:
      StackMap stack:
            iload 7 /* check */
            ifne 41
        37: .line 197
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.close:()V
        38: goto 40
        39: .line 198
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        40: .line 200
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            ldc "fail in SOCKS5 proxy"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 229
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* index */
        42: .line 230
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iconst_5
            bastore
        43: .line 231
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iconst_1
            bastore
        44: .line 232
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iconst_0
            bastore
        45: .line 234
            aload 2 /* host */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            astore 8 /* hostb */
        start local 8 // byte[] hostb
        46: .line 235
            aload 8 /* hostb */
            arraylength
            istore 9 /* len */
        start local 9 // int len
        47: .line 236
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iconst_3
            bastore
        48: .line 237
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 9 /* len */
            i2b
            bastore
        49: .line 238
            aload 8 /* hostb */
            iconst_0
            aload 5 /* buf */
            iload 6 /* index */
            iload 9 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        50: .line 239
            iload 6 /* index */
            iload 9 /* len */
            iadd
            istore 6 /* index */
        51: .line 240
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 3 /* port */
            bipush 8
            iushr
            i2b
            bastore
        52: .line 241
            aload 5 /* buf */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 3 /* port */
            sipush 255
            iand
            i2b
            bastore
        53: .line 243
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.out:Ljava/io/OutputStream;
            aload 5 /* buf */
            iconst_0
            iload 6 /* index */
            invokevirtual java.io.OutputStream.write:([BII)V
        54: .line 281
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
            aload 5 /* buf */
            iconst_4
            invokevirtual com.jcraft.jsch.ProxySOCKS5.fill:(Ljava/io/InputStream;[BI)V
        55: .line 283
            aload 5 /* buf */
            iconst_1
            baload
            ifeq 60
        56: .line 284
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.close:()V
        57: goto 59
        58: .line 285
      StackMap locals: com.jcraft.jsch.ProxySOCKS5 com.jcraft.jsch.SocketFactory java.lang.String int int byte[] int int byte[] int
      StackMap stack: java.lang.Exception
            pop
        59: .line 287
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "ProxySOCKS5: server returns "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* buf */
            iconst_1
            baload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 290
      StackMap locals:
      StackMap stack:
            aload 5 /* buf */
            iconst_3
            baload
            sipush 255
            iand
            tableswitch { // 1 - 4
                    1: 61
                    2: 67
                    3: 63
                    4: 66
              default: 67
          }
        61: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
            aload 5 /* buf */
            bipush 6
            invokevirtual com.jcraft.jsch.ProxySOCKS5.fill:(Ljava/io/InputStream;[BI)V
        62: .line 294
            goto 78
        63: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
            aload 5 /* buf */
            iconst_1
            invokevirtual com.jcraft.jsch.ProxySOCKS5.fill:(Ljava/io/InputStream;[BI)V
        64: .line 299
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
            aload 5 /* buf */
            aload 5 /* buf */
            iconst_0
            baload
            sipush 255
            iand
            iconst_2
            iadd
            invokevirtual com.jcraft.jsch.ProxySOCKS5.fill:(Ljava/io/InputStream;[BI)V
        65: .line 300
            goto 78
        66: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
            aload 5 /* buf */
            bipush 18
            invokevirtual com.jcraft.jsch.ProxySOCKS5.fill:(Ljava/io/InputStream;[BI)V
        end local 9 // int len
        end local 8 // byte[] hostb
        end local 7 // boolean check
        end local 6 // int index
        end local 5 // byte[] buf
        67: .line 307
      StackMap locals: com.jcraft.jsch.ProxySOCKS5 com.jcraft.jsch.SocketFactory java.lang.String int int
      StackMap stack:
            goto 78
        68: .line 308
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 5 /* e */
        start local 5 // java.lang.RuntimeException e
        69: .line 309
            aload 5 /* e */
            athrow
        end local 5 // java.lang.RuntimeException e
        70: .line 311
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        71: .line 312
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            ifnull 74
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.close:()V
        72: goto 74
        73: .line 313
      StackMap locals: com.jcraft.jsch.ProxySOCKS5 com.jcraft.jsch.SocketFactory java.lang.String int int java.lang.Exception
      StackMap stack: java.lang.Exception
            pop
        74: .line 315
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "ProxySOCKS5: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* message */
        start local 6 // java.lang.String message
        75: .line 316
            aload 5 /* e */
            instanceof java.lang.Throwable
            ifeq 77
        76: .line 317
            new com.jcraft.jsch.JSchException
            dup
            aload 6 /* message */
            aload 5 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        77: .line 318
      StackMap locals: java.lang.String
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            aload 6 /* message */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String message
        end local 5 // java.lang.Exception e
        78: .line 320
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int timeout
        end local 3 // int port
        end local 2 // java.lang.String host
        end local 1 // com.jcraft.jsch.SocketFactory socket_factory
        end local 0 // com.jcraft.jsch.ProxySOCKS5 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   79     0            this  Lcom/jcraft/jsch/ProxySOCKS5;
            0   79     1  socket_factory  Lcom/jcraft/jsch/SocketFactory;
            0   79     2            host  Ljava/lang/String;
            0   79     3            port  I
            0   79     4         timeout  I
           12   67     5             buf  [B
           13   67     6           index  I
           20   67     7           check  Z
           46   67     8           hostb  [B
           47   67     9             len  I
           69   70     5               e  Ljava/lang/RuntimeException;
           71   78     5               e  Ljava/lang/Exception;
           75   78     6         message  Ljava/lang/String;
      Exception table:
        from    to  target  type
          37    38      39  Class java.lang.Exception
          56    57      58  Class java.lang.Exception
           0    67      68  Class java.lang.RuntimeException
           0    67      70  Class java.lang.Exception
          71    72      73  Class java.lang.Exception
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
                Name  Flags
      socket_factory  
      host            
      port            
      timeout         

  public java.io.InputStream getInputStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.ProxySOCKS5 this
         0: .line 321
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
            areturn
        end local 0 // com.jcraft.jsch.ProxySOCKS5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/ProxySOCKS5;

  public java.io.OutputStream getOutputStream();
    descriptor: ()Ljava/io/OutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.ProxySOCKS5 this
         0: .line 322
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.out:Ljava/io/OutputStream;
            areturn
        end local 0 // com.jcraft.jsch.ProxySOCKS5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/ProxySOCKS5;

  public java.net.Socket getSocket();
    descriptor: ()Ljava/net/Socket;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.ProxySOCKS5 this
         0: .line 323
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            areturn
        end local 0 // com.jcraft.jsch.ProxySOCKS5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/ProxySOCKS5;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.ProxySOCKS5 this
         0: .line 326
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
            ifnull 1
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
         1: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.out:Ljava/io/OutputStream;
            ifnull 2
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.out:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.close:()V
         2: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            ifnull 5
            aload 0 /* this */
            getfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.close:()V
         3: .line 329
            goto 5
         4: .line 330
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         5: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.ProxySOCKS5.in:Ljava/io/InputStream;
         6: .line 333
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.ProxySOCKS5.out:Ljava/io/OutputStream;
         7: .line 334
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.ProxySOCKS5.socket:Ljava/net/Socket;
         8: .line 335
            return
        end local 0 // com.jcraft.jsch.ProxySOCKS5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/jcraft/jsch/ProxySOCKS5;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception

  public static int getDefaultPort();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 337
            getstatic com.jcraft.jsch.ProxySOCKS5.DEFAULTPORT:I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void fill(java.io.InputStream, byte[], int);
    descriptor: (Ljava/io/InputStream;[BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.jcraft.jsch.ProxySOCKS5 this
        start local 1 // java.io.InputStream in
        start local 2 // byte[] buf
        start local 3 // int len
         0: .line 340
            iconst_0
            istore 4 /* s */
        start local 4 // int s
         1: .line 341
            goto 6
         2: .line 342
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            aload 2 /* buf */
            iload 4 /* s */
            iload 3 /* len */
            iload 4 /* s */
            isub
            invokevirtual java.io.InputStream.read:([BII)I
            istore 5 /* i */
        start local 5 // int i
         3: .line 343
            iload 5 /* i */
            ifgt 5
         4: .line 344
            new com.jcraft.jsch.JSchException
            dup
            ldc "ProxySOCKS5: stream is closed"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 346
      StackMap locals: int
      StackMap stack:
            iload 4 /* s */
            iload 5 /* i */
            iadd
            istore 4 /* s */
        end local 5 // int i
         6: .line 341
      StackMap locals:
      StackMap stack:
            iload 4 /* s */
            iload 3 /* len */
            if_icmplt 2
         7: .line 348
            return
        end local 4 // int s
        end local 3 // int len
        end local 2 // byte[] buf
        end local 1 // java.io.InputStream in
        end local 0 // com.jcraft.jsch.ProxySOCKS5 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/jcraft/jsch/ProxySOCKS5;
            0    8     1    in  Ljava/io/InputStream;
            0    8     2   buf  [B
            0    8     3   len  I
            1    8     4     s  I
            3    6     5     i  I
    Exceptions:
      throws com.jcraft.jsch.JSchException, java.io.IOException
    MethodParameters:
      Name  Flags
      in    
      buf   
      len   
}
SourceFile: "ProxySOCKS5.java"