public class sun.nio.cs.ext.HKSCS$Encoder extends sun.nio.cs.ext.DoubleByte$Encoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.nio.cs.ext.HKSCS$Encoder
  super_class: sun.nio.cs.ext.DoubleByte$Encoder
{
  private sun.nio.cs.ext.DoubleByte$Encoder big5Enc;
    descriptor: Lsun/nio/cs/ext/DoubleByte$Encoder;
    flags: (0x0002) ACC_PRIVATE

  private char[][] c2bBmp;
    descriptor: [[C
    flags: (0x0002) ACC_PRIVATE

  private char[][] c2bSupp;
    descriptor: [[C
    flags: (0x0002) ACC_PRIVATE

  private byte[] repl;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  static char[] C2B_UNMAPPABLE;
    descriptor: [C
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 392
            sipush 256
            newarray 5
            putstatic sun.nio.cs.ext.HKSCS$Encoder.C2B_UNMAPPABLE:[C
         1: .line 394
            getstatic sun.nio.cs.ext.HKSCS$Encoder.C2B_UNMAPPABLE:[C
            ldc 65533
            invokestatic java.util.Arrays.fill:([CC)V
         2: .line 395
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(java.nio.charset.Charset, sun.nio.cs.ext.DoubleByte$Encoder, char[][], char[][]);
    descriptor: (Ljava/nio/charset/Charset;Lsun/nio/cs/ext/DoubleByte$Encoder;[[C[[C)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // sun.nio.cs.ext.DoubleByte$Encoder big5Enc
        start local 3 // char[][] c2bBmp
        start local 4 // char[][] c2bSupp
         0: .line 241
            aload 0 /* this */
            aload 1 /* cs */
            aconst_null
            aconst_null
            invokespecial sun.nio.cs.ext.DoubleByte$Encoder.<init>:(Ljava/nio/charset/Charset;[C[C)V
         1: .line 359
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.replacement:()[B
            putfield sun.nio.cs.ext.HKSCS$Encoder.repl:[B
         2: .line 242
            aload 0 /* this */
            aload 2 /* big5Enc */
            putfield sun.nio.cs.ext.HKSCS$Encoder.big5Enc:Lsun/nio/cs/ext/DoubleByte$Encoder;
         3: .line 243
            aload 0 /* this */
            aload 3 /* c2bBmp */
            putfield sun.nio.cs.ext.HKSCS$Encoder.c2bBmp:[[C
         4: .line 244
            aload 0 /* this */
            aload 4 /* c2bSupp */
            putfield sun.nio.cs.ext.HKSCS$Encoder.c2bSupp:[[C
         5: .line 245
            return
        end local 4 // char[][] c2bSupp
        end local 3 // char[][] c2bBmp
        end local 2 // sun.nio.cs.ext.DoubleByte$Encoder big5Enc
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    6     1       cs  Ljava/nio/charset/Charset;
            0    6     2  big5Enc  Lsun/nio/cs/ext/DoubleByte$Encoder;
            0    6     3   c2bBmp  [[C
            0    6     4  c2bSupp  [[C
    MethodParameters:
         Name  Flags
      cs       
      big5Enc  
      c2bBmp   
      c2bSupp  

  public int encodeBig5(char);
    descriptor: (C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // char ch
         0: .line 248
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.big5Enc:Lsun/nio/cs/ext/DoubleByte$Encoder;
            iload 1 /* ch */
            invokevirtual sun.nio.cs.ext.DoubleByte$Encoder.encodeChar:(C)I
            ireturn
        end local 1 // char ch
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    1     1    ch  C
    MethodParameters:
      Name  Flags
      ch    

  public int encodeChar(char);
    descriptor: (C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // char ch
         0: .line 252
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.c2bBmp:[[C
            iload 1 /* ch */
            bipush 8
            ishr
            aaload
            iload 1 /* ch */
            sipush 255
            iand
            caload
            istore 2 /* bb */
        start local 2 // int bb
         1: .line 253
            iload 2 /* bb */
            ldc 65533
            if_icmpne 3
         2: .line 254
            aload 0 /* this */
            iload 1 /* ch */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeBig5:(C)I
            ireturn
         3: .line 255
      StackMap locals: int
      StackMap stack:
            iload 2 /* bb */
            ireturn
        end local 2 // int bb
        end local 1 // char ch
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    4     1    ch  C
            1    4     2    bb  I
    MethodParameters:
      Name  Flags
      ch    

  public int encodeSupp(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // int cp
         0: .line 259
            iload 1 /* cp */
            ldc 983040
            iand
            ldc 131072
            if_icmpeq 2
         1: .line 260
            ldc 65533
            ireturn
         2: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.c2bSupp:[[C
            iload 1 /* cp */
            bipush 8
            ishr
            sipush 255
            iand
            aaload
            iload 1 /* cp */
            sipush 255
            iand
            caload
            ireturn
        end local 1 // int cp
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    3     1    cp  I
    MethodParameters:
      Name  Flags
      cp    

  public boolean canEncode(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // char c
         0: .line 265
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeChar:(C)I
            ldc 65533
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // char c
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  protected java.nio.charset.CoderResult encodeArrayLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 269
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 3 /* sa */
        start local 3 // char[] sa
         1: .line 270
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            iadd
            istore 4 /* sp */
        start local 4 // int sp
         2: .line 271
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.limit:()I
            iadd
            istore 5 /* sl */
        start local 5 // int sl
         3: .line 273
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 6 /* da */
        start local 6 // byte[] da
         4: .line 274
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 7 /* dp */
        start local 7 // int dp
         5: .line 275
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iadd
            istore 8 /* dl */
        start local 8 // int dl
         6: .line 278
            goto 46
         7: .line 279
      StackMap locals: sun.nio.cs.ext.HKSCS$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            caload
            istore 9 /* c */
        start local 9 // char c
         8: .line 280
            iconst_1
            istore 10 /* inSize */
        start local 10 // int inSize
         9: .line 281
            aload 0 /* this */
            iload 9 /* c */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeChar:(C)I
            istore 11 /* bb */
        start local 11 // int bb
        10: .line 282
            iload 11 /* bb */
            ldc 65533
            if_icmpne 30
        11: .line 283
            iload 9 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 26
        12: .line 285
            aload 0 /* this */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.sgp:()Lsun/nio/cs/Surrogate$Parser;
            iload 9 /* c */
            aload 3 /* sa */
            iload 4 /* sp */
            iload 5 /* sl */
            invokevirtual sun.nio.cs.Surrogate$Parser.parse:(C[CII)I
            dup
            istore 12 /* cp */
        start local 12 // int cp
        13: ifge 18
        14: .line 286
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 14
        15: .line 309
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        16: .line 310
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        17: .line 286
            aload 14
            areturn
        18: .line 287
      StackMap locals: sun.nio.cs.ext.HKSCS$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 12 /* cp */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeSupp:(I)I
            istore 11 /* bb */
        19: .line 288
            iload 11 /* bb */
            ldc 65533
            if_icmpne 24
        20: .line 289
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        21: .line 309
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        22: .line 310
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        23: .line 289
            aload 14
            areturn
        24: .line 290
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 10 /* inSize */
        end local 12 // int cp
        25: .line 291
            goto 30
        26: .line 292
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        27: .line 309
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        28: .line 310
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        29: .line 292
            aload 14
            areturn
        30: .line 295
      StackMap locals:
      StackMap stack:
            iload 11 /* bb */
            sipush 255
            if_icmple 39
        31: .line 296
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_2
            if_icmpge 36
        32: .line 297
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        33: .line 309
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        34: .line 310
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        35: .line 297
            aload 14
            areturn
        36: .line 298
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* bb */
            bipush 8
            ishr
            i2b
            bastore
        37: .line 299
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* bb */
            i2b
            bastore
        38: .line 300
            goto 45
        39: .line 301
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iconst_1
            if_icmpge 44
        40: .line 302
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        41: .line 309
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        42: .line 310
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        43: .line 302
            aload 14
            areturn
        44: .line 303
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 11 /* bb */
            i2b
            bastore
        45: .line 305
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 10 /* inSize */
            iadd
            istore 4 /* sp */
        end local 11 // int bb
        end local 10 // int inSize
        end local 9 // char c
        46: .line 278
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 7
        47: .line 307
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        48: .line 309
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        49: .line 310
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        50: .line 307
            aload 14
            areturn
        51: .line 308
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        52: .line 309
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        53: .line 310
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        54: .line 311
            aload 13
            athrow
        end local 8 // int dl
        end local 7 // int dp
        end local 6 // byte[] da
        end local 5 // int sl
        end local 4 // int sp
        end local 3 // char[] sa
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   55     0    this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0   55     1     src  Ljava/nio/CharBuffer;
            0   55     2     dst  Ljava/nio/ByteBuffer;
            1   55     3      sa  [C
            2   55     4      sp  I
            3   55     5      sl  I
            4   55     6      da  [B
            5   55     7      dp  I
            6   55     8      dl  I
            8   46     9       c  C
            9   46    10  inSize  I
           10   46    11      bb  I
           13   25    12      cp  I
      Exception table:
        from    to  target  type
           6    15      51  any
          18    21      51  any
          24    27      51  any
          30    33      51  any
          36    41      51  any
          44    48      51  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult encodeBufferLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 315
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 317
            goto 36
         2: .line 318
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 4 /* inSize */
        start local 4 // int inSize
         3: .line 319
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 5 /* c */
        start local 5 // char c
         4: .line 320
            aload 0 /* this */
            iload 5 /* c */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeChar:(C)I
            istore 6 /* bb */
        start local 6 // int bb
         5: .line 321
            iload 6 /* bb */
            ldc 65533
            if_icmpne 22
         6: .line 322
            iload 5 /* c */
            invokestatic java.lang.Character.isSurrogate:(C)Z
            ifeq 19
         7: .line 324
            aload 0 /* this */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.sgp:()Lsun/nio/cs/Surrogate$Parser;
            iload 5 /* c */
            aload 1 /* src */
            invokevirtual sun.nio.cs.Surrogate$Parser.parse:(CLjava/nio/CharBuffer;)I
            dup
            istore 7 /* cp */
        start local 7 // int cp
         8: ifge 12
         9: .line 325
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
            invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
            astore 9
        10: .line 348
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        11: .line 325
            aload 9
            areturn
        12: .line 326
      StackMap locals: sun.nio.cs.ext.HKSCS$Encoder java.nio.CharBuffer java.nio.ByteBuffer int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* cp */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeSupp:(I)I
            istore 6 /* bb */
        13: .line 327
            iload 6 /* bb */
            ldc 65533
            if_icmpne 17
        14: .line 328
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        15: .line 348
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        16: .line 328
            aload 9
            areturn
        17: .line 329
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 4 /* inSize */
        end local 7 // int cp
        18: .line 330
            goto 22
        19: .line 331
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        20: .line 348
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        21: .line 331
            aload 9
            areturn
        22: .line 334
      StackMap locals:
      StackMap stack:
            iload 6 /* bb */
            sipush 255
            if_icmple 30
        23: .line 335
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 27
        24: .line 336
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        25: .line 348
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        26: .line 336
            aload 9
            areturn
        27: .line 337
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 6 /* bb */
            bipush 8
            ishr
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        28: .line 338
            aload 2 /* dst */
            iload 6 /* bb */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        29: .line 339
            goto 35
        30: .line 340
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 34
        31: .line 341
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        32: .line 348
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        33: .line 341
            aload 9
            areturn
        34: .line 342
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 6 /* bb */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        35: .line 344
      StackMap locals:
      StackMap stack:
            iload 3 /* mark */
            iload 4 /* inSize */
            iadd
            istore 3 /* mark */
        end local 6 // int bb
        end local 5 // char c
        end local 4 // int inSize
        36: .line 317
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 2
        37: .line 346
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        38: .line 348
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        39: .line 346
            aload 9
            areturn
        40: .line 347
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        41: .line 348
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        42: .line 349
            aload 8
            athrow
        end local 3 // int mark
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   43     0    this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0   43     1     src  Ljava/nio/CharBuffer;
            0   43     2     dst  Ljava/nio/ByteBuffer;
            1   43     3    mark  I
            3   36     4  inSize  I
            4   36     5       c  C
            5   36     6      bb  I
            8   18     7      cp  I
      Exception table:
        from    to  target  type
           1    10      40  any
          12    15      40  any
          17    20      40  any
          22    25      40  any
          27    32      40  any
          34    38      40  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 353
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
         1: .line 354
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeBufferLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            areturn
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    3     1   src  Ljava/nio/CharBuffer;
            0    3     2   dst  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected void implReplaceWith(byte[]);
    descriptor: ([B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // byte[] newReplacement
         0: .line 361
            aload 0 /* this */
            aload 1 /* newReplacement */
            putfield sun.nio.cs.ext.HKSCS$Encoder.repl:[B
         1: .line 362
            return
        end local 1 // byte[] newReplacement
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0    2     1  newReplacement  [B
    MethodParameters:
                Name  Flags
      newReplacement  

  public int encode(char[], int, int, byte[]);
    descriptor: ([CII[B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // sun.nio.cs.ext.HKSCS$Encoder this
        start local 1 // char[] src
        start local 2 // int sp
        start local 3 // int len
        start local 4 // byte[] dst
         0: .line 365
            iconst_0
            istore 5 /* dp */
        start local 5 // int dp
         1: .line 366
            iload 2 /* sp */
            iload 3 /* len */
            iadd
            istore 6 /* sl */
        start local 6 // int sl
         2: .line 367
            goto 20
         3: .line 368
      StackMap locals: int int
      StackMap stack:
            aload 1 /* src */
            iload 2 /* sp */
            iinc 2 /* sp */ 1
            caload
            istore 7 /* c */
        start local 7 // char c
         4: .line 369
            aload 0 /* this */
            iload 7 /* c */
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeChar:(C)I
            istore 8 /* bb */
        start local 8 // int bb
         5: .line 370
            iload 8 /* bb */
            ldc 65533
            if_icmpne 15
         6: .line 371
            iload 7 /* c */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifeq 11
            iload 2 /* sp */
            iload 6 /* sl */
            if_icmpeq 11
         7: .line 372
            aload 1 /* src */
            iload 2 /* sp */
            caload
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifeq 11
         8: .line 373
            aload 0 /* this */
            iload 7 /* c */
            aload 1 /* src */
            iload 2 /* sp */
            iinc 2 /* sp */ 1
            caload
            invokestatic java.lang.Character.toCodePoint:(CC)I
            invokevirtual sun.nio.cs.ext.HKSCS$Encoder.encodeSupp:(I)I
            dup
            istore 8 /* bb */
         9: .line 374
            ldc 65533
        10: .line 373
            if_icmpne 15
        11: .line 375
      StackMap locals: int int
      StackMap stack:
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.repl:[B
            iconst_0
            baload
            bastore
        12: .line 376
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.repl:[B
            arraylength
            iconst_1
            if_icmple 20
        13: .line 377
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            aload 0 /* this */
            getfield sun.nio.cs.ext.HKSCS$Encoder.repl:[B
            iconst_1
            baload
            bastore
        14: .line 378
            goto 20
        15: .line 381
      StackMap locals:
      StackMap stack:
            iload 8 /* bb */
            sipush 255
            if_icmple 19
        16: .line 382
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            iload 8 /* bb */
            bipush 8
            ishr
            i2b
            bastore
        17: .line 383
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            iload 8 /* bb */
            i2b
            bastore
        18: .line 384
            goto 20
        19: .line 385
      StackMap locals:
      StackMap stack:
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            iload 8 /* bb */
            i2b
            bastore
        end local 8 // int bb
        end local 7 // char c
        20: .line 367
      StackMap locals:
      StackMap stack:
            iload 2 /* sp */
            iload 6 /* sl */
            if_icmplt 3
        21: .line 388
            iload 5 /* dp */
            ireturn
        end local 6 // int sl
        end local 5 // int dp
        end local 4 // byte[] dst
        end local 3 // int len
        end local 2 // int sp
        end local 1 // char[] src
        end local 0 // sun.nio.cs.ext.HKSCS$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lsun/nio/cs/ext/HKSCS$Encoder;
            0   22     1   src  [C
            0   22     2    sp  I
            0   22     3   len  I
            0   22     4   dst  [B
            1   22     5    dp  I
            2   22     6    sl  I
            4   20     7     c  C
            5   20     8    bb  I
    MethodParameters:
      Name  Flags
      src   
      sp    
      len   
      dst   

  static void initc2b(char[][], java.lang.String[], java.lang.String);
    descriptor: ([[C[Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // char[][] c2b
        start local 1 // java.lang.String[] b2cStr
        start local 2 // java.lang.String pua
         0: .line 399
            bipush 64
            istore 3 /* b2Min */
        start local 3 // int b2Min
         1: .line 400
            aload 0 /* c2b */
            getstatic sun.nio.cs.ext.HKSCS$Encoder.C2B_UNMAPPABLE:[C
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 401
            iconst_0
            istore 4 /* b1 */
        start local 4 // int b1
         3: goto 18
         4: .line 402
      StackMap locals: int int
      StackMap stack:
            aload 1 /* b2cStr */
            iload 4 /* b1 */
            aaload
            astore 5 /* s */
        start local 5 // java.lang.String s
         5: .line 403
            aload 5 /* s */
            ifnonnull 7
         6: .line 404
            goto 17
         7: .line 405
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 16
         9: .line 406
      StackMap locals: int
      StackMap stack:
            aload 5 /* s */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* c */
        start local 7 // char c
        10: .line 407
            iload 7 /* c */
            bipush 8
            ishr
            istore 8 /* hi */
        start local 8 // int hi
        11: .line 408
            aload 0 /* c2b */
            iload 8 /* hi */
            aaload
            getstatic sun.nio.cs.ext.HKSCS$Encoder.C2B_UNMAPPABLE:[C
            if_acmpne 14
        12: .line 409
            aload 0 /* c2b */
            iload 8 /* hi */
            sipush 256
            newarray 5
            aastore
        13: .line 410
            aload 0 /* c2b */
            iload 8 /* hi */
            aaload
            ldc 65533
            invokestatic java.util.Arrays.fill:([CC)V
        14: .line 412
      StackMap locals: int int
      StackMap stack:
            aload 0 /* c2b */
            iload 8 /* hi */
            aaload
            iload 7 /* c */
            sipush 255
            iand
            iload 4 /* b1 */
            bipush 8
            ishl
            iload 6 /* i */
            iload 3 /* b2Min */
            iadd
            ior
            i2c
            castore
        end local 8 // int hi
        end local 7 // char c
        15: .line 405
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            aload 5 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 9
        end local 6 // int i
        end local 5 // java.lang.String s
        17: .line 401
      StackMap locals:
      StackMap stack:
            iinc 4 /* b1 */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* b1 */
            sipush 256
            if_icmplt 4
        end local 4 // int b1
        19: .line 415
            aload 2 /* pua */
            ifnull 33
        20: .line 416
            ldc 57344
            istore 4 /* c */
        start local 4 // char c
        21: .line 417
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        22: goto 32
        23: .line 418
      StackMap locals: char[][] java.lang.String[] java.lang.String int int int
      StackMap stack:
            aload 2 /* pua */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* bb */
        start local 6 // char bb
        24: .line 419
            iload 6 /* bb */
            ldc 65533
            if_icmpeq 30
        25: .line 420
            iload 4 /* c */
            bipush 8
            ishr
            istore 7 /* hi */
        start local 7 // int hi
        26: .line 421
            aload 0 /* c2b */
            iload 7 /* hi */
            aaload
            getstatic sun.nio.cs.ext.HKSCS$Encoder.C2B_UNMAPPABLE:[C
            if_acmpne 29
        27: .line 422
            aload 0 /* c2b */
            iload 7 /* hi */
            sipush 256
            newarray 5
            aastore
        28: .line 423
            aload 0 /* c2b */
            iload 7 /* hi */
            aaload
            ldc 65533
            invokestatic java.util.Arrays.fill:([CC)V
        29: .line 425
      StackMap locals: int int
      StackMap stack:
            aload 0 /* c2b */
            iload 7 /* hi */
            aaload
            iload 4 /* c */
            sipush 255
            iand
            iload 6 /* bb */
            castore
        end local 7 // int hi
        30: .line 427
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            iconst_1
            iadd
            i2c
            istore 4 /* c */
        end local 6 // char bb
        31: .line 417
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 5 /* i */
            aload 2 /* pua */
            invokevirtual java.lang.String.length:()I
            if_icmplt 23
        end local 5 // int i
        end local 4 // char c
        33: .line 430
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int b2Min
        end local 2 // java.lang.String pua
        end local 1 // java.lang.String[] b2cStr
        end local 0 // char[][] c2b
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   34     0     c2b  [[C
            0   34     1  b2cStr  [Ljava/lang/String;
            0   34     2     pua  Ljava/lang/String;
            1   34     3   b2Min  I
            3   19     4      b1  I
            5   17     5       s  Ljava/lang/String;
            8   17     6       i  I
           10   15     7       c  C
           11   15     8      hi  I
           21   33     4       c  C
           22   33     5       i  I
           24   31     6      bb  C
           26   30     7      hi  I
    MethodParameters:
        Name  Flags
      c2b     
      b2cStr  
      pua     
}
SourceFile: "HKSCS.java"
NestHost: sun.nio.cs.ext.HKSCS
InnerClasses:
  public Parser = sun.nio.cs.Surrogate$Parser of sun.nio.cs.Surrogate
  public Encoder = sun.nio.cs.ext.DoubleByte$Encoder of sun.nio.cs.ext.DoubleByte
  public Encoder = sun.nio.cs.ext.HKSCS$Encoder of sun.nio.cs.ext.HKSCS