class sun.nio.cs.ext.ISO2022_CN$Decoder extends java.nio.charset.CharsetDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.cs.ext.ISO2022_CN$Decoder
  super_class: java.nio.charset.CharsetDecoder
{
  private boolean shiftOut;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private byte currentSODesig;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  private static final java.nio.charset.Charset gb2312;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.nio.charset.Charset cns;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final sun.nio.cs.ext.EUC_CN$Decoder gb2312Decoder;
    descriptor: Lsun/nio/cs/ext/EUC_CN$Decoder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.nio.cs.ext.EUC_TW$Decoder cnsDecoder;
    descriptor: Lsun/nio/cs/ext/EUC_TW$Decoder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 82
            ldc Lsun/nio/cs/ext/ISO2022_CN;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.nio.cs.ext.ISO2022_CN$Decoder.$assertionsDisabled:Z
         3: .line 86
            new sun.nio.cs.ext.EUC_CN
            dup
            invokespecial sun.nio.cs.ext.EUC_CN.<init>:()V
            putstatic sun.nio.cs.ext.ISO2022_CN$Decoder.gb2312:Ljava/nio/charset/Charset;
         4: .line 87
            new sun.nio.cs.ext.EUC_TW
            dup
            invokespecial sun.nio.cs.ext.EUC_TW.<init>:()V
            putstatic sun.nio.cs.ext.ISO2022_CN$Decoder.cns:Ljava/nio/charset/Charset;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // java.nio.charset.Charset cs
         0: .line 92
            aload 0 /* this */
            aload 1 /* cs */
            fconst_1
            fconst_1
            invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 93
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
         2: .line 94
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
         3: .line 95
            aload 0 /* this */
            getstatic sun.nio.cs.ext.ISO2022_CN$Decoder.gb2312:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
            checkcast sun.nio.cs.ext.EUC_CN$Decoder
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.gb2312Decoder:Lsun/nio/cs/ext/EUC_CN$Decoder;
         4: .line 96
            aload 0 /* this */
            getstatic sun.nio.cs.ext.ISO2022_CN$Decoder.cns:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
            checkcast sun.nio.cs.ext.EUC_TW$Decoder
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecoder:Lsun/nio/cs/ext/EUC_TW$Decoder;
         5: .line 97
            return
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0    6     1    cs  Ljava/nio/charset/Charset;
    MethodParameters:
      Name  Flags
      cs    

  protected void implReset();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
         0: .line 100
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
         1: .line 101
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
         2: .line 102
            return
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;

  private char cnsDecode(byte, byte, byte);
    descriptor: (BBB)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // byte byte1
        start local 2 // byte byte2
        start local 3 // byte SS
         0: .line 105
            iload 1 /* byte1 */
            bipush -128
            ior
            i2b
            istore 1 /* byte1 */
         1: .line 106
            iload 2 /* byte2 */
            bipush -128
            ior
            i2b
            istore 2 /* byte2 */
         2: .line 107
            iload 3 /* SS */
            bipush 78
            if_icmpne 6
         3: .line 108
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecoder:Lsun/nio/cs/ext/EUC_TW$Decoder;
            iload 1 /* byte1 */
            iload 2 /* byte2 */
         4: .line 109
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.unicodeCNS2:Ljava/lang/String;
         5: .line 108
            invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.convToUnicode:(BBLjava/lang/String;)C
            ireturn
         6: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecoder:Lsun/nio/cs/ext/EUC_TW$Decoder;
            iload 1 /* byte1 */
            iload 2 /* byte2 */
         7: .line 113
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.unicodeCNS3:Ljava/lang/String;
         8: .line 112
            invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.convToSurrogate:(BBLjava/lang/String;)[C
            astore 4 /* outSurr */
        start local 4 // char[] outSurr
         9: .line 114
            aload 4 /* outSurr */
            ifnull 10
            aload 4 /* outSurr */
            iconst_0
            caload
            ifeq 11
        10: .line 115
      StackMap locals: char[]
      StackMap stack:
            ldc 65533
            ireturn
        11: .line 116
      StackMap locals:
      StackMap stack:
            aload 4 /* outSurr */
            iconst_1
            caload
            ireturn
        end local 4 // char[] outSurr
        end local 3 // byte SS
        end local 2 // byte byte2
        end local 1 // byte byte1
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0   12     1    byte1  B
            0   12     2    byte2  B
            0   12     3       SS  B
            9   12     4  outSurr  [C
    MethodParameters:
       Name  Flags
      byte1  
      byte2  
      SS     

  private char SODecode(byte, byte, byte);
    descriptor: (BBB)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // byte byte1
        start local 2 // byte byte2
        start local 3 // byte SOD
         0: .line 121
            iload 1 /* byte1 */
            bipush -128
            ior
            i2b
            istore 1 /* byte1 */
         1: .line 122
            iload 2 /* byte2 */
            bipush -128
            ior
            i2b
            istore 2 /* byte2 */
         2: .line 123
            iload 3 /* SOD */
            ifne 6
         3: .line 124
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.gb2312Decoder:Lsun/nio/cs/ext/EUC_CN$Decoder;
            iload 1 /* byte1 */
            sipush 255
            iand
         4: .line 125
            iload 2 /* byte2 */
            sipush 255
            iand
         5: .line 124
            invokevirtual sun.nio.cs.ext.EUC_CN$Decoder.decodeDouble:(II)C
            ireturn
         6: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecoder:Lsun/nio/cs/ext/EUC_TW$Decoder;
            iload 1 /* byte1 */
         7: .line 128
            iload 2 /* byte2 */
         8: .line 129
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.unicodeCNS1:Ljava/lang/String;
         9: .line 127
            invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.convToUnicode:(BBLjava/lang/String;)C
            ireturn
        end local 3 // byte SOD
        end local 2 // byte byte2
        end local 1 // byte byte1
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0   10     1  byte1  B
            0   10     2  byte2  B
            0   10     3    SOD  B
    MethodParameters:
       Name  Flags
      byte1  
      byte2  
      SOD    

  private java.nio.charset.CoderResult decodeBufferLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 136
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 137
            iconst_0
            istore 4 /* b1 */
        start local 4 // byte b1
         2: iconst_0
            istore 5 /* b2 */
        start local 5 // byte b2
         3: iconst_0
            istore 6 /* b3 */
        start local 6 // byte b3
         4: iconst_0
            istore 7 /* b4 */
        start local 7 // byte b4
         5: .line 138
            iconst_0
            istore 8 /* inputSize */
        start local 8 // int inputSize
         6: .line 139
            ldc 65533
            istore 9 /* c */
        start local 9 // char c
         7: .line 141
            goto 136
         8: .line 142
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int int int int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 4 /* b1 */
         9: .line 143
            iconst_1
            istore 8 /* inputSize */
        10: .line 145
            goto 112
        11: .line 148
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpne 100
        12: .line 149
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        13: .line 151
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 17
        14: .line 152
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        15: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        16: .line 152
            aload 11
            areturn
        17: .line 154
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 5 /* b2 */
        18: .line 155
            iinc 8 /* inputSize */ 1
        19: .line 157
            iload 5 /* b2 */
            bipush -128
            iand
            ifeq 23
        20: .line 158
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        21: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        22: .line 158
            aload 11
            areturn
        23: .line 160
      StackMap locals:
      StackMap stack:
            iload 5 /* b2 */
            bipush 36
            if_icmpne 78
        24: .line 161
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 28
        25: .line 162
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        26: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        27: .line 162
            aload 11
            areturn
        28: .line 164
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 6 /* b3 */
        29: .line 165
            iinc 8 /* inputSize */ 1
        30: .line 167
            iload 6 /* b3 */
            bipush -128
            iand
            ifeq 34
        31: .line 168
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        32: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        33: .line 168
            aload 11
            areturn
        34: .line 169
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 65
            if_icmpne 37
        35: .line 170
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        36: .line 171
            goto 105
      StackMap locals:
      StackMap stack:
        37: iload 6 /* b3 */
            bipush 41
            if_icmpne 53
        38: .line 172
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 42
        39: .line 173
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        40: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        41: .line 173
            aload 11
            areturn
        42: .line 174
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        43: .line 175
            iinc 8 /* inputSize */ 1
        44: .line 176
            iload 7 /* b4 */
            bipush 65
            if_icmpne 47
        45: .line 177
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        46: .line 178
            goto 105
      StackMap locals:
      StackMap stack:
        47: iload 7 /* b4 */
            bipush 71
            if_icmpne 50
        48: .line 179
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        49: .line 180
            goto 105
        50: .line 181
      StackMap locals:
      StackMap stack:
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        51: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        52: .line 181
            aload 11
            areturn
        53: .line 183
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 42
            if_icmpne 64
        54: .line 184
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 58
        55: .line 185
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        56: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        57: .line 185
            aload 11
            areturn
        58: .line 186
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        59: .line 187
            iinc 8 /* inputSize */ 1
        60: .line 188
            iload 7 /* b4 */
            bipush 72
            if_icmpeq 105
        61: .line 190
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        62: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        63: .line 190
            aload 11
            areturn
        64: .line 192
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 43
            if_icmpne 75
        65: .line 193
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 69
        66: .line 194
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        67: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        68: .line 194
            aload 11
            areturn
        69: .line 195
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        70: .line 196
            iinc 8 /* inputSize */ 1
        71: .line 197
            iload 7 /* b4 */
            bipush 73
            if_icmpeq 105
        72: .line 199
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        73: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        74: .line 199
            aload 11
            areturn
        75: .line 202
      StackMap locals:
      StackMap stack:
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        76: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        77: .line 202
            aload 11
            areturn
        78: .line 204
      StackMap locals:
      StackMap stack:
            iload 5 /* b2 */
            bipush 78
            if_icmpeq 79
            iload 5 /* b2 */
            bipush 79
            if_icmpne 97
        79: .line 205
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 83
        80: .line 206
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        81: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        82: .line 206
            aload 11
            areturn
        83: .line 207
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 6 /* b3 */
        84: .line 208
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        85: .line 209
            iinc 8 /* inputSize */ 2
        86: .line 210
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            iconst_1
            if_icmpge 90
        87: .line 211
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        88: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        89: .line 211
            aload 11
            areturn
        90: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* b3 */
            iload 7 /* b4 */
            iload 5 /* b2 */
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecode:(BBB)C
            istore 9 /* c */
        91: .line 214
            iload 9 /* c */
            ldc 65533
            if_icmpne 95
        92: .line 215
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        93: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        94: .line 215
            aload 11
            areturn
        95: .line 216
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 9 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        96: .line 217
            goto 105
        97: .line 218
      StackMap locals:
      StackMap stack:
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        98: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        99: .line 218
            aload 11
            areturn
       100: .line 220
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 14
            if_icmpne 103
       101: .line 221
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       102: .line 222
            goto 105
      StackMap locals:
      StackMap stack:
       103: iload 4 /* b1 */
            bipush 15
            if_icmpne 105
       104: .line 223
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       105: .line 225
      StackMap locals:
      StackMap stack:
            iload 3 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 3 /* mark */
       106: .line 226
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 110
       107: .line 227
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       108: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       109: .line 227
            aload 11
            areturn
       110: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 4 /* b1 */
       111: .line 229
            iconst_1
            istore 8 /* inputSize */
       112: .line 145
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpeq 11
       113: .line 146
            iload 4 /* b1 */
            bipush 14
            if_icmpeq 11
       114: .line 147
            iload 4 /* b1 */
            bipush 15
            if_icmpeq 11
       115: .line 232
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            iconst_1
            if_icmpge 119
       116: .line 233
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       117: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       118: .line 233
            aload 11
            areturn
       119: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
            ifne 123
       120: .line 236
            aload 2 /* dst */
            iload 4 /* b1 */
            sipush 255
            iand
            i2c
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
       121: .line 237
            iload 3 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 3 /* mark */
       122: .line 238
            goto 136
       123: .line 239
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 127
       124: .line 240
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       125: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       126: .line 240
            aload 11
            areturn
       127: .line 241
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 5 /* b2 */
       128: .line 242
            iinc 8 /* inputSize */ 1
       129: .line 243
            aload 0 /* this */
            iload 4 /* b1 */
            iload 5 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.SODecode:(BBB)C
            istore 9 /* c */
       130: .line 244
            iload 9 /* c */
            ldc 65533
            if_icmpne 134
       131: .line 245
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
       132: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       133: .line 245
            aload 11
            areturn
       134: .line 246
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 9 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
       135: .line 247
            iload 3 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 3 /* mark */
       136: .line 141
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 8
       137: .line 250
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       138: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       139: .line 250
            aload 11
            areturn
       140: .line 251
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
       141: .line 252
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       142: .line 253
            aload 10
            athrow
        end local 9 // char c
        end local 8 // int inputSize
        end local 7 // byte b4
        end local 6 // byte b3
        end local 5 // byte b2
        end local 4 // byte b1
        end local 3 // int mark
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  143     0       this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0  143     1        src  Ljava/nio/ByteBuffer;
            0  143     2        dst  Ljava/nio/CharBuffer;
            1  143     3       mark  I
            2  143     4         b1  B
            3  143     5         b2  B
            4  143     6         b3  B
            5  143     7         b4  B
            6  143     8  inputSize  I
            7  143     9          c  C
      Exception table:
        from    to  target  type
           7    15     140  any
          17    21     140  any
          23    26     140  any
          28    32     140  any
          34    40     140  any
          42    51     140  any
          53    56     140  any
          58    62     140  any
          64    67     140  any
          69    73     140  any
          75    76     140  any
          78    81     140  any
          83    88     140  any
          90    93     140  any
          95    98     140  any
         100   108     140  any
         110   117     140  any
         119   125     140  any
         127   132     140  any
         134   138     140  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  private java.nio.charset.CoderResult decodeArrayLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=17, args_size=3
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 259
            iconst_0
            istore 3 /* inputSize */
        start local 3 // int inputSize
         1: .line 260
            iconst_0
            istore 4 /* b1 */
        start local 4 // byte b1
         2: iconst_0
            istore 5 /* b2 */
        start local 5 // byte b2
         3: iconst_0
            istore 6 /* b3 */
        start local 6 // byte b3
         4: iconst_0
            istore 7 /* b4 */
        start local 7 // byte b4
         5: .line 261
            ldc 65533
            istore 8 /* c */
        start local 8 // char c
         6: .line 263
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 9 /* sa */
        start local 9 // byte[] sa
         7: .line 264
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 10 /* sp */
        start local 10 // int sp
         8: .line 265
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iadd
            istore 11 /* sl */
        start local 11 // int sl
         9: .line 266
            getstatic sun.nio.cs.ext.ISO2022_CN$Decoder.$assertionsDisabled:Z
            ifne 10
            iload 10 /* sp */
            iload 11 /* sl */
            if_icmple 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 267
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int int int byte[] int int
      StackMap stack:
            iload 10 /* sp */
            iload 11 /* sl */
            if_icmpgt 11
            iload 10 /* sp */
            goto 12
      StackMap locals:
      StackMap stack:
        11: iload 11 /* sl */
      StackMap locals:
      StackMap stack: int
        12: istore 10 /* sp */
        13: .line 269
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 12 /* da */
        start local 12 // char[] da
        14: .line 270
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.position:()I
            iadd
            istore 13 /* dp */
        start local 13 // int dp
        15: .line 271
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.limit:()I
            iadd
            istore 14 /* dl */
        start local 14 // int dl
        16: .line 272
            getstatic sun.nio.cs.ext.ISO2022_CN$Decoder.$assertionsDisabled:Z
            ifne 17
            iload 13 /* dp */
            iload 14 /* dl */
            if_icmple 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 273
      StackMap locals: char[] int int
      StackMap stack:
            iload 13 /* dp */
            iload 14 /* dl */
            if_icmpgt 18
            iload 13 /* dp */
            goto 19
      StackMap locals:
      StackMap stack:
        18: iload 14 /* dl */
      StackMap locals:
      StackMap stack: int
        19: istore 13 /* dp */
        20: .line 276
            goto 165
        21: .line 277
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            baload
            istore 4 /* b1 */
        22: .line 278
            iconst_1
            istore 3 /* inputSize */
        23: .line 280
            goto 141
        24: .line 281
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpne 128
        25: .line 282
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        26: .line 284
            iload 10 /* sp */
            iconst_2
            iadd
            iload 11 /* sl */
            if_icmple 31
        27: .line 285
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        28: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        29: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        30: .line 285
            aload 16
            areturn
        31: .line 287
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_1
            iadd
            baload
            istore 5 /* b2 */
        32: .line 288
            iinc 3 /* inputSize */ 1
        33: .line 290
            iload 5 /* b2 */
            bipush -128
            iand
            ifeq 38
        34: .line 291
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        35: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        36: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        37: .line 291
            aload 16
            areturn
        38: .line 292
      StackMap locals:
      StackMap stack:
            iload 5 /* b2 */
            bipush 36
            if_icmpne 102
        39: .line 293
            iload 10 /* sp */
            iconst_3
            iadd
            iload 11 /* sl */
            if_icmple 44
        40: .line 294
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        41: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        42: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        43: .line 294
            aload 16
            areturn
        44: .line 296
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_2
            iadd
            baload
            istore 6 /* b3 */
        45: .line 297
            iinc 3 /* inputSize */ 1
        46: .line 299
            iload 6 /* b3 */
            bipush -128
            iand
            ifeq 51
        47: .line 300
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        48: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        49: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        50: .line 300
            aload 16
            areturn
        51: .line 301
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 65
            if_icmpne 54
        52: .line 307
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        53: .line 308
            goto 133
      StackMap locals:
      StackMap stack:
        54: iload 6 /* b3 */
            bipush 41
            if_icmpne 72
        55: .line 309
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 60
        56: .line 310
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        57: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        58: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        59: .line 310
            aload 16
            areturn
        60: .line 311
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        61: .line 312
            iinc 3 /* inputSize */ 1
        62: .line 314
            iload 7 /* b4 */
            bipush 65
            if_icmpne 65
        63: .line 315
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        64: .line 316
            goto 133
      StackMap locals:
      StackMap stack:
        65: iload 7 /* b4 */
            bipush 71
            if_icmpne 68
        66: .line 317
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        67: .line 318
            goto 133
        68: .line 319
      StackMap locals:
      StackMap stack:
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        69: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        70: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        71: .line 319
            aload 16
            areturn
        72: .line 321
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 42
            if_icmpne 85
        73: .line 322
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 78
        74: .line 323
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        75: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        76: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        77: .line 323
            aload 16
            areturn
        78: .line 324
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        79: .line 325
            iinc 3 /* inputSize */ 1
        80: .line 326
            iload 7 /* b4 */
            bipush 72
            if_icmpeq 133
        81: .line 327
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        82: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        83: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        84: .line 327
            aload 16
            areturn
        85: .line 329
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 43
            if_icmpne 98
        86: .line 330
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 91
        87: .line 331
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        88: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        89: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        90: .line 331
            aload 16
            areturn
        91: .line 332
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        92: .line 333
            iinc 3 /* inputSize */ 1
        93: .line 334
            iload 7 /* b4 */
            bipush 73
            if_icmpeq 133
        94: .line 335
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        95: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        96: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        97: .line 335
            aload 16
            areturn
        98: .line 338
      StackMap locals:
      StackMap stack:
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        99: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       100: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       101: .line 338
            aload 16
            areturn
       102: .line 340
      StackMap locals:
      StackMap stack:
            iload 5 /* b2 */
            bipush 78
            if_icmpeq 103
            iload 5 /* b2 */
            bipush 79
            if_icmpne 124
       103: .line 341
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 108
       104: .line 342
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       105: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       106: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       107: .line 342
            aload 16
            areturn
       108: .line 344
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_2
            iadd
            baload
            istore 6 /* b3 */
       109: .line 345
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
       110: .line 346
            iload 14 /* dl */
            iload 13 /* dp */
            isub
            iconst_1
            if_icmpge 115
       111: .line 347
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       112: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       113: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       114: .line 347
            aload 16
            areturn
       115: .line 349
      StackMap locals:
      StackMap stack:
            iinc 3 /* inputSize */ 2
       116: .line 350
            aload 0 /* this */
            iload 6 /* b3 */
            iload 7 /* b4 */
            iload 5 /* b2 */
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecode:(BBB)C
            istore 8 /* c */
       117: .line 351
            iload 8 /* c */
            ldc 65533
            if_icmpne 122
       118: .line 352
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
       119: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       120: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       121: .line 352
            aload 16
            areturn
       122: .line 353
      StackMap locals:
      StackMap stack:
            aload 12 /* da */
            iload 13 /* dp */
            iinc 13 /* dp */ 1
            iload 8 /* c */
            castore
       123: .line 354
            goto 133
       124: .line 355
      StackMap locals:
      StackMap stack:
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
       125: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       126: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       127: .line 355
            aload 16
            areturn
       128: .line 357
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 14
            if_icmpne 131
       129: .line 358
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       130: .line 359
            goto 133
      StackMap locals:
      StackMap stack:
       131: iload 4 /* b1 */
            bipush 15
            if_icmpne 133
       132: .line 360
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       133: .line 362
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iload 3 /* inputSize */
            iadd
            istore 10 /* sp */
       134: .line 363
            iload 10 /* sp */
            iconst_1
            iadd
            iload 11 /* sl */
            if_icmple 139
       135: .line 364
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       136: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       137: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       138: .line 364
            aload 16
            areturn
       139: .line 365
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            baload
            istore 4 /* b1 */
       140: .line 366
            iconst_1
            istore 3 /* inputSize */
       141: .line 280
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpeq 24
            iload 4 /* b1 */
            bipush 14
            if_icmpeq 24
            iload 4 /* b1 */
            bipush 15
            if_icmpeq 24
       142: .line 369
            iload 14 /* dl */
            iload 13 /* dp */
            isub
            iconst_1
            if_icmpge 147
       143: .line 370
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       144: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       145: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       146: .line 370
            aload 16
            areturn
       147: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
            ifne 150
       148: .line 374
            aload 12 /* da */
            iload 13 /* dp */
            iinc 13 /* dp */ 1
            iload 4 /* b1 */
            sipush 255
            iand
            i2c
            castore
       149: .line 375
            goto 164
       150: .line 376
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iconst_2
            iadd
            iload 11 /* sl */
            if_icmple 155
       151: .line 377
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       152: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       153: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       154: .line 377
            aload 16
            areturn
       155: .line 378
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_1
            iadd
            baload
            istore 5 /* b2 */
       156: .line 379
            iinc 3 /* inputSize */ 1
       157: .line 380
            aload 0 /* this */
            iload 4 /* b1 */
            iload 5 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.SODecode:(BBB)C
            istore 8 /* c */
       158: .line 381
            iload 8 /* c */
            ldc 65533
            if_icmpne 163
       159: .line 382
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
       160: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       161: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       162: .line 382
            aload 16
            areturn
       163: .line 383
      StackMap locals:
      StackMap stack:
            aload 12 /* da */
            iload 13 /* dp */
            iinc 13 /* dp */ 1
            iload 8 /* c */
            castore
       164: .line 385
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iload 3 /* inputSize */
            iadd
            istore 10 /* sp */
       165: .line 276
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iload 11 /* sl */
            if_icmplt 21
       166: .line 387
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       167: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       168: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       169: .line 387
            aload 16
            areturn
       170: .line 388
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 15
       171: .line 389
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       172: .line 390
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       173: .line 391
            aload 15
            athrow
        end local 14 // int dl
        end local 13 // int dp
        end local 12 // char[] da
        end local 11 // int sl
        end local 10 // int sp
        end local 9 // byte[] sa
        end local 8 // char c
        end local 7 // byte b4
        end local 6 // byte b3
        end local 5 // byte b2
        end local 4 // byte b1
        end local 3 // int inputSize
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  174     0       this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0  174     1        src  Ljava/nio/ByteBuffer;
            0  174     2        dst  Ljava/nio/CharBuffer;
            1  174     3  inputSize  I
            2  174     4         b1  B
            3  174     5         b2  B
            4  174     6         b3  B
            5  174     7         b4  B
            6  174     8          c  C
            7  174     9         sa  [B
            8  174    10         sp  I
            9  174    11         sl  I
           14  174    12         da  [C
           15  174    13         dp  I
           16  174    14         dl  I
      Exception table:
        from    to  target  type
          20    28     170  any
          31    35     170  any
          38    41     170  any
          44    48     170  any
          51    57     170  any
          60    69     170  any
          72    75     170  any
          78    82     170  any
          85    88     170  any
          91    95     170  any
          98    99     170  any
         102   105     170  any
         108   112     170  any
         115   119     170  any
         122   125     170  any
         128   136     170  any
         139   144     170  any
         147   152     170  any
         155   160     170  any
         163   167     170  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 397
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
         1: .line 398
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.decodeArrayLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.decodeBufferLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0    3     1   src  Ljava/nio/ByteBuffer;
            0    3     2   dst  Ljava/nio/CharBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   
}
SourceFile: "ISO2022_CN.java"
NestHost: sun.nio.cs.ext.ISO2022_CN
InnerClasses:
  public Decoder = sun.nio.cs.ext.EUC_CN$Decoder of sun.nio.cs.ext.EUC_CN
  public Decoder = sun.nio.cs.ext.EUC_TW$Decoder of sun.nio.cs.ext.EUC_TW
  Decoder = sun.nio.cs.ext.ISO2022_CN$Decoder of sun.nio.cs.ext.ISO2022_CN