public final class java.lang.String implements java.io.Serializable, java.lang.Comparable<java.lang.String>, java.lang.CharSequence
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.lang.String
  super_class: java.lang.Object
{
  private final char[] value;
    descriptor: [C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -6849794470754667710

  private static final java.io.ObjectStreamField[] serialPersistentFields;
    descriptor: [Ljava/io/ObjectStreamField;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.util.Comparator<java.lang.String> CASE_INSENSITIVE_ORDER;
    descriptor: Ljava/util/Comparator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Comparator<Ljava/lang/String;>;

  private static final int HASHING_SEED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private transient int hash32;
    descriptor: I
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=10, args_size=0
         0: .line 132
            iconst_0
            anewarray java.io.ObjectStreamField
         1: .line 131
            putstatic java.lang.String.serialPersistentFields:[Ljava/io/ObjectStreamField;
         2: .line 1169
            new java.lang.String$CaseInsensitiveComparator
            dup
            invokespecial java.lang.String$CaseInsensitiveComparator.<init>:()V
         3: .line 1168
            putstatic java.lang.String.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
         4: .line 3030
            invokestatic java.lang.System.nanoTime:()J
            lstore 0 /* nanos */
        start local 0 // long nanos
         5: .line 3031
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* now */
        start local 2 // long now
         6: .line 3032
            bipush 7
            newarray 10
            dup
            iconst_0
         7: .line 3033
            ldc Ljava/lang/String;
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            iastore
            dup
            iconst_1
         8: .line 3034
            ldc Ljava/lang/System;
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            iastore
            dup
            iconst_2
         9: .line 3035
            lload 0 /* nanos */
            bipush 32
            lushr
            l2i
            iastore
            dup
            iconst_3
        10: .line 3036
            lload 0 /* nanos */
            l2i
            iastore
            dup
            iconst_4
        11: .line 3037
            lload 2 /* now */
            bipush 32
            lushr
            l2i
            iastore
            dup
            iconst_5
        12: .line 3038
            lload 2 /* now */
            l2i
            iastore
            dup
            bipush 6
        13: .line 3039
            invokestatic java.lang.System.nanoTime:()J
            iconst_2
            lushr
            l2i
            iastore
        14: .line 3032
            astore 4 /* SEED_MATERIAL */
        start local 4 // int[] SEED_MATERIAL
        15: .line 3044
            iconst_0
            istore 5 /* h1 */
        start local 5 // int h1
        16: .line 3047
            aload 4 /* SEED_MATERIAL */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 25
      StackMap locals: long long int[] int top int int int[]
      StackMap stack:
        17: aload 9
            iload 7
            iaload
            istore 6 /* k1 */
        start local 6 // int k1
        18: .line 3048
            iload 6 /* k1 */
            ldc -862048943
            imul
            istore 6 /* k1 */
        19: .line 3049
            iload 6 /* k1 */
            bipush 15
            ishl
            iload 6 /* k1 */
            bipush 17
            iushr
            ior
            istore 6 /* k1 */
        20: .line 3050
            iload 6 /* k1 */
            ldc 461845907
            imul
            istore 6 /* k1 */
        21: .line 3052
            iload 5 /* h1 */
            iload 6 /* k1 */
            ixor
            istore 5 /* h1 */
        22: .line 3053
            iload 5 /* h1 */
            bipush 13
            ishl
            iload 5 /* h1 */
            bipush 19
            iushr
            ior
            istore 5 /* h1 */
        23: .line 3054
            iload 5 /* h1 */
            iconst_5
            imul
            ldc -430675100
            iadd
            istore 5 /* h1 */
        end local 6 // int k1
        24: .line 3047
            iinc 7 1
      StackMap locals:
      StackMap stack:
        25: iload 7
            iload 8
            if_icmplt 17
        26: .line 3061
            iload 5 /* h1 */
            aload 4 /* SEED_MATERIAL */
            arraylength
            iconst_4
            imul
            ixor
            istore 5 /* h1 */
        27: .line 3064
            iload 5 /* h1 */
            iload 5 /* h1 */
            bipush 16
            iushr
            ixor
            istore 5 /* h1 */
        28: .line 3065
            iload 5 /* h1 */
            ldc -2048144789
            imul
            istore 5 /* h1 */
        29: .line 3066
            iload 5 /* h1 */
            iload 5 /* h1 */
            bipush 13
            iushr
            ixor
            istore 5 /* h1 */
        30: .line 3067
            iload 5 /* h1 */
            ldc -1028477387
            imul
            istore 5 /* h1 */
        31: .line 3068
            iload 5 /* h1 */
            iload 5 /* h1 */
            bipush 16
            iushr
            ixor
            istore 5 /* h1 */
        32: .line 3070
            iload 5 /* h1 */
            putstatic java.lang.String.HASHING_SEED:I
        end local 5 // int h1
        end local 4 // int[] SEED_MATERIAL
        end local 2 // long now
        end local 0 // long nanos
        33: .line 3071
            return
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            5   33     0          nanos  J
            6   33     2            now  J
           15   33     4  SEED_MATERIAL  [I
           16   33     5             h1  I
           18   24     6             k1  I

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String this
         0: .line 139
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3076
            aload 0 /* this */
            iconst_0
            putfield java.lang.String.hash32:I
         2: .line 140
            aload 0 /* this */
            iconst_0
            newarray 5
            putfield java.lang.String.value:[C
         3: .line 141
            return
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/String;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.String original
         0: .line 153
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3076
            aload 0 /* this */
            iconst_0
            putfield java.lang.String.hash32:I
         2: .line 154
            aload 0 /* this */
            aload 1 /* original */
            getfield java.lang.String.value:[C
            putfield java.lang.String.value:[C
         3: .line 155
            aload 0 /* this */
            aload 1 /* original */
            getfield java.lang.String.hash:I
            putfield java.lang.String.hash:I
         4: .line 156
            return
        end local 1 // java.lang.String original
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljava/lang/String;
            0    5     1  original  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      original  

  public void <init>(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // char[] value
         0: .line 167
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3076
            aload 0 /* this */
            iconst_0
            putfield java.lang.String.hash32:I
         2: .line 168
            aload 0 /* this */
            aload 1 /* value */
            aload 1 /* value */
            arraylength
            invokestatic java.util.Arrays.copyOf:([CI)[C
            putfield java.lang.String.value:[C
         3: .line 169
            return
        end local 1 // char[] value
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljava/lang/String;
            0    4     1  value  [C
    MethodParameters:
       Name  Flags
      value  

  public void <init>(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.lang.String this
        start local 1 // char[] value
        start local 2 // int offset
        start local 3 // int count
         0: .line 192
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3076
            aload 0 /* this */
            iconst_0
            putfield java.lang.String.hash32:I
         2: .line 193
            iload 2 /* offset */
            ifge 4
         3: .line 194
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* offset */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         4: .line 196
      StackMap locals: java.lang.String char[] int int
      StackMap stack:
            iload 3 /* count */
            ifge 6
         5: .line 197
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 3 /* count */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         6: .line 200
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            aload 1 /* value */
            arraylength
            iload 3 /* count */
            isub
            if_icmple 8
         7: .line 201
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* offset */
            iload 3 /* count */
            iadd
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         8: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            iload 2 /* offset */
            iload 2 /* offset */
            iload 3 /* count */
            iadd
            invokestatic java.util.Arrays.copyOfRange:([CII)[C
            putfield java.lang.String.value:[C
         9: .line 204
            return
        end local 3 // int count
        end local 2 // int offset
        end local 1 // char[] value
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljava/lang/String;
            0   10     1   value  [C
            0   10     2  offset  I
            0   10     3   count  I
    MethodParameters:
        Name  Flags
      value   
      offset  
      count   

  public void <init>(int[], int, int);
    descriptor: ([III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // java.lang.String this
        start local 1 // int[] codePoints
        start local 2 // int offset
        start local 3 // int count
         0: .line 234
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3076
            aload 0 /* this */
            iconst_0
            putfield java.lang.String.hash32:I
         2: .line 235
            iload 2 /* offset */
            ifge 4
         3: .line 236
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* offset */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         4: .line 238
      StackMap locals: java.lang.String int[] int int
      StackMap stack:
            iload 3 /* count */
            ifge 6
         5: .line 239
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 3 /* count */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         6: .line 242
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            aload 1 /* codePoints */
            arraylength
            iload 3 /* count */
            isub
            if_icmple 8
         7: .line 243
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* offset */
            iload 3 /* count */
            iadd
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         8: .line 246
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            iload 3 /* count */
            iadd
            istore 4 /* end */
        start local 4 // int end
         9: .line 249
            iload 3 /* count */
            istore 5 /* n */
        start local 5 // int n
        10: .line 250
            iload 2 /* offset */
            istore 6 /* i */
        start local 6 // int i
        11: goto 19
        12: .line 251
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* codePoints */
            iload 6 /* i */
            iaload
            istore 7 /* c */
        start local 7 // int c
        13: .line 252
            iload 7 /* c */
            invokestatic java.lang.Character.isBmpCodePoint:(I)Z
            ifeq 15
        14: .line 253
            goto 18
        15: .line 254
      StackMap locals: int
      StackMap stack:
            iload 7 /* c */
            invokestatic java.lang.Character.isValidCodePoint:(I)Z
            ifeq 17
        16: .line 255
            iinc 5 /* n */ 1
            goto 18
        17: .line 256
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            iload 7 /* c */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // int c
        18: .line 250
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* i */
            iload 4 /* end */
            if_icmplt 12
        end local 6 // int i
        20: .line 260
            iload 5 /* n */
            newarray 5
            astore 6 /* v */
        start local 6 // char[] v
        21: .line 262
            iload 2 /* offset */
            istore 7 /* i */
        start local 7 // int i
        22: iconst_0
            istore 8 /* j */
        start local 8 // int j
        23: goto 29
        24: .line 263
      StackMap locals: java.lang.String int[] int int int int char[] int int
      StackMap stack:
            aload 1 /* codePoints */
            iload 7 /* i */
            iaload
            istore 9 /* c */
        start local 9 // int c
        25: .line 264
            iload 9 /* c */
            invokestatic java.lang.Character.isBmpCodePoint:(I)Z
            ifeq 27
        26: .line 265
            aload 6 /* v */
            iload 8 /* j */
            iload 9 /* c */
            i2c
            castore
            goto 28
        27: .line 267
      StackMap locals: int
      StackMap stack:
            iload 9 /* c */
            aload 6 /* v */
            iload 8 /* j */
            iinc 8 /* j */ 1
            invokestatic java.lang.Character.toSurrogates:(I[CI)V
        end local 9 // int c
        28: .line 262
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        29: iload 7 /* i */
            iload 4 /* end */
            if_icmplt 24
        end local 8 // int j
        end local 7 // int i
        30: .line 270
            aload 0 /* this */
            aload 6 /* v */
            putfield java.lang.String.value:[C
        31: .line 271
            return
        end local 6 // char[] v
        end local 5 // int n
        end local 4 // int end
        end local 3 // int count
        end local 2 // int offset
        end local 1 // int[] codePoints
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   32     0        this  Ljava/lang/String;
            0   32     1  codePoints  [I
            0   32     2      offset  I
            0   32     3       count  I
            9   32     4         end  I
           10   32     5           n  I
           11   20     6           i  I
           13   18     7           c  I
           21   32     6           v  [C
           22   30     7           i  I
           23   30     8           j  I
           25   28     9           c  I
    MethodParameters:
            Name  Flags
      codePoints  
      offset      
      count       

  public void <init>(byte[], int, int, int);
    descriptor: ([BIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // java.lang.String this
        start local 1 // byte[] ascii
        start local 2 // int hibyte
        start local 3 // int offset
        start local 4 // int count
         0: .line 313
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3076
            aload 0 /* this */
            iconst_0
            putfield java.lang.String.hash32:I
         2: .line 314
            aload 1 /* ascii */
            iload 3 /* offset */
            iload 4 /* count */
            invokestatic java.lang.String.checkBounds:([BII)V
         3: .line 315
            iload 4 /* count */
            newarray 5
            astore 5 /* value */
        start local 5 // char[] value
         4: .line 317
            iload 2 /* hibyte */
            ifne 10
         5: .line 318
            iload 4 /* count */
            istore 6 /* i */
        start local 6 // int i
         6: goto 8
         7: .line 319
      StackMap locals: java.lang.String byte[] int int int char[] int
      StackMap stack:
            aload 5 /* value */
            iload 6 /* i */
            aload 1 /* ascii */
            iload 6 /* i */
            iload 3 /* offset */
            iadd
            baload
            sipush 255
            iand
            i2c
            castore
         8: .line 318
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iinc 6 /* i */ -1
            ifgt 7
        end local 6 // int i
         9: .line 321
            goto 15
        10: .line 322
      StackMap locals:
      StackMap stack:
            iload 2 /* hibyte */
            bipush 8
            ishl
            istore 2 /* hibyte */
        11: .line 323
            iload 4 /* count */
            istore 6 /* i */
        start local 6 // int i
        12: goto 14
        13: .line 324
      StackMap locals: int
      StackMap stack:
            aload 5 /* value */
            iload 6 /* i */
            iload 2 /* hibyte */
            aload 1 /* ascii */
            iload 6 /* i */
            iload 3 /* offset */
            iadd
            baload
            sipush 255
            iand
            ior
            i2c
            castore
        14: .line 323
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iinc 6 /* i */ -1
            ifgt 13
        end local 6 // int i
        15: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* value */
            putfield java.lang.String.value:[C
        16: .line 328
            return
        end local 5 // char[] value
        end local 4 // int count
        end local 3 // int offset
        end local 2 // int hibyte
        end local 1 // byte[] ascii
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Ljava/lang/String;
            0   17     1   ascii  [B
            0   17     2  hibyte  I
            0   17     3  offset  I
            0   17     4   count  I
            4   17     5   value  [C
            6    9     6       i  I
           12   15     6       i  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      ascii   
      hibyte  
      offset  
      count   

  public void <init>(byte[], int);
    descriptor: ([BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // byte[] ascii
        start local 2 // int hibyte
         0: .line 362
            aload 0 /* this */
            aload 1 /* ascii */
            iload 2 /* hibyte */
            iconst_0
            aload 1 /* ascii */
            arraylength
            invokespecial java.lang.String.<init>:([BIII)V
         1: .line 363
            return
        end local 2 // int hibyte
        end local 1 // byte[] ascii
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/lang/String;
            0    2     1   ascii  [B
            0    2     2  hibyte  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      ascii   
      hibyte  

  private static void checkBounds(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // byte[] bytes
        start local 1 // int offset
        start local 2 // int length
         0: .line 370
            iload 2 /* length */
            ifge 2
         1: .line 371
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* length */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         2: .line 372
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            ifge 4
         3: .line 373
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* offset */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         4: .line 374
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            aload 0 /* bytes */
            arraylength
            iload 2 /* length */
            isub
            if_icmple 6
         5: .line 375
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         6: .line 376
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0   bytes  [B
            0    7     1  offset  I
            0    7     2  length  I
    MethodParameters:
        Name  Flags
      bytes   
      offset  
      length  

  public void <init>(byte[], int, int, java.lang.String);
    descriptor: ([BIILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.lang.String this
        start local 1 // byte[] bytes
        start local 2 // int offset
        start local 3 // int length
        start local 4 // java.lang.String charsetName
         0: .line 411
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3076
            aload 0 /* this */
            iconst_0
            putfield java.lang.String.hash32:I
         2: .line 413
            aload 4 /* charsetName */
            ifnonnull 4
         3: .line 414
            new java.lang.NullPointerException
            dup
            ldc "charsetName"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 415
      StackMap locals: java.lang.String byte[] int int java.lang.String
      StackMap stack:
            aload 1 /* bytes */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic java.lang.String.checkBounds:([BII)V
         5: .line 416
            aload 0 /* this */
            aload 4 /* charsetName */
            aload 1 /* bytes */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic java.lang.StringCoding.decode:(Ljava/lang/String;[BII)[C
            putfield java.lang.String.value:[C
         6: .line 417
            return
        end local 4 // java.lang.String charsetName
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] bytes
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Ljava/lang/String;
            0    7     1        bytes  [B
            0    7     2       offset  I
            0    7     3       length  I
            0    7     4  charsetName  Ljava/lang/String;
    Exceptions:
      throws java.io.UnsupportedEncodingException
    MethodParameters:
             Name  Flags
      bytes        
      offset       
      length       
      charsetName  

  public void <init>(byte[], int, int, java.nio.charset.Charset);
    descriptor: ([BIILjava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.lang.String this
        start local 1 // byte[] bytes
        start local 2 // int offset
        start local 3 // int length
        start local 4 // java.nio.charset.Charset charset
         0: .line 449
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3076
            aload 0 /* this */
            iconst_0
            putfield java.lang.String.hash32:I
         2: .line 450
            aload 4 /* charset */
            ifnonnull 4
         3: .line 451
            new java.lang.NullPointerException
            dup
            ldc "charset"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 452
      StackMap locals: java.lang.String byte[] int int java.nio.charset.Charset
      StackMap stack:
            aload 1 /* bytes */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic java.lang.String.checkBounds:([BII)V
         5: .line 453
            aload 0 /* this */
            aload 4 /* charset */
            aload 1 /* bytes */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic java.lang.StringCoding.decode:(Ljava/nio/charset/Charset;[BII)[C
            putfield java.lang.String.value:[C
         6: .line 454
            return
        end local 4 // java.nio.charset.Charset charset
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] bytes
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Ljava/lang/String;
            0    7     1    bytes  [B
            0    7     2   offset  I
            0    7     3   length  I
            0    7     4  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      bytes    
      offset   
      length   
      charset  

  public void <init>(byte[], java.lang.String);
    descriptor: ([BLjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // byte[] bytes
        start local 2 // java.lang.String charsetName
         0: .line 481
            aload 0 /* this */
            aload 1 /* bytes */
            iconst_0
            aload 1 /* bytes */
            arraylength
            aload 2 /* charsetName */
            invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
         1: .line 482
            return
        end local 2 // java.lang.String charsetName
        end local 1 // byte[] bytes
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljava/lang/String;
            0    2     1        bytes  [B
            0    2     2  charsetName  Ljava/lang/String;
    Exceptions:
      throws java.io.UnsupportedEncodingException
    MethodParameters:
             Name  Flags
      bytes        
      charsetName  

  public void <init>(byte[], java.nio.charset.Charset);
    descriptor: ([BLjava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // byte[] bytes
        start local 2 // java.nio.charset.Charset charset
         0: .line 505
            aload 0 /* this */
            aload 1 /* bytes */
            iconst_0
            aload 1 /* bytes */
            arraylength
            aload 2 /* charset */
            invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
         1: .line 506
            return
        end local 2 // java.nio.charset.Charset charset
        end local 1 // byte[] bytes
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljava/lang/String;
            0    2     1    bytes  [B
            0    2     2  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      bytes    
      charset  

  public void <init>(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.String this
        start local 1 // byte[] bytes
        start local 2 // int offset
        start local 3 // int length
         0: .line 534
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3076
            aload 0 /* this */
            iconst_0
            putfield java.lang.String.hash32:I
         2: .line 535
            aload 1 /* bytes */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic java.lang.String.checkBounds:([BII)V
         3: .line 536
            aload 0 /* this */
            aload 1 /* bytes */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic java.lang.StringCoding.decode:([BII)[C
            putfield java.lang.String.value:[C
         4: .line 537
            return
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] bytes
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/lang/String;
            0    5     1   bytes  [B
            0    5     2  offset  I
            0    5     3  length  I
    MethodParameters:
        Name  Flags
      bytes   
      offset  
      length  

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // byte[] bytes
         0: .line 556
            aload 0 /* this */
            aload 1 /* bytes */
            iconst_0
            aload 1 /* bytes */
            arraylength
            invokespecial java.lang.String.<init>:([BII)V
         1: .line 557
            return
        end local 1 // byte[] bytes
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/lang/String;
            0    2     1  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public void <init>(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.StringBuffer buffer
         0: .line 568
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3076
            aload 0 /* this */
            iconst_0
            putfield java.lang.String.hash32:I
         2: .line 569
            aload 1 /* buffer */
            dup
            astore 2
            monitorenter
         3: .line 570
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.getValue:()[C
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.length:()I
            invokestatic java.util.Arrays.copyOf:([CI)[C
            putfield java.lang.String.value:[C
         4: .line 569
            aload 2
            monitorexit
         5: goto 8
      StackMap locals: java.lang.String java.lang.StringBuffer java.lang.StringBuffer
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 572
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljava/lang/String;
            0    9     1  buffer  Ljava/lang/StringBuffer;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any
    MethodParameters:
        Name  Flags
      buffer  

  public void <init>(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.StringBuilder builder
         0: .line 589
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3076
            aload 0 /* this */
            iconst_0
            putfield java.lang.String.hash32:I
         2: .line 590
            aload 0 /* this */
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.getValue:()[C
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.length:()I
            invokestatic java.util.Arrays.copyOf:([CI)[C
            putfield java.lang.String.value:[C
         3: .line 591
            return
        end local 1 // java.lang.StringBuilder builder
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljava/lang/String;
            0    4     1  builder  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      builder  

  void <init>(char[], boolean);
    descriptor: ([CZ)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // char[] value
        start local 2 // boolean share
         0: .line 599
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3076
            aload 0 /* this */
            iconst_0
            putfield java.lang.String.hash32:I
         2: .line 601
            aload 0 /* this */
            aload 1 /* value */
            putfield java.lang.String.value:[C
         3: .line 602
            return
        end local 2 // boolean share
        end local 1 // char[] value
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljava/lang/String;
            0    4     1  value  [C
            0    4     2  share  Z
    MethodParameters:
       Name  Flags
      value  
      share  

  void <init>(int, int, char[]);
    descriptor: (II[C)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.String this
        start local 1 // int offset
        start local 2 // int count
        start local 3 // char[] value
         0: .line 611
            aload 0 /* this */
            aload 3 /* value */
            iload 1 /* offset */
            iload 2 /* count */
            invokespecial java.lang.String.<init>:([CII)V
         1: .line 612
            return
        end local 3 // char[] value
        end local 2 // int count
        end local 1 // int offset
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/lang/String;
            0    2     1  offset  I
            0    2     2   count  I
            0    2     3   value  [C
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      offset  
      count   
      value   

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String this
         0: .line 623
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            ireturn
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/String;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String this
         0: .line 635
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/String;

  public char charAt(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // int index
         0: .line 657
            iload 1 /* index */
            iflt 1
            iload 1 /* index */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            if_icmplt 2
         1: .line 658
      StackMap locals:
      StackMap stack:
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* index */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         2: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iload 1 /* index */
            caload
            ireturn
        end local 1 // int index
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/lang/String;
            0    3     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public int codePointAt(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // int index
         0: .line 686
            iload 1 /* index */
            iflt 1
            iload 1 /* index */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            if_icmplt 2
         1: .line 687
      StackMap locals:
      StackMap stack:
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* index */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         2: .line 689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iload 1 /* index */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            invokestatic java.lang.Character.codePointAtImpl:([CII)I
            ireturn
        end local 1 // int index
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/lang/String;
            0    3     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public int codePointBefore(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String this
        start local 1 // int index
         0: .line 715
            iload 1 /* index */
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         1: .line 716
            iload 2 /* i */
            iflt 2
            iload 2 /* i */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            if_icmplt 3
         2: .line 717
      StackMap locals: int
      StackMap stack:
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* index */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         3: .line 719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iload 1 /* index */
            iconst_0
            invokestatic java.lang.Character.codePointBeforeImpl:([CII)I
            ireturn
        end local 2 // int i
        end local 1 // int index
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljava/lang/String;
            0    4     1  index  I
            1    4     2      i  I
    MethodParameters:
       Name  Flags
      index  

  public int codePointCount(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // int beginIndex
        start local 2 // int endIndex
         0: .line 744
            iload 1 /* beginIndex */
            iflt 1
            iload 2 /* endIndex */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            if_icmpgt 1
            iload 1 /* beginIndex */
            iload 2 /* endIndex */
            if_icmple 2
         1: .line 745
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 747
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iload 1 /* beginIndex */
            iload 2 /* endIndex */
            iload 1 /* beginIndex */
            isub
            invokestatic java.lang.Character.codePointCountImpl:([CII)I
            ireturn
        end local 2 // int endIndex
        end local 1 // int beginIndex
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljava/lang/String;
            0    3     1  beginIndex  I
            0    3     2    endIndex  I
    MethodParameters:
            Name  Flags
      beginIndex  
      endIndex    

  public int offsetByCodePoints(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // int index
        start local 2 // int codePointOffset
         0: .line 771
            iload 1 /* index */
            iflt 1
            iload 1 /* index */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            if_icmple 2
         1: .line 772
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iconst_0
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
         3: .line 775
            iload 1 /* index */
            iload 2 /* codePointOffset */
         4: .line 774
            invokestatic java.lang.Character.offsetByCodePointsImpl:([CIIII)I
            ireturn
        end local 2 // int codePointOffset
        end local 1 // int index
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Ljava/lang/String;
            0    5     1            index  I
            0    5     2  codePointOffset  I
    MethodParameters:
                 Name  Flags
      index            
      codePointOffset  

  void getChars(char[], int);
    descriptor: ([CI)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // char[] dst
        start local 2 // int dstBegin
         0: .line 783
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iconst_0
            aload 1 /* dst */
            iload 2 /* dstBegin */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 784
            return
        end local 2 // int dstBegin
        end local 1 // char[] dst
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljava/lang/String;
            0    2     1       dst  [C
            0    2     2  dstBegin  I
    MethodParameters:
          Name  Flags
      dst       
      dstBegin  

  public void getChars(int, int, char[], int);
    descriptor: (II[CI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // java.lang.String this
        start local 1 // int srcBegin
        start local 2 // int srcEnd
        start local 3 // char[] dst
        start local 4 // int dstBegin
         0: .line 817
            iload 1 /* srcBegin */
            ifge 2
         1: .line 818
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* srcBegin */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         2: .line 820
      StackMap locals:
      StackMap stack:
            iload 2 /* srcEnd */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            if_icmple 4
         3: .line 821
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* srcEnd */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         4: .line 823
      StackMap locals:
      StackMap stack:
            iload 1 /* srcBegin */
            iload 2 /* srcEnd */
            if_icmple 6
         5: .line 824
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* srcEnd */
            iload 1 /* srcBegin */
            isub
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         6: .line 826
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iload 1 /* srcBegin */
            aload 3 /* dst */
            iload 4 /* dstBegin */
            iload 2 /* srcEnd */
            iload 1 /* srcBegin */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 827
            return
        end local 4 // int dstBegin
        end local 3 // char[] dst
        end local 2 // int srcEnd
        end local 1 // int srcBegin
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Ljava/lang/String;
            0    8     1  srcBegin  I
            0    8     2    srcEnd  I
            0    8     3       dst  [C
            0    8     4  dstBegin  I
    MethodParameters:
          Name  Flags
      srcBegin  
      srcEnd    
      dst       
      dstBegin  

  public void getBytes(int, int, byte[], int);
    descriptor: (II[BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // java.lang.String this
        start local 1 // int srcBegin
        start local 2 // int srcEnd
        start local 3 // byte[] dst
        start local 4 // int dstBegin
         0: .line 874
            iload 1 /* srcBegin */
            ifge 2
         1: .line 875
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* srcBegin */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         2: .line 877
      StackMap locals:
      StackMap stack:
            iload 2 /* srcEnd */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            if_icmple 4
         3: .line 878
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* srcEnd */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         4: .line 880
      StackMap locals:
      StackMap stack:
            iload 1 /* srcBegin */
            iload 2 /* srcEnd */
            if_icmple 6
         5: .line 881
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* srcEnd */
            iload 1 /* srcBegin */
            isub
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         6: .line 883
      StackMap locals:
      StackMap stack:
            iload 4 /* dstBegin */
            istore 5 /* j */
        start local 5 // int j
         7: .line 884
            iload 2 /* srcEnd */
            istore 6 /* n */
        start local 6 // int n
         8: .line 885
            iload 1 /* srcBegin */
            istore 7 /* i */
        start local 7 // int i
         9: .line 886
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 8 /* val */
        start local 8 // char[] val
        10: .line 888
            goto 12
        11: .line 889
      StackMap locals: java.lang.String int int byte[] int int int int char[]
      StackMap stack:
            aload 3 /* dst */
            iload 5 /* j */
            iinc 5 /* j */ 1
            aload 8 /* val */
            iload 7 /* i */
            iinc 7 /* i */ 1
            caload
            i2b
            bastore
        12: .line 888
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iload 6 /* n */
            if_icmplt 11
        13: .line 891
            return
        end local 8 // char[] val
        end local 7 // int i
        end local 6 // int n
        end local 5 // int j
        end local 4 // int dstBegin
        end local 3 // byte[] dst
        end local 2 // int srcEnd
        end local 1 // int srcBegin
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Ljava/lang/String;
            0   14     1  srcBegin  I
            0   14     2    srcEnd  I
            0   14     3       dst  [B
            0   14     4  dstBegin  I
            7   14     5         j  I
            8   14     6         n  I
            9   14     7         i  I
           10   14     8       val  [C
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      srcBegin  
      srcEnd    
      dst       
      dstBegin  

  public byte[] getBytes(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.String charsetName
         0: .line 915
            aload 1 /* charsetName */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 916
      StackMap locals:
      StackMap stack:
            aload 1 /* charsetName */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iconst_0
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            invokestatic java.lang.StringCoding.encode:(Ljava/lang/String;[CII)[B
            areturn
        end local 1 // java.lang.String charsetName
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljava/lang/String;
            0    2     1  charsetName  Ljava/lang/String;
    Exceptions:
      throws java.io.UnsupportedEncodingException
    MethodParameters:
             Name  Flags
      charsetName  

  public byte[] getBytes(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.nio.charset.Charset charset
         0: .line 938
            aload 1 /* charset */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         1: .line 939
      StackMap locals:
      StackMap stack:
            aload 1 /* charset */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iconst_0
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            invokestatic java.lang.StringCoding.encode:(Ljava/nio/charset/Charset;[CII)[B
            areturn
        end local 1 // java.nio.charset.Charset charset
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljava/lang/String;
            0    2     1  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      charset  

  public byte[] getBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String this
         0: .line 956
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iconst_0
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            invokestatic java.lang.StringCoding.encode:([CII)[B
            areturn
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/String;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.Object anObject
         0: .line 975
            aload 0 /* this */
            aload 1 /* anObject */
            if_acmpne 2
         1: .line 976
            iconst_1
            ireturn
         2: .line 978
      StackMap locals:
      StackMap stack:
            aload 1 /* anObject */
            instanceof java.lang.String
            ifeq 15
         3: .line 979
            aload 1 /* anObject */
            checkcast java.lang.String
            astore 2 /* anotherString */
        start local 2 // java.lang.String anotherString
         4: .line 980
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            istore 3 /* n */
        start local 3 // int n
         5: .line 981
            iload 3 /* n */
            aload 2 /* anotherString */
            getfield java.lang.String.value:[C
            arraylength
            if_icmpne 15
         6: .line 982
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 4 /* v1 */
        start local 4 // char[] v1
         7: .line 983
            aload 2 /* anotherString */
            getfield java.lang.String.value:[C
            astore 5 /* v2 */
        start local 5 // char[] v2
         8: .line 984
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: .line 985
            goto 13
        10: .line 986
      StackMap locals: java.lang.String java.lang.Object java.lang.String int char[] char[] int
      StackMap stack:
            aload 4 /* v1 */
            iload 6 /* i */
            caload
            aload 5 /* v2 */
            iload 6 /* i */
            caload
            if_icmpeq 12
        11: .line 987
            iconst_0
            ireturn
        12: .line 988
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
        13: .line 985
      StackMap locals:
      StackMap stack:
            iload 3 /* n */
            iinc 3 /* n */ -1
            ifne 10
        14: .line 990
            iconst_1
            ireturn
        end local 6 // int i
        end local 5 // char[] v2
        end local 4 // char[] v1
        end local 3 // int n
        end local 2 // java.lang.String anotherString
        15: .line 993
      StackMap locals: java.lang.String java.lang.Object
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object anObject
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Ljava/lang/String;
            0   16     1       anObject  Ljava/lang/Object;
            4   15     2  anotherString  Ljava/lang/String;
            5   15     3              n  I
            7   15     4             v1  [C
            8   15     5             v2  [C
            9   15     6              i  I
    MethodParameters:
          Name  Flags
      anObject  

  public boolean contentEquals(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.StringBuffer sb
         0: .line 1011
            aload 1 /* sb */
            dup
            astore 2
            monitorenter
         1: .line 1012
            aload 0 /* this */
            aload 1 /* sb */
            invokevirtual java.lang.String.contentEquals:(Ljava/lang/CharSequence;)Z
            aload 2
            monitorexit
         2: ireturn
         3: .line 1011
      StackMap locals: java.lang.String java.lang.StringBuffer java.lang.StringBuffer
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         4: athrow
        end local 1 // java.lang.StringBuffer sb
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/lang/String;
            0    5     1    sb  Ljava/lang/StringBuffer;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    MethodParameters:
      Name  Flags
      sb    

  public boolean contentEquals(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.CharSequence cs
         0: .line 1031
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            aload 1 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            if_icmpeq 2
         1: .line 1032
            iconst_0
            ireturn
         2: .line 1034
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            instanceof java.lang.AbstractStringBuilder
            ifeq 13
         3: .line 1035
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 2 /* v1 */
        start local 2 // char[] v1
         4: .line 1036
            aload 1 /* cs */
            checkcast java.lang.AbstractStringBuilder
            invokevirtual java.lang.AbstractStringBuilder.getValue:()[C
            astore 3 /* v2 */
        start local 3 // char[] v2
         5: .line 1037
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: .line 1038
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            istore 5 /* n */
        start local 5 // int n
         7: .line 1039
            goto 11
         8: .line 1040
      StackMap locals: java.lang.String java.lang.CharSequence char[] char[] int int
      StackMap stack:
            aload 2 /* v1 */
            iload 4 /* i */
            caload
            aload 3 /* v2 */
            iload 4 /* i */
            caload
            if_icmpeq 10
         9: .line 1041
            iconst_0
            ireturn
        10: .line 1042
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
        11: .line 1039
      StackMap locals:
      StackMap stack:
            iload 5 /* n */
            iinc 5 /* n */ -1
            ifne 8
        12: .line 1044
            iconst_1
            ireturn
        end local 5 // int n
        end local 4 // int i
        end local 3 // char[] v2
        end local 2 // char[] v1
        13: .line 1047
      StackMap locals: java.lang.String java.lang.CharSequence
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 1048
            iconst_1
            ireturn
        15: .line 1050
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 2 /* v1 */
        start local 2 // char[] v1
        16: .line 1051
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        17: .line 1052
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            istore 4 /* n */
        start local 4 // int n
        18: .line 1053
            goto 22
        19: .line 1054
      StackMap locals: char[] int int
      StackMap stack:
            aload 2 /* v1 */
            iload 3 /* i */
            caload
            aload 1 /* cs */
            iload 3 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            if_icmpeq 21
        20: .line 1055
            iconst_0
            ireturn
        21: .line 1056
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        22: .line 1053
      StackMap locals:
      StackMap stack:
            iload 4 /* n */
            iinc 4 /* n */ -1
            ifne 19
        23: .line 1058
            iconst_1
            ireturn
        end local 4 // int n
        end local 3 // int i
        end local 2 // char[] v1
        end local 1 // java.lang.CharSequence cs
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Ljava/lang/String;
            0   24     1    cs  Ljava/lang/CharSequence;
            4   13     2    v1  [C
            5   13     3    v2  [C
            6   13     4     i  I
            7   13     5     n  I
           16   24     2    v1  [C
           17   24     3     i  I
           18   24     4     n  I
    MethodParameters:
      Name  Flags
      cs    

  public boolean equalsIgnoreCase(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.String anotherString
         0: .line 1090
            aload 0 /* this */
            aload 1 /* anotherString */
            if_acmpne 1
            iconst_1
            goto 6
         1: .line 1091
      StackMap locals:
      StackMap stack:
            aload 1 /* anotherString */
            ifnull 5
         2: .line 1092
            aload 1 /* anotherString */
            getfield java.lang.String.value:[C
            arraylength
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            if_icmpne 5
         3: .line 1093
            aload 0 /* this */
            iconst_1
            iconst_0
            aload 1 /* anotherString */
            iconst_0
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
            ifeq 5
         4: .line 1090
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 1 // java.lang.String anotherString
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljava/lang/String;
            0    7     1  anotherString  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      anotherString  

  public int compareTo(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=10, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.String anotherString
         0: .line 1138
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            istore 2 /* len1 */
        start local 2 // int len1
         1: .line 1139
            aload 1 /* anotherString */
            getfield java.lang.String.value:[C
            arraylength
            istore 3 /* len2 */
        start local 3 // int len2
         2: .line 1140
            iload 2 /* len1 */
            iload 3 /* len2 */
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* lim */
        start local 4 // int lim
         3: .line 1141
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 5 /* v1 */
        start local 5 // char[] v1
         4: .line 1142
            aload 1 /* anotherString */
            getfield java.lang.String.value:[C
            astore 6 /* v2 */
        start local 6 // char[] v2
         5: .line 1144
            iconst_0
            istore 7 /* k */
        start local 7 // int k
         6: .line 1145
            goto 12
         7: .line 1146
      StackMap locals: java.lang.String java.lang.String int int int char[] char[] int
      StackMap stack:
            aload 5 /* v1 */
            iload 7 /* k */
            caload
            istore 8 /* c1 */
        start local 8 // char c1
         8: .line 1147
            aload 6 /* v2 */
            iload 7 /* k */
            caload
            istore 9 /* c2 */
        start local 9 // char c2
         9: .line 1148
            iload 8 /* c1 */
            iload 9 /* c2 */
            if_icmpeq 11
        10: .line 1149
            iload 8 /* c1 */
            iload 9 /* c2 */
            isub
            ireturn
        11: .line 1151
      StackMap locals: int int
      StackMap stack:
            iinc 7 /* k */ 1
        end local 9 // char c2
        end local 8 // char c1
        12: .line 1145
      StackMap locals:
      StackMap stack:
            iload 7 /* k */
            iload 4 /* lim */
            if_icmplt 7
        13: .line 1153
            iload 2 /* len1 */
            iload 3 /* len2 */
            isub
            ireturn
        end local 7 // int k
        end local 6 // char[] v2
        end local 5 // char[] v1
        end local 4 // int lim
        end local 3 // int len2
        end local 2 // int len1
        end local 1 // java.lang.String anotherString
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Ljava/lang/String;
            0   14     1  anotherString  Ljava/lang/String;
            1   14     2           len1  I
            2   14     3           len2  I
            3   14     4            lim  I
            4   14     5             v1  [C
            5   14     6             v2  [C
            6   14     7              k  I
            8   12     8             c1  C
            9   12     9             c2  C
    MethodParameters:
               Name  Flags
      anotherString  

  public int compareToIgnoreCase(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.String str
         0: .line 1220
            getstatic java.lang.String.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
            aload 0 /* this */
            aload 1 /* str */
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ireturn
        end local 1 // java.lang.String str
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/String;
            0    1     1   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public boolean regionMatches(int, java.lang.String, int, int);
    descriptor: (ILjava/lang/String;II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // java.lang.String this
        start local 1 // int toffset
        start local 2 // java.lang.String other
        start local 3 // int ooffset
        start local 4 // int len
         0: .line 1256
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 5 /* ta */
        start local 5 // char[] ta
         1: .line 1257
            iload 1 /* toffset */
            istore 6 /* to */
        start local 6 // int to
         2: .line 1258
            aload 2 /* other */
            getfield java.lang.String.value:[C
            astore 7 /* pa */
        start local 7 // char[] pa
         3: .line 1259
            iload 3 /* ooffset */
            istore 8 /* po */
        start local 8 // int po
         4: .line 1261
            iload 3 /* ooffset */
            iflt 7
            iload 1 /* toffset */
            iflt 7
         5: .line 1262
            iload 1 /* toffset */
            i2l
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            i2l
            iload 4 /* len */
            i2l
            lsub
            lcmp
            ifgt 7
         6: .line 1263
            iload 3 /* ooffset */
            i2l
            aload 2 /* other */
            getfield java.lang.String.value:[C
            arraylength
            i2l
            iload 4 /* len */
            i2l
            lsub
            lcmp
            ifle 10
         7: .line 1264
      StackMap locals: java.lang.String int java.lang.String int int char[] int char[] int
      StackMap stack:
            iconst_0
            ireturn
         8: .line 1267
      StackMap locals:
      StackMap stack:
            aload 5 /* ta */
            iload 6 /* to */
            iinc 6 /* to */ 1
            caload
            aload 7 /* pa */
            iload 8 /* po */
            iinc 8 /* po */ 1
            caload
            if_icmpeq 10
         9: .line 1268
            iconst_0
            ireturn
        10: .line 1266
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            iinc 4 /* len */ -1
            ifgt 8
        11: .line 1271
            iconst_1
            ireturn
        end local 8 // int po
        end local 7 // char[] pa
        end local 6 // int to
        end local 5 // char[] ta
        end local 4 // int len
        end local 3 // int ooffset
        end local 2 // java.lang.String other
        end local 1 // int toffset
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Ljava/lang/String;
            0   12     1  toffset  I
            0   12     2    other  Ljava/lang/String;
            0   12     3  ooffset  I
            0   12     4      len  I
            1   12     5       ta  [C
            2   12     6       to  I
            3   12     7       pa  [C
            4   12     8       po  I
    MethodParameters:
         Name  Flags
      toffset  
      other    
      ooffset  
      len      

  public boolean regionMatches(boolean, int, java.lang.String, int, int);
    descriptor: (ZILjava/lang/String;II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=6
        start local 0 // java.lang.String this
        start local 1 // boolean ignoreCase
        start local 2 // int toffset
        start local 3 // java.lang.String other
        start local 4 // int ooffset
        start local 5 // int len
         0: .line 1326
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 6 /* ta */
        start local 6 // char[] ta
         1: .line 1327
            iload 2 /* toffset */
            istore 7 /* to */
        start local 7 // int to
         2: .line 1328
            aload 3 /* other */
            getfield java.lang.String.value:[C
            astore 8 /* pa */
        start local 8 // char[] pa
         3: .line 1329
            iload 4 /* ooffset */
            istore 9 /* po */
        start local 9 // int po
         4: .line 1331
            iload 4 /* ooffset */
            iflt 7
            iload 2 /* toffset */
            iflt 7
         5: .line 1332
            iload 2 /* toffset */
            i2l
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            i2l
            iload 5 /* len */
            i2l
            lsub
            lcmp
            ifgt 7
         6: .line 1333
            iload 4 /* ooffset */
            i2l
            aload 3 /* other */
            getfield java.lang.String.value:[C
            arraylength
            i2l
            iload 5 /* len */
            i2l
            lsub
            lcmp
            ifle 20
         7: .line 1334
      StackMap locals: java.lang.String int int java.lang.String int int char[] int char[] int
      StackMap stack:
            iconst_0
            ireturn
         8: .line 1337
      StackMap locals:
      StackMap stack:
            aload 6 /* ta */
            iload 7 /* to */
            iinc 7 /* to */ 1
            caload
            istore 10 /* c1 */
        start local 10 // char c1
         9: .line 1338
            aload 8 /* pa */
            iload 9 /* po */
            iinc 9 /* po */ 1
            caload
            istore 11 /* c2 */
        start local 11 // char c2
        10: .line 1339
            iload 10 /* c1 */
            iload 11 /* c2 */
            if_icmpne 12
        11: .line 1340
            goto 20
        12: .line 1342
      StackMap locals: int int
      StackMap stack:
            iload 1 /* ignoreCase */
            ifeq 19
        13: .line 1347
            iload 10 /* c1 */
            invokestatic java.lang.Character.toUpperCase:(C)C
            istore 12 /* u1 */
        start local 12 // char u1
        14: .line 1348
            iload 11 /* c2 */
            invokestatic java.lang.Character.toUpperCase:(C)C
            istore 13 /* u2 */
        start local 13 // char u2
        15: .line 1349
            iload 12 /* u1 */
            iload 13 /* u2 */
            if_icmpne 17
        16: .line 1350
            goto 20
        17: .line 1356
      StackMap locals: int int
      StackMap stack:
            iload 12 /* u1 */
            invokestatic java.lang.Character.toLowerCase:(C)C
            iload 13 /* u2 */
            invokestatic java.lang.Character.toLowerCase:(C)C
            if_icmpne 19
        18: .line 1357
            goto 20
        end local 13 // char u2
        end local 12 // char u1
        19: .line 1360
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 11 // char c2
        end local 10 // char c1
        20: .line 1336
      StackMap locals:
      StackMap stack:
            iload 5 /* len */
            iinc 5 /* len */ -1
            ifgt 8
        21: .line 1362
            iconst_1
            ireturn
        end local 9 // int po
        end local 8 // char[] pa
        end local 7 // int to
        end local 6 // char[] ta
        end local 5 // int len
        end local 4 // int ooffset
        end local 3 // java.lang.String other
        end local 2 // int toffset
        end local 1 // boolean ignoreCase
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Ljava/lang/String;
            0   22     1  ignoreCase  Z
            0   22     2     toffset  I
            0   22     3       other  Ljava/lang/String;
            0   22     4     ooffset  I
            0   22     5         len  I
            1   22     6          ta  [C
            2   22     7          to  I
            3   22     8          pa  [C
            4   22     9          po  I
            9   20    10          c1  C
           10   20    11          c2  C
           14   19    12          u1  C
           15   19    13          u2  C
    MethodParameters:
            Name  Flags
      ignoreCase  
      toffset     
      other       
      ooffset     
      len         

  public boolean startsWith(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.lang.String this
        start local 1 // java.lang.String prefix
        start local 2 // int toffset
         0: .line 1383
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 3 /* ta */
        start local 3 // char[] ta
         1: .line 1384
            iload 2 /* toffset */
            istore 4 /* to */
        start local 4 // int to
         2: .line 1385
            aload 1 /* prefix */
            getfield java.lang.String.value:[C
            astore 5 /* pa */
        start local 5 // char[] pa
         3: .line 1386
            iconst_0
            istore 6 /* po */
        start local 6 // int po
         4: .line 1387
            aload 1 /* prefix */
            getfield java.lang.String.value:[C
            arraylength
            istore 7 /* pc */
        start local 7 // int pc
         5: .line 1389
            iload 2 /* toffset */
            iflt 6
            iload 2 /* toffset */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            iload 7 /* pc */
            isub
            if_icmple 9
         6: .line 1390
      StackMap locals: java.lang.String java.lang.String int char[] int char[] int int
      StackMap stack:
            iconst_0
            ireturn
         7: .line 1393
      StackMap locals:
      StackMap stack:
            aload 3 /* ta */
            iload 4 /* to */
            iinc 4 /* to */ 1
            caload
            aload 5 /* pa */
            iload 6 /* po */
            iinc 6 /* po */ 1
            caload
            if_icmpeq 9
         8: .line 1394
            iconst_0
            ireturn
         9: .line 1392
      StackMap locals:
      StackMap stack:
            iinc 7 /* pc */ -1
            iload 7 /* pc */
            ifge 7
        10: .line 1397
            iconst_1
            ireturn
        end local 7 // int pc
        end local 6 // int po
        end local 5 // char[] pa
        end local 4 // int to
        end local 3 // char[] ta
        end local 2 // int toffset
        end local 1 // java.lang.String prefix
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljava/lang/String;
            0   11     1   prefix  Ljava/lang/String;
            0   11     2  toffset  I
            1   11     3       ta  [C
            2   11     4       to  I
            3   11     5       pa  [C
            4   11     6       po  I
            5   11     7       pc  I
    MethodParameters:
         Name  Flags
      prefix   
      toffset  

  public boolean startsWith(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.String prefix
         0: .line 1414
            aload 0 /* this */
            aload 1 /* prefix */
            iconst_0
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ireturn
        end local 1 // java.lang.String prefix
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/lang/String;
            0    1     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  public boolean endsWith(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.String suffix
         0: .line 1429
            aload 0 /* this */
            aload 1 /* suffix */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            aload 1 /* suffix */
            getfield java.lang.String.value:[C
            arraylength
            isub
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ireturn
        end local 1 // java.lang.String suffix
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/lang/String;
            0    1     1  suffix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      suffix  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String this
         0: .line 1446
            aload 0 /* this */
            getfield java.lang.String.hash:I
            istore 1 /* h */
        start local 1 // int h
         1: .line 1447
            iload 1 /* h */
            ifne 9
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            ifle 9
         2: .line 1448
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 2 /* val */
        start local 2 // char[] val
         3: .line 1450
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 1451
      StackMap locals: int char[] int
      StackMap stack:
            bipush 31
            iload 1 /* h */
            imul
            aload 2 /* val */
            iload 3 /* i */
            caload
            iadd
            istore 1 /* h */
         6: .line 1450
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            if_icmplt 5
        end local 3 // int i
         8: .line 1453
            aload 0 /* this */
            iload 1 /* h */
            putfield java.lang.String.hash:I
        end local 2 // char[] val
         9: .line 1455
      StackMap locals:
      StackMap stack:
            iload 1 /* h */
            ireturn
        end local 1 // int h
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/lang/String;
            1   10     1     h  I
            3    9     2   val  [C
            4    8     3     i  I

  public int indexOf(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // int ch
         0: .line 1483
            aload 0 /* this */
            iload 1 /* ch */
            iconst_0
            invokevirtual java.lang.String.indexOf:(II)I
            ireturn
        end local 1 // int ch
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/String;
            0    1     1    ch  I
    MethodParameters:
      Name  Flags
      ch    

  public int indexOf(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.lang.String this
        start local 1 // int ch
        start local 2 // int fromIndex
         0: .line 1526
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            istore 3 /* max */
        start local 3 // int max
         1: .line 1527
            iload 2 /* fromIndex */
            ifge 4
         2: .line 1528
            iconst_0
            istore 2 /* fromIndex */
         3: .line 1529
            goto 6
      StackMap locals: int
      StackMap stack:
         4: iload 2 /* fromIndex */
            iload 3 /* max */
            if_icmplt 6
         5: .line 1531
            iconst_m1
            ireturn
         6: .line 1534
      StackMap locals:
      StackMap stack:
            iload 1 /* ch */
            ldc 65536
            if_icmpge 15
         7: .line 1537
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 4 /* value */
        start local 4 // char[] value
         8: .line 1538
            iload 2 /* fromIndex */
            istore 5 /* i */
        start local 5 // int i
         9: goto 13
        10: .line 1539
      StackMap locals: char[] int
      StackMap stack:
            aload 4 /* value */
            iload 5 /* i */
            caload
            iload 1 /* ch */
            if_icmpne 12
        11: .line 1540
            iload 5 /* i */
            ireturn
        12: .line 1538
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            iload 3 /* max */
            if_icmplt 10
        end local 5 // int i
        14: .line 1543
            iconst_m1
            ireturn
        end local 4 // char[] value
        15: .line 1545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* ch */
            iload 2 /* fromIndex */
            invokevirtual java.lang.String.indexOfSupplementary:(II)I
            ireturn
        end local 3 // int max
        end local 2 // int fromIndex
        end local 1 // int ch
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Ljava/lang/String;
            0   16     1         ch  I
            0   16     2  fromIndex  I
            1   16     3        max  I
            8   15     4      value  [C
            9   14     5          i  I
    MethodParameters:
           Name  Flags
      ch         
      fromIndex  

  private int indexOfSupplementary(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.lang.String this
        start local 1 // int ch
        start local 2 // int fromIndex
         0: .line 1553
            iload 1 /* ch */
            invokestatic java.lang.Character.isValidCodePoint:(I)Z
            ifeq 11
         1: .line 1554
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 3 /* value */
        start local 3 // char[] value
         2: .line 1555
            iload 1 /* ch */
            invokestatic java.lang.Character.highSurrogate:(I)C
            istore 4 /* hi */
        start local 4 // char hi
         3: .line 1556
            iload 1 /* ch */
            invokestatic java.lang.Character.lowSurrogate:(I)C
            istore 5 /* lo */
        start local 5 // char lo
         4: .line 1557
            aload 3 /* value */
            arraylength
            iconst_1
            isub
            istore 6 /* max */
        start local 6 // int max
         5: .line 1558
            iload 2 /* fromIndex */
            istore 7 /* i */
        start local 7 // int i
         6: goto 10
         7: .line 1559
      StackMap locals: java.lang.String int int char[] int int int int
      StackMap stack:
            aload 3 /* value */
            iload 7 /* i */
            caload
            iload 4 /* hi */
            if_icmpne 9
            aload 3 /* value */
            iload 7 /* i */
            iconst_1
            iadd
            caload
            iload 5 /* lo */
            if_icmpne 9
         8: .line 1560
            iload 7 /* i */
            ireturn
         9: .line 1558
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 7 /* i */
            iload 6 /* max */
            if_icmplt 7
        end local 7 // int i
        end local 6 // int max
        end local 5 // char lo
        end local 4 // char hi
        end local 3 // char[] value
        11: .line 1564
      StackMap locals: java.lang.String int int
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // int fromIndex
        end local 1 // int ch
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/lang/String;
            0   12     1         ch  I
            0   12     2  fromIndex  I
            2   11     3      value  [C
            3   11     4         hi  C
            4   11     5         lo  C
            5   11     6        max  I
            6   11     7          i  I
    MethodParameters:
           Name  Flags
      ch         
      fromIndex  

  public int lastIndexOf(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // int ch
         0: .line 1591
            aload 0 /* this */
            iload 1 /* ch */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            iconst_1
            isub
            invokevirtual java.lang.String.lastIndexOf:(II)I
            ireturn
        end local 1 // int ch
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/String;
            0    1     1    ch  I
    MethodParameters:
      Name  Flags
      ch    

  public int lastIndexOf(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.String this
        start local 1 // int ch
        start local 2 // int fromIndex
         0: .line 1629
            iload 1 /* ch */
            ldc 65536
            if_icmpge 9
         1: .line 1632
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 3 /* value */
        start local 3 // char[] value
         2: .line 1633
            iload 2 /* fromIndex */
            aload 3 /* value */
            arraylength
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* i */
        start local 4 // int i
         3: .line 1634
            goto 7
         4: .line 1635
      StackMap locals: char[] int
      StackMap stack:
            aload 3 /* value */
            iload 4 /* i */
            caload
            iload 1 /* ch */
            if_icmpne 6
         5: .line 1636
            iload 4 /* i */
            ireturn
         6: .line 1634
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            ifge 4
         8: .line 1639
            iconst_m1
            ireturn
        end local 4 // int i
        end local 3 // char[] value
         9: .line 1641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* ch */
            iload 2 /* fromIndex */
            invokevirtual java.lang.String.lastIndexOfSupplementary:(II)I
            ireturn
        end local 2 // int fromIndex
        end local 1 // int ch
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Ljava/lang/String;
            0   10     1         ch  I
            0   10     2  fromIndex  I
            2    9     3      value  [C
            3    9     4          i  I
    MethodParameters:
           Name  Flags
      ch         
      fromIndex  

  private int lastIndexOfSupplementary(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.lang.String this
        start local 1 // int ch
        start local 2 // int fromIndex
         0: .line 1649
            iload 1 /* ch */
            invokestatic java.lang.Character.isValidCodePoint:(I)Z
            ifeq 10
         1: .line 1650
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 3 /* value */
        start local 3 // char[] value
         2: .line 1651
            iload 1 /* ch */
            invokestatic java.lang.Character.highSurrogate:(I)C
            istore 4 /* hi */
        start local 4 // char hi
         3: .line 1652
            iload 1 /* ch */
            invokestatic java.lang.Character.lowSurrogate:(I)C
            istore 5 /* lo */
        start local 5 // char lo
         4: .line 1653
            iload 2 /* fromIndex */
            aload 3 /* value */
            arraylength
            iconst_2
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* i */
        start local 6 // int i
         5: .line 1654
            goto 9
         6: .line 1655
      StackMap locals: java.lang.String int int char[] int int int
      StackMap stack:
            aload 3 /* value */
            iload 6 /* i */
            caload
            iload 4 /* hi */
            if_icmpne 8
            aload 3 /* value */
            iload 6 /* i */
            iconst_1
            iadd
            caload
            iload 5 /* lo */
            if_icmpne 8
         7: .line 1656
            iload 6 /* i */
            ireturn
         8: .line 1654
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            ifge 6
        end local 6 // int i
        end local 5 // char lo
        end local 4 // char hi
        end local 3 // char[] value
        10: .line 1660
      StackMap locals: java.lang.String int int
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // int fromIndex
        end local 1 // int ch
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Ljava/lang/String;
            0   11     1         ch  I
            0   11     2  fromIndex  I
            2   10     3      value  [C
            3   10     4         hi  C
            4   10     5         lo  C
            5   10     6          i  I
    MethodParameters:
           Name  Flags
      ch         
      fromIndex  

  public int indexOf(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.String str
         0: .line 1678
            aload 0 /* this */
            aload 1 /* str */
            iconst_0
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            ireturn
        end local 1 // java.lang.String str
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/String;
            0    1     1   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public int indexOf(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // java.lang.String str
        start local 2 // int fromIndex
         0: .line 1698
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iconst_0
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
         1: .line 1699
            aload 1 /* str */
            getfield java.lang.String.value:[C
            iconst_0
            aload 1 /* str */
            getfield java.lang.String.value:[C
            arraylength
            iload 2 /* fromIndex */
         2: .line 1698
            invokestatic java.lang.String.indexOf:([CII[CIII)I
            ireturn
        end local 2 // int fromIndex
        end local 1 // java.lang.String str
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljava/lang/String;
            0    3     1        str  Ljava/lang/String;
            0    3     2  fromIndex  I
    MethodParameters:
           Name  Flags
      str        
      fromIndex  

  static int indexOf(char[], int, int, char[], int, int, int);
    descriptor: ([CII[CIII)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=13, args_size=7
        start local 0 // char[] source
        start local 1 // int sourceOffset
        start local 2 // int sourceCount
        start local 3 // char[] target
        start local 4 // int targetOffset
        start local 5 // int targetCount
        start local 6 // int fromIndex
         0: .line 1718
            iload 6 /* fromIndex */
            iload 2 /* sourceCount */
            if_icmplt 4
         1: .line 1719
            iload 5 /* targetCount */
            ifne 2
            iload 2 /* sourceCount */
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_m1
      StackMap locals:
      StackMap stack: int
         3: ireturn
         4: .line 1721
      StackMap locals:
      StackMap stack:
            iload 6 /* fromIndex */
            ifge 6
         5: .line 1722
            iconst_0
            istore 6 /* fromIndex */
         6: .line 1724
      StackMap locals:
      StackMap stack:
            iload 5 /* targetCount */
            ifne 8
         7: .line 1725
            iload 6 /* fromIndex */
            ireturn
         8: .line 1728
      StackMap locals:
      StackMap stack:
            aload 3 /* target */
            iload 4 /* targetOffset */
            caload
            istore 7 /* first */
        start local 7 // char first
         9: .line 1729
            iload 1 /* sourceOffset */
            iload 2 /* sourceCount */
            iload 5 /* targetCount */
            isub
            iadd
            istore 8 /* max */
        start local 8 // int max
        10: .line 1731
            iload 1 /* sourceOffset */
            iload 6 /* fromIndex */
            iadd
            istore 9 /* i */
        start local 9 // int i
        11: goto 25
        12: .line 1733
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* source */
            iload 9 /* i */
            caload
            iload 7 /* first */
            if_icmpeq 14
        13: .line 1734
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
            iload 9 /* i */
            iload 8 /* max */
            if_icmpgt 14
            aload 0 /* source */
            iload 9 /* i */
            caload
            iload 7 /* first */
            if_icmpne 13
        14: .line 1738
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            iload 8 /* max */
            if_icmpgt 24
        15: .line 1739
            iload 9 /* i */
            iconst_1
            iadd
            istore 10 /* j */
        start local 10 // int j
        16: .line 1740
            iload 10 /* j */
            iload 5 /* targetCount */
            iadd
            iconst_1
            isub
            istore 11 /* end */
        start local 11 // int end
        17: .line 1741
            iload 4 /* targetOffset */
            iconst_1
            iadd
            istore 12 /* k */
        start local 12 // int k
        18: goto 20
        19: .line 1742
      StackMap locals: int int int
      StackMap stack:
            iinc 10 /* j */ 1
            iinc 12 /* k */ 1
        20: .line 1741
      StackMap locals:
      StackMap stack:
            iload 10 /* j */
            iload 11 /* end */
            if_icmpge 22
            aload 0 /* source */
            iload 10 /* j */
            caload
        21: .line 1742
            aload 3 /* target */
            iload 12 /* k */
            caload
            if_icmpeq 19
        end local 12 // int k
        22: .line 1744
      StackMap locals:
      StackMap stack:
            iload 10 /* j */
            iload 11 /* end */
            if_icmpne 24
        23: .line 1746
            iload 9 /* i */
            iload 1 /* sourceOffset */
            isub
            ireturn
        end local 11 // int end
        end local 10 // int j
        24: .line 1731
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 9 /* i */
            iload 8 /* max */
            if_icmple 12
        end local 9 // int i
        26: .line 1750
            iconst_m1
            ireturn
        end local 8 // int max
        end local 7 // char first
        end local 6 // int fromIndex
        end local 5 // int targetCount
        end local 4 // int targetOffset
        end local 3 // char[] target
        end local 2 // int sourceCount
        end local 1 // int sourceOffset
        end local 0 // char[] source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0        source  [C
            0   27     1  sourceOffset  I
            0   27     2   sourceCount  I
            0   27     3        target  [C
            0   27     4  targetOffset  I
            0   27     5   targetCount  I
            0   27     6     fromIndex  I
            9   27     7         first  C
           10   27     8           max  I
           11   26     9             i  I
           16   24    10             j  I
           17   24    11           end  I
           18   22    12             k  I
    MethodParameters:
              Name  Flags
      source        
      sourceOffset  
      sourceCount   
      target        
      targetOffset  
      targetCount   
      fromIndex     

  public int lastIndexOf(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.String str
         0: .line 1769
            aload 0 /* this */
            aload 1 /* str */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
            ireturn
        end local 1 // java.lang.String str
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/String;
            0    1     1   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public int lastIndexOf(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // java.lang.String str
        start local 2 // int fromIndex
         0: .line 1789
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iconst_0
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
         1: .line 1790
            aload 1 /* str */
            getfield java.lang.String.value:[C
            iconst_0
            aload 1 /* str */
            getfield java.lang.String.value:[C
            arraylength
            iload 2 /* fromIndex */
         2: .line 1789
            invokestatic java.lang.String.lastIndexOf:([CII[CIII)I
            ireturn
        end local 2 // int fromIndex
        end local 1 // java.lang.String str
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljava/lang/String;
            0    3     1        str  Ljava/lang/String;
            0    3     2  fromIndex  I
    MethodParameters:
           Name  Flags
      str        
      fromIndex  

  static int lastIndexOf(char[], int, int, char[], int, int, int);
    descriptor: ([CII[CIII)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=15, args_size=7
        start local 0 // char[] source
        start local 1 // int sourceOffset
        start local 2 // int sourceCount
        start local 3 // char[] target
        start local 4 // int targetOffset
        start local 5 // int targetCount
        start local 6 // int fromIndex
         0: .line 1813
            iload 2 /* sourceCount */
            iload 5 /* targetCount */
            isub
            istore 7 /* rightIndex */
        start local 7 // int rightIndex
         1: .line 1814
            iload 6 /* fromIndex */
            ifge 3
         2: .line 1815
            iconst_m1
            ireturn
         3: .line 1817
      StackMap locals: int
      StackMap stack:
            iload 6 /* fromIndex */
            iload 7 /* rightIndex */
            if_icmple 5
         4: .line 1818
            iload 7 /* rightIndex */
            istore 6 /* fromIndex */
         5: .line 1821
      StackMap locals:
      StackMap stack:
            iload 5 /* targetCount */
            ifne 7
         6: .line 1822
            iload 6 /* fromIndex */
            ireturn
         7: .line 1825
      StackMap locals:
      StackMap stack:
            iload 4 /* targetOffset */
            iload 5 /* targetCount */
            iadd
            iconst_1
            isub
            istore 8 /* strLastIndex */
        start local 8 // int strLastIndex
         8: .line 1826
            aload 3 /* target */
            iload 8 /* strLastIndex */
            caload
            istore 9 /* strLastChar */
        start local 9 // char strLastChar
         9: .line 1827
            iload 1 /* sourceOffset */
            iload 5 /* targetCount */
            iadd
            iconst_1
            isub
            istore 10 /* min */
        start local 10 // int min
        10: .line 1828
            iload 10 /* min */
            iload 6 /* fromIndex */
            iadd
            istore 11 /* i */
        start local 11 // int i
        11: .line 1832
            goto 13
        12: .line 1833
      StackMap locals: char[] int int char[] int int int int int int int int
      StackMap stack:
            iinc 11 /* i */ -1
        13: .line 1832
      StackMap locals:
      StackMap stack:
            iload 11 /* i */
            iload 10 /* min */
            if_icmplt 14
            aload 0 /* source */
            iload 11 /* i */
            caload
            iload 9 /* strLastChar */
            if_icmpne 12
        14: .line 1835
      StackMap locals:
      StackMap stack:
            iload 11 /* i */
            iload 10 /* min */
            if_icmpge 16
        15: .line 1836
            iconst_m1
            ireturn
        16: .line 1838
      StackMap locals:
      StackMap stack:
            iload 11 /* i */
            iconst_1
            isub
            istore 12 /* j */
        start local 12 // int j
        17: .line 1839
            iload 12 /* j */
            iload 5 /* targetCount */
            iconst_1
            isub
            isub
            istore 13 /* start */
        start local 13 // int start
        18: .line 1840
            iload 8 /* strLastIndex */
            iconst_1
            isub
            istore 14 /* k */
        start local 14 // int k
        19: .line 1842
            goto 23
        20: .line 1843
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* source */
            iload 12 /* j */
            iinc 12 /* j */ -1
            caload
            aload 3 /* target */
            iload 14 /* k */
            iinc 14 /* k */ -1
            caload
            if_icmpeq 23
        21: .line 1844
            iinc 11 /* i */ -1
        22: .line 1845
            goto 25
        23: .line 1842
      StackMap locals:
      StackMap stack:
            iload 12 /* j */
            iload 13 /* start */
            if_icmpgt 20
        24: .line 1848
            iload 13 /* start */
            iload 1 /* sourceOffset */
            isub
            iconst_1
            iadd
            ireturn
        end local 14 // int k
        end local 13 // int start
        end local 12 // int j
        25: .line 1831
      StackMap locals:
      StackMap stack:
            goto 13
        end local 11 // int i
        end local 10 // int min
        end local 9 // char strLastChar
        end local 8 // int strLastIndex
        end local 7 // int rightIndex
        end local 6 // int fromIndex
        end local 5 // int targetCount
        end local 4 // int targetOffset
        end local 3 // char[] target
        end local 2 // int sourceCount
        end local 1 // int sourceOffset
        end local 0 // char[] source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0        source  [C
            0   26     1  sourceOffset  I
            0   26     2   sourceCount  I
            0   26     3        target  [C
            0   26     4  targetOffset  I
            0   26     5   targetCount  I
            0   26     6     fromIndex  I
            1   26     7    rightIndex  I
            8   26     8  strLastIndex  I
            9   26     9   strLastChar  C
           10   26    10           min  I
           11   26    11             i  I
           17   25    12             j  I
           18   25    13         start  I
           19   25    14             k  I
    MethodParameters:
              Name  Flags
      source        
      sourceOffset  
      sourceCount   
      target        
      targetOffset  
      targetCount   
      fromIndex     

  public java.lang.String substring(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String this
        start local 1 // int beginIndex
         0: .line 1870
            iload 1 /* beginIndex */
            ifge 2
         1: .line 1871
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* beginIndex */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         2: .line 1873
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            iload 1 /* beginIndex */
            isub
            istore 2 /* subLen */
        start local 2 // int subLen
         3: .line 1874
            iload 2 /* subLen */
            ifge 5
         4: .line 1875
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* subLen */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         5: .line 1877
      StackMap locals: int
      StackMap stack:
            iload 1 /* beginIndex */
            ifne 6
            aload 0 /* this */
            goto 7
      StackMap locals:
      StackMap stack:
         6: new java.lang.String
            dup
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iload 1 /* beginIndex */
            iload 2 /* subLen */
            invokespecial java.lang.String.<init>:([CII)V
      StackMap locals:
      StackMap stack: java.lang.String
         7: areturn
        end local 2 // int subLen
        end local 1 // int beginIndex
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Ljava/lang/String;
            0    8     1  beginIndex  I
            3    8     2      subLen  I
    MethodParameters:
            Name  Flags
      beginIndex  

  public java.lang.String substring(int, int);
    descriptor: (II)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.String this
        start local 1 // int beginIndex
        start local 2 // int endIndex
         0: .line 1903
            iload 1 /* beginIndex */
            ifge 2
         1: .line 1904
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* beginIndex */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         2: .line 1906
      StackMap locals:
      StackMap stack:
            iload 2 /* endIndex */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            if_icmple 4
         3: .line 1907
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* endIndex */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         4: .line 1909
      StackMap locals:
      StackMap stack:
            iload 2 /* endIndex */
            iload 1 /* beginIndex */
            isub
            istore 3 /* subLen */
        start local 3 // int subLen
         5: .line 1910
            iload 3 /* subLen */
            ifge 7
         6: .line 1911
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 3 /* subLen */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         7: .line 1913
      StackMap locals: int
      StackMap stack:
            iload 1 /* beginIndex */
            ifne 8
            iload 2 /* endIndex */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            if_icmpne 8
            aload 0 /* this */
            goto 9
         8: .line 1914
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iload 1 /* beginIndex */
            iload 3 /* subLen */
            invokespecial java.lang.String.<init>:([CII)V
         9: .line 1913
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 3 // int subLen
        end local 2 // int endIndex
        end local 1 // int beginIndex
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljava/lang/String;
            0   10     1  beginIndex  I
            0   10     2    endIndex  I
            5   10     3      subLen  I
    MethodParameters:
            Name  Flags
      beginIndex  
      endIndex    

  public java.lang.CharSequence subSequence(int, int);
    descriptor: (II)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // int beginIndex
        start local 2 // int endIndex
         0: .line 1946
            aload 0 /* this */
            iload 1 /* beginIndex */
            iload 2 /* endIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // int endIndex
        end local 1 // int beginIndex
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljava/lang/String;
            0    1     1  beginIndex  I
            0    1     2    endIndex  I
    MethodParameters:
            Name  Flags
      beginIndex  
      endIndex    

  public java.lang.String concat(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.String str
         0: .line 1970
            aload 1 /* str */
            invokevirtual java.lang.String.length:()I
            istore 2 /* otherLen */
        start local 2 // int otherLen
         1: .line 1971
            iload 2 /* otherLen */
            ifne 3
         2: .line 1972
            aload 0 /* this */
            areturn
         3: .line 1974
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            istore 3 /* len */
        start local 3 // int len
         4: .line 1975
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iload 3 /* len */
            iload 2 /* otherLen */
            iadd
            invokestatic java.util.Arrays.copyOf:([CI)[C
            astore 4 /* buf */
        start local 4 // char[] buf
         5: .line 1976
            aload 1 /* str */
            aload 4 /* buf */
            iload 3 /* len */
            invokevirtual java.lang.String.getChars:([CI)V
         6: .line 1977
            new java.lang.String
            dup
            aload 4 /* buf */
            iconst_1
            invokespecial java.lang.String.<init>:([CZ)V
            areturn
        end local 4 // char[] buf
        end local 3 // int len
        end local 2 // int otherLen
        end local 1 // java.lang.String str
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljava/lang/String;
            0    7     1       str  Ljava/lang/String;
            1    7     2  otherLen  I
            4    7     3       len  I
            5    7     4       buf  [C
    MethodParameters:
      Name  Flags
      str   

  public java.lang.String replace(char, char);
    descriptor: (CC)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // java.lang.String this
        start local 1 // char oldChar
        start local 2 // char newChar
         0: .line 2010
            iload 1 /* oldChar */
            iload 2 /* newChar */
            if_icmpeq 23
         1: .line 2011
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            istore 3 /* len */
        start local 3 // int len
         2: .line 2012
            iconst_m1
            istore 4 /* i */
        start local 4 // int i
         3: .line 2013
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 5 /* val */
        start local 5 // char[] val
         4: .line 2015
            goto 7
         5: .line 2016
      StackMap locals: int int char[]
      StackMap stack:
            aload 5 /* val */
            iload 4 /* i */
            caload
            iload 1 /* oldChar */
            if_icmpne 7
         6: .line 2017
            goto 8
         7: .line 2015
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
            iload 4 /* i */
            iload 3 /* len */
            if_icmplt 5
         8: .line 2020
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 3 /* len */
            if_icmpge 23
         9: .line 2021
            iload 3 /* len */
            newarray 5
            astore 6 /* buf */
        start local 6 // char[] buf
        10: .line 2022
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        11: goto 14
        12: .line 2023
      StackMap locals: char[] int
      StackMap stack:
            aload 6 /* buf */
            iload 7 /* j */
            aload 5 /* val */
            iload 7 /* j */
            caload
            castore
        13: .line 2022
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* j */
            iload 4 /* i */
            if_icmplt 12
        end local 7 // int j
        15: .line 2025
            goto 21
        16: .line 2026
      StackMap locals:
      StackMap stack:
            aload 5 /* val */
            iload 4 /* i */
            caload
            istore 7 /* c */
        start local 7 // char c
        17: .line 2027
            aload 6 /* buf */
            iload 4 /* i */
            iload 7 /* c */
            iload 1 /* oldChar */
            if_icmpne 18
            iload 2 /* newChar */
            goto 19
      StackMap locals: java.lang.String int int int int char[] char[] int
      StackMap stack: char[] int
        18: iload 7 /* c */
      StackMap locals: java.lang.String int int int int char[] char[] int
      StackMap stack: char[] int int
        19: castore
        20: .line 2028
            iinc 4 /* i */ 1
        end local 7 // char c
        21: .line 2025
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 3 /* len */
            if_icmplt 16
        22: .line 2030
            new java.lang.String
            dup
            aload 6 /* buf */
            iconst_1
            invokespecial java.lang.String.<init>:([CZ)V
            areturn
        end local 6 // char[] buf
        end local 5 // char[] val
        end local 4 // int i
        end local 3 // int len
        23: .line 2033
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // char newChar
        end local 1 // char oldChar
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Ljava/lang/String;
            0   24     1  oldChar  C
            0   24     2  newChar  C
            2   23     3      len  I
            3   23     4        i  I
            4   23     5      val  [C
           10   23     6      buf  [C
           11   15     7        j  I
           17   21     7        c  C
    MethodParameters:
         Name  Flags
      oldChar  
      newChar  

  public boolean matches(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.String regex
         0: .line 2063
            aload 1 /* regex */
            aload 0 /* this */
            invokestatic java.util.regex.Pattern.matches:(Ljava/lang/String;Ljava/lang/CharSequence;)Z
            ireturn
        end local 1 // java.lang.String regex
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/lang/String;
            0    1     1  regex  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      regex  

  public boolean contains(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.CharSequence s
         0: .line 2076
            aload 0 /* this */
            aload 1 /* s */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.CharSequence s
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/String;
            0    2     1     s  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      s     

  public java.lang.String replaceFirst(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // java.lang.String regex
        start local 2 // java.lang.String replacement
         0: .line 2119
            aload 1 /* regex */
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            aload 0 /* this */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            aload 2 /* replacement */
            invokevirtual java.util.regex.Matcher.replaceFirst:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String replacement
        end local 1 // java.lang.String regex
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Ljava/lang/String;
            0    1     1        regex  Ljava/lang/String;
            0    1     2  replacement  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      regex        
      replacement  

  public java.lang.String replaceAll(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // java.lang.String regex
        start local 2 // java.lang.String replacement
         0: .line 2162
            aload 1 /* regex */
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            aload 0 /* this */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            aload 2 /* replacement */
            invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String replacement
        end local 1 // java.lang.String regex
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Ljava/lang/String;
            0    1     1        regex  Ljava/lang/String;
            0    1     2  replacement  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      regex        
      replacement  

  public java.lang.String replace(java.lang.CharSequence, java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.String this
        start local 1 // java.lang.CharSequence target
        start local 2 // java.lang.CharSequence replacement
         0: .line 2180
            aload 1 /* target */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            bipush 16
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
         1: .line 2181
            aload 0 /* this */
         2: .line 2180
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
         3: .line 2181
            aload 2 /* replacement */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            invokestatic java.util.regex.Matcher.quoteReplacement:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
         4: .line 2180
            areturn
        end local 2 // java.lang.CharSequence replacement
        end local 1 // java.lang.CharSequence target
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Ljava/lang/String;
            0    5     1       target  Ljava/lang/CharSequence;
            0    5     2  replacement  Ljava/lang/CharSequence;
    MethodParameters:
             Name  Flags
      target       
      replacement  

  public java.lang.String[] split(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // java.lang.String this
        start local 1 // java.lang.String regex
        start local 2 // int limit
         0: .line 2271
            iconst_0
            istore 3 /* ch */
        start local 3 // char ch
         1: .line 2272
            aload 1 /* regex */
            getfield java.lang.String.value:[C
            arraylength
            iconst_1
            if_icmpne 3
         2: .line 2273
            ldc ".$|()[{^?*+\\"
            aload 1 /* regex */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 3 /* ch */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 8
         3: .line 2274
      StackMap locals: int
      StackMap stack:
            aload 1 /* regex */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpne 36
         4: .line 2275
            aload 1 /* regex */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 92
            if_icmpne 36
         5: .line 2276
            aload 1 /* regex */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 3 /* ch */
            bipush 48
            isub
            bipush 57
            iload 3 /* ch */
            isub
            ior
            ifge 36
         6: .line 2277
            iload 3 /* ch */
            bipush 97
            isub
            bipush 122
            iload 3 /* ch */
            isub
            ior
            ifge 36
         7: .line 2278
            iload 3 /* ch */
            bipush 65
            isub
            bipush 90
            iload 3 /* ch */
            isub
            ior
            ifge 36
         8: .line 2279
      StackMap locals:
      StackMap stack:
            iload 3 /* ch */
            ldc 55296
            if_icmplt 10
         9: .line 2280
            iload 3 /* ch */
            ldc 57343
            if_icmple 36
        10: .line 2282
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* off */
        start local 4 // int off
        11: .line 2283
            iconst_0
            istore 5 /* next */
        start local 5 // int next
        12: .line 2284
            iload 2 /* limit */
            ifle 13
            iconst_1
            goto 14
      StackMap locals: int int
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 6 /* limited */
        start local 6 // boolean limited
        15: .line 2285
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* list */
        start local 7 // java.util.ArrayList list
        16: .line 2286
            goto 24
        17: .line 2287
      StackMap locals: int java.util.ArrayList
      StackMap stack:
            iload 6 /* limited */
            ifeq 18
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iload 2 /* limit */
            iconst_1
            isub
            if_icmpge 21
        18: .line 2288
      StackMap locals:
      StackMap stack:
            aload 7 /* list */
            aload 0 /* this */
            iload 4 /* off */
            iload 5 /* next */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        19: .line 2289
            iload 5 /* next */
            iconst_1
            iadd
            istore 4 /* off */
        20: .line 2290
            goto 24
        21: .line 2292
      StackMap locals:
      StackMap stack:
            aload 7 /* list */
            aload 0 /* this */
            iload 4 /* off */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        22: .line 2293
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            istore 4 /* off */
        23: .line 2294
            goto 25
        24: .line 2286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* ch */
            iload 4 /* off */
            invokevirtual java.lang.String.indexOf:(II)I
            dup
            istore 5 /* next */
            iconst_m1
            if_icmpne 17
        25: .line 2298
      StackMap locals:
      StackMap stack:
            iload 4 /* off */
            ifne 27
        26: .line 2299
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            aastore
            areturn
        27: .line 2302
      StackMap locals:
      StackMap stack:
            iload 6 /* limited */
            ifeq 28
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iload 2 /* limit */
            if_icmpge 29
        28: .line 2303
      StackMap locals:
      StackMap stack:
            aload 7 /* list */
            aload 0 /* this */
            iload 4 /* off */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        29: .line 2306
      StackMap locals:
      StackMap stack:
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 8 /* resultSize */
        start local 8 // int resultSize
        30: .line 2307
            iload 2 /* limit */
            ifne 34
        31: .line 2308
            goto 33
        32: .line 2309
      StackMap locals: int
      StackMap stack:
            iinc 8 /* resultSize */ -1
        33: .line 2308
      StackMap locals:
      StackMap stack:
            iload 8 /* resultSize */
            ifle 34
            aload 7 /* list */
            iload 8 /* resultSize */
            iconst_1
            isub
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            ifeq 32
        34: .line 2310
      StackMap locals:
      StackMap stack:
            iload 8 /* resultSize */
            anewarray java.lang.String
            astore 9 /* result */
        start local 9 // java.lang.String[] result
        35: .line 2311
            aload 7 /* list */
            iconst_0
            iload 8 /* resultSize */
            invokevirtual java.util.ArrayList.subList:(II)Ljava/util/List;
            aload 9 /* result */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 9 // java.lang.String[] result
        end local 8 // int resultSize
        end local 7 // java.util.ArrayList list
        end local 6 // boolean limited
        end local 5 // int next
        end local 4 // int off
        36: .line 2313
      StackMap locals: java.lang.String java.lang.String int int
      StackMap stack:
            aload 1 /* regex */
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            aload 0 /* this */
            iload 2 /* limit */
            invokevirtual java.util.regex.Pattern.split:(Ljava/lang/CharSequence;I)[Ljava/lang/String;
            areturn
        end local 3 // char ch
        end local 2 // int limit
        end local 1 // java.lang.String regex
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   37     0        this  Ljava/lang/String;
            0   37     1       regex  Ljava/lang/String;
            0   37     2       limit  I
            1   37     3          ch  C
           11   36     4         off  I
           12   36     5        next  I
           15   36     6     limited  Z
           16   36     7        list  Ljava/util/ArrayList<Ljava/lang/String;>;
           30   36     8  resultSize  I
           35   36     9      result  [Ljava/lang/String;
    MethodParameters:
       Name  Flags
      regex  
      limit  

  public java.lang.String[] split(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.lang.String regex
         0: .line 2355
            aload 0 /* this */
            aload 1 /* regex */
            iconst_0
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
            areturn
        end local 1 // java.lang.String regex
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/lang/String;
            0    1     1  regex  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      regex  

  public java.lang.String toLowerCase(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=15, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.util.Locale locale
         0: .line 2411
            aload 1 /* locale */
            ifnonnull 2
         1: .line 2412
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            istore 3 /* len */
        start local 3 // int len
         3: .line 2420
            iconst_0
            istore 2 /* firstUpper */
        start local 2 // int firstUpper
         4: goto 16
         5: .line 2421
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iload 2 /* firstUpper */
            caload
            istore 4 /* c */
        start local 4 // char c
         6: .line 2422
            iload 4 /* c */
            ldc 55296
            if_icmplt 13
         7: .line 2423
            iload 4 /* c */
            ldc 56319
            if_icmpgt 13
         8: .line 2424
            aload 0 /* this */
            iload 2 /* firstUpper */
            invokevirtual java.lang.String.codePointAt:(I)I
            istore 5 /* supplChar */
        start local 5 // int supplChar
         9: .line 2425
            iload 5 /* supplChar */
            iload 5 /* supplChar */
            invokestatic java.lang.Character.toLowerCase:(I)I
            if_icmpeq 11
        10: .line 2426
            goto 18
        11: .line 2428
      StackMap locals: int int
      StackMap stack:
            iload 2 /* firstUpper */
            iload 5 /* supplChar */
            invokestatic java.lang.Character.charCount:(I)I
            iadd
            istore 2 /* firstUpper */
        end local 5 // int supplChar
        12: .line 2429
            goto 16
        13: .line 2430
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            iload 4 /* c */
            invokestatic java.lang.Character.toLowerCase:(C)C
            if_icmpeq 15
        14: .line 2431
            goto 18
        15: .line 2433
      StackMap locals:
      StackMap stack:
            iinc 2 /* firstUpper */ 1
        end local 4 // char c
        16: .line 2420
      StackMap locals:
      StackMap stack:
            iload 2 /* firstUpper */
            iload 3 /* len */
            if_icmplt 5
        17: .line 2436
            aload 0 /* this */
            areturn
        18: .line 2439
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            newarray 5
            astore 4 /* result */
        start local 4 // char[] result
        19: .line 2440
            iconst_0
            istore 5 /* resultOffset */
        start local 5 // int resultOffset
        20: .line 2444
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iconst_0
            aload 4 /* result */
            iconst_0
            iload 2 /* firstUpper */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        21: .line 2446
            aload 1 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            astore 6 /* lang */
        start local 6 // java.lang.String lang
        22: .line 2448
            aload 6 /* lang */
            ldc "tr"
            if_acmpeq 24
            aload 6 /* lang */
            ldc "az"
            if_acmpeq 24
            aload 6 /* lang */
            ldc "lt"
            if_acmpeq 24
        23: .line 2447
            iconst_0
            goto 25
      StackMap locals: char[] int java.lang.String
      StackMap stack:
        24: iconst_1
      StackMap locals:
      StackMap stack: int
        25: istore 7 /* localeDependent */
        start local 7 // boolean localeDependent
        26: .line 2453
            iload 2 /* firstUpper */
            istore 12 /* i */
        start local 12 // int i
        27: goto 65
        28: .line 2454
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top top top int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iload 12 /* i */
            caload
            istore 10 /* srcChar */
        start local 10 // int srcChar
        29: .line 2455
            iload 10 /* srcChar */
            i2c
            ldc 55296
            if_icmplt 34
        30: .line 2456
            iload 10 /* srcChar */
            i2c
            ldc 56319
            if_icmpgt 34
        31: .line 2457
            aload 0 /* this */
            iload 12 /* i */
            invokevirtual java.lang.String.codePointAt:(I)I
            istore 10 /* srcChar */
        32: .line 2458
            iload 10 /* srcChar */
            invokestatic java.lang.Character.charCount:(I)I
            istore 11 /* srcCount */
        start local 11 // int srcCount
        33: .line 2459
            goto 35
        end local 11 // int srcCount
        34: .line 2460
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top int top int
      StackMap stack:
            iconst_1
            istore 11 /* srcCount */
        start local 11 // int srcCount
        35: .line 2462
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top int int int
      StackMap stack:
            iload 7 /* localeDependent */
            ifne 38
        36: .line 2463
            iload 10 /* srcChar */
            sipush 931
            if_icmpeq 38
        37: .line 2464
            iload 10 /* srcChar */
            sipush 304
            if_icmpne 40
        38: .line 2465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 12 /* i */
            aload 1 /* locale */
            invokestatic java.lang.ConditionalSpecialCasing.toLowerCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
            istore 9 /* lowerChar */
        start local 9 // int lowerChar
        39: .line 2466
            goto 41
        end local 9 // int lowerChar
        40: .line 2467
      StackMap locals:
      StackMap stack:
            iload 10 /* srcChar */
            invokestatic java.lang.Character.toLowerCase:(I)I
            istore 9 /* lowerChar */
        start local 9 // int lowerChar
        41: .line 2469
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top int int int int
      StackMap stack:
            iload 9 /* lowerChar */
            iconst_m1
            if_icmpeq 43
        42: .line 2470
            iload 9 /* lowerChar */
            ldc 65536
            if_icmplt 63
        43: .line 2471
      StackMap locals:
      StackMap stack:
            iload 9 /* lowerChar */
            iconst_m1
            if_icmpne 47
        44: .line 2473
            aload 0 /* this */
            iload 12 /* i */
            aload 1 /* locale */
            invokestatic java.lang.ConditionalSpecialCasing.toLowerCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
        45: .line 2472
            astore 8 /* lowerCharArray */
        start local 8 // char[] lowerCharArray
        46: .line 2474
            goto 51
        end local 8 // char[] lowerCharArray
      StackMap locals:
      StackMap stack:
        47: iload 11 /* srcCount */
            iconst_2
            if_icmpne 50
        48: .line 2475
            iload 5 /* resultOffset */
            iload 9 /* lowerChar */
            aload 4 /* result */
            iload 12 /* i */
            iload 5 /* resultOffset */
            iadd
            invokestatic java.lang.Character.toChars:(I[CI)I
            iload 11 /* srcCount */
            isub
            iadd
            istore 5 /* resultOffset */
        49: .line 2476
            goto 64
        50: .line 2478
      StackMap locals:
      StackMap stack:
            iload 9 /* lowerChar */
            invokestatic java.lang.Character.toChars:(I)[C
            astore 8 /* lowerCharArray */
        start local 8 // char[] lowerCharArray
        51: .line 2482
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int char[] int int int int
      StackMap stack:
            aload 8 /* lowerCharArray */
            arraylength
            istore 13 /* mapLen */
        start local 13 // int mapLen
        52: .line 2483
            iload 13 /* mapLen */
            iload 11 /* srcCount */
            if_icmple 56
        53: .line 2484
            aload 4 /* result */
            arraylength
            iload 13 /* mapLen */
            iadd
            iload 11 /* srcCount */
            isub
            newarray 5
            astore 14 /* result2 */
        start local 14 // char[] result2
        54: .line 2485
            aload 4 /* result */
            iconst_0
            aload 14 /* result2 */
            iconst_0
            iload 12 /* i */
            iload 5 /* resultOffset */
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        55: .line 2486
            aload 14 /* result2 */
            astore 4 /* result */
        end local 14 // char[] result2
        56: .line 2488
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 14 /* x */
        start local 14 // int x
        57: goto 60
        58: .line 2489
      StackMap locals: int
      StackMap stack:
            aload 4 /* result */
            iload 12 /* i */
            iload 5 /* resultOffset */
            iadd
            iload 14 /* x */
            iadd
            aload 8 /* lowerCharArray */
            iload 14 /* x */
            caload
            castore
        59: .line 2488
            iinc 14 /* x */ 1
      StackMap locals:
      StackMap stack:
        60: iload 14 /* x */
            iload 13 /* mapLen */
            if_icmplt 58
        end local 14 // int x
        61: .line 2491
            iload 5 /* resultOffset */
            iload 13 /* mapLen */
            iload 11 /* srcCount */
            isub
            iadd
            istore 5 /* resultOffset */
        end local 13 // int mapLen
        62: .line 2492
            goto 64
        end local 8 // char[] lowerCharArray
        63: .line 2493
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top int int int int
      StackMap stack:
            aload 4 /* result */
            iload 12 /* i */
            iload 5 /* resultOffset */
            iadd
            iload 9 /* lowerChar */
            i2c
            castore
        64: .line 2453
      StackMap locals:
      StackMap stack:
            iload 12 /* i */
            iload 11 /* srcCount */
            iadd
            istore 12 /* i */
        end local 11 // int srcCount
        end local 10 // int srcChar
        end local 9 // int lowerChar
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top top top int
      StackMap stack:
        65: iload 12 /* i */
            iload 3 /* len */
            if_icmplt 28
        end local 12 // int i
        66: .line 2496
            new java.lang.String
            dup
            aload 4 /* result */
            iconst_0
            iload 3 /* len */
            iload 5 /* resultOffset */
            iadd
            invokespecial java.lang.String.<init>:([CII)V
            areturn
        end local 7 // boolean localeDependent
        end local 6 // java.lang.String lang
        end local 5 // int resultOffset
        end local 4 // char[] result
        end local 3 // int len
        end local 2 // int firstUpper
        end local 1 // java.util.Locale locale
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   67     0             this  Ljava/lang/String;
            0   67     1           locale  Ljava/util/Locale;
            4   67     2       firstUpper  I
            3   67     3              len  I
            6   16     4                c  C
            9   12     5        supplChar  I
           19   67     4           result  [C
           20   67     5     resultOffset  I
           22   67     6             lang  Ljava/lang/String;
           26   67     7  localeDependent  Z
           46   47     8   lowerCharArray  [C
           51   63     8   lowerCharArray  [C
           39   40     9        lowerChar  I
           41   65     9        lowerChar  I
           29   65    10          srcChar  I
           33   34    11         srcCount  I
           35   65    11         srcCount  I
           27   66    12                i  I
           52   62    13           mapLen  I
           54   56    14          result2  [C
           57   61    14                x  I
    MethodParameters:
        Name  Flags
      locale  

  public java.lang.String toLowerCase();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String this
         0: .line 2519
            aload 0 /* this */
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/String;

  public java.lang.String toUpperCase(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=15, args_size=2
        start local 0 // java.lang.String this
        start local 1 // java.util.Locale locale
         0: .line 2571
            aload 1 /* locale */
            ifnonnull 2
         1: .line 2572
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 2576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            istore 3 /* len */
        start local 3 // int len
         3: .line 2580
            iconst_0
            istore 2 /* firstLower */
        start local 2 // int firstLower
         4: goto 17
         5: .line 2581
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iload 2 /* firstLower */
            caload
            istore 4 /* c */
        start local 4 // int c
         6: .line 2583
            iload 4 /* c */
            ldc 55296
            if_icmplt 11
         7: .line 2584
            iload 4 /* c */
            ldc 56319
            if_icmpgt 11
         8: .line 2585
            aload 0 /* this */
            iload 2 /* firstLower */
            invokevirtual java.lang.String.codePointAt:(I)I
            istore 4 /* c */
         9: .line 2586
            iload 4 /* c */
            invokestatic java.lang.Character.charCount:(I)I
            istore 5 /* srcCount */
        start local 5 // int srcCount
        10: .line 2587
            goto 12
        end local 5 // int srcCount
        11: .line 2588
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 5 /* srcCount */
        start local 5 // int srcCount
        12: .line 2590
      StackMap locals: int
      StackMap stack:
            iload 4 /* c */
            invokestatic java.lang.Character.toUpperCaseEx:(I)I
            istore 6 /* upperCaseChar */
        start local 6 // int upperCaseChar
        13: .line 2591
            iload 6 /* upperCaseChar */
            iconst_m1
            if_icmpeq 19
        14: .line 2592
            iload 4 /* c */
            iload 6 /* upperCaseChar */
            if_icmpeq 16
        15: .line 2593
            goto 19
        16: .line 2595
      StackMap locals: int
      StackMap stack:
            iload 2 /* firstLower */
            iload 5 /* srcCount */
            iadd
            istore 2 /* firstLower */
        end local 6 // int upperCaseChar
        end local 5 // int srcCount
        end local 4 // int c
        17: .line 2580
      StackMap locals:
      StackMap stack:
            iload 2 /* firstLower */
            iload 3 /* len */
            if_icmplt 5
        18: .line 2597
            aload 0 /* this */
            areturn
        19: .line 2600
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            newarray 5
            astore 4 /* result */
        start local 4 // char[] result
        20: .line 2601
            iconst_0
            istore 5 /* resultOffset */
        start local 5 // int resultOffset
        21: .line 2605
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iconst_0
            aload 4 /* result */
            iconst_0
            iload 2 /* firstLower */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        22: .line 2607
            aload 1 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            astore 6 /* lang */
        start local 6 // java.lang.String lang
        23: .line 2609
            aload 6 /* lang */
            ldc "tr"
            if_acmpeq 25
            aload 6 /* lang */
            ldc "az"
            if_acmpeq 25
            aload 6 /* lang */
            ldc "lt"
            if_acmpeq 25
        24: .line 2608
            iconst_0
            goto 26
      StackMap locals: char[] int java.lang.String
      StackMap stack:
        25: iconst_1
      StackMap locals:
      StackMap stack: int
        26: istore 7 /* localeDependent */
        start local 7 // boolean localeDependent
        27: .line 2614
            iload 2 /* firstLower */
            istore 12 /* i */
        start local 12 // int i
        28: goto 67
        29: .line 2615
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top top top int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iload 12 /* i */
            caload
            istore 10 /* srcChar */
        start local 10 // int srcChar
        30: .line 2616
            iload 10 /* srcChar */
            i2c
            ldc 55296
            if_icmplt 35
        31: .line 2617
            iload 10 /* srcChar */
            i2c
            ldc 56319
            if_icmpgt 35
        32: .line 2618
            aload 0 /* this */
            iload 12 /* i */
            invokevirtual java.lang.String.codePointAt:(I)I
            istore 10 /* srcChar */
        33: .line 2619
            iload 10 /* srcChar */
            invokestatic java.lang.Character.charCount:(I)I
            istore 11 /* srcCount */
        start local 11 // int srcCount
        34: .line 2620
            goto 36
        end local 11 // int srcCount
        35: .line 2621
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top int top int
      StackMap stack:
            iconst_1
            istore 11 /* srcCount */
        start local 11 // int srcCount
        36: .line 2623
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top int int int
      StackMap stack:
            iload 7 /* localeDependent */
            ifeq 39
        37: .line 2624
            aload 0 /* this */
            iload 12 /* i */
            aload 1 /* locale */
            invokestatic java.lang.ConditionalSpecialCasing.toUpperCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
            istore 9 /* upperChar */
        start local 9 // int upperChar
        38: .line 2625
            goto 40
        end local 9 // int upperChar
        39: .line 2626
      StackMap locals:
      StackMap stack:
            iload 10 /* srcChar */
            invokestatic java.lang.Character.toUpperCaseEx:(I)I
            istore 9 /* upperChar */
        start local 9 // int upperChar
        40: .line 2628
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top int int int int
      StackMap stack:
            iload 9 /* upperChar */
            iconst_m1
            if_icmpeq 42
        41: .line 2629
            iload 9 /* upperChar */
            ldc 65536
            if_icmplt 65
        42: .line 2630
      StackMap locals:
      StackMap stack:
            iload 9 /* upperChar */
            iconst_m1
            if_icmpne 49
        43: .line 2631
            iload 7 /* localeDependent */
            ifeq 47
        44: .line 2633
            aload 0 /* this */
            iload 12 /* i */
            aload 1 /* locale */
            invokestatic java.lang.ConditionalSpecialCasing.toUpperCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
        45: .line 2632
            astore 8 /* upperCharArray */
        start local 8 // char[] upperCharArray
        46: .line 2634
            goto 53
        end local 8 // char[] upperCharArray
        47: .line 2635
      StackMap locals:
      StackMap stack:
            iload 10 /* srcChar */
            invokestatic java.lang.Character.toUpperCaseCharArray:(I)[C
            astore 8 /* upperCharArray */
        start local 8 // char[] upperCharArray
        48: .line 2637
            goto 53
        end local 8 // char[] upperCharArray
      StackMap locals:
      StackMap stack:
        49: iload 11 /* srcCount */
            iconst_2
            if_icmpne 52
        50: .line 2638
            iload 5 /* resultOffset */
            iload 9 /* upperChar */
            aload 4 /* result */
            iload 12 /* i */
            iload 5 /* resultOffset */
            iadd
            invokestatic java.lang.Character.toChars:(I[CI)I
            iload 11 /* srcCount */
            isub
            iadd
            istore 5 /* resultOffset */
        51: .line 2639
            goto 66
        52: .line 2641
      StackMap locals:
      StackMap stack:
            iload 9 /* upperChar */
            invokestatic java.lang.Character.toChars:(I)[C
            astore 8 /* upperCharArray */
        start local 8 // char[] upperCharArray
        53: .line 2645
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int char[] int int int int
      StackMap stack:
            aload 8 /* upperCharArray */
            arraylength
            istore 13 /* mapLen */
        start local 13 // int mapLen
        54: .line 2646
            iload 13 /* mapLen */
            iload 11 /* srcCount */
            if_icmple 58
        55: .line 2647
            aload 4 /* result */
            arraylength
            iload 13 /* mapLen */
            iadd
            iload 11 /* srcCount */
            isub
            newarray 5
            astore 14 /* result2 */
        start local 14 // char[] result2
        56: .line 2648
            aload 4 /* result */
            iconst_0
            aload 14 /* result2 */
            iconst_0
            iload 12 /* i */
            iload 5 /* resultOffset */
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        57: .line 2649
            aload 14 /* result2 */
            astore 4 /* result */
        end local 14 // char[] result2
        58: .line 2651
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 14 /* x */
        start local 14 // int x
        59: goto 62
        60: .line 2652
      StackMap locals: int
      StackMap stack:
            aload 4 /* result */
            iload 12 /* i */
            iload 5 /* resultOffset */
            iadd
            iload 14 /* x */
            iadd
            aload 8 /* upperCharArray */
            iload 14 /* x */
            caload
            castore
        61: .line 2651
            iinc 14 /* x */ 1
      StackMap locals:
      StackMap stack:
        62: iload 14 /* x */
            iload 13 /* mapLen */
            if_icmplt 60
        end local 14 // int x
        63: .line 2654
            iload 5 /* resultOffset */
            iload 13 /* mapLen */
            iload 11 /* srcCount */
            isub
            iadd
            istore 5 /* resultOffset */
        end local 13 // int mapLen
        64: .line 2655
            goto 66
        end local 8 // char[] upperCharArray
        65: .line 2656
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top int int int int
      StackMap stack:
            aload 4 /* result */
            iload 12 /* i */
            iload 5 /* resultOffset */
            iadd
            iload 9 /* upperChar */
            i2c
            castore
        66: .line 2614
      StackMap locals:
      StackMap stack:
            iload 12 /* i */
            iload 11 /* srcCount */
            iadd
            istore 12 /* i */
        end local 11 // int srcCount
        end local 10 // int srcChar
        end local 9 // int upperChar
      StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top top top int
      StackMap stack:
        67: iload 12 /* i */
            iload 3 /* len */
            if_icmplt 29
        end local 12 // int i
        68: .line 2659
            new java.lang.String
            dup
            aload 4 /* result */
            iconst_0
            iload 3 /* len */
            iload 5 /* resultOffset */
            iadd
            invokespecial java.lang.String.<init>:([CII)V
            areturn
        end local 7 // boolean localeDependent
        end local 6 // java.lang.String lang
        end local 5 // int resultOffset
        end local 4 // char[] result
        end local 3 // int len
        end local 2 // int firstLower
        end local 1 // java.util.Locale locale
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   69     0             this  Ljava/lang/String;
            0   69     1           locale  Ljava/util/Locale;
            4   69     2       firstLower  I
            3   69     3              len  I
            6   17     4                c  I
           10   11     5         srcCount  I
           12   17     5         srcCount  I
           13   17     6    upperCaseChar  I
           20   69     4           result  [C
           21   69     5     resultOffset  I
           23   69     6             lang  Ljava/lang/String;
           27   69     7  localeDependent  Z
           46   47     8   upperCharArray  [C
           48   49     8   upperCharArray  [C
           53   65     8   upperCharArray  [C
           38   39     9        upperChar  I
           40   67     9        upperChar  I
           30   67    10          srcChar  I
           34   35    11         srcCount  I
           36   67    11         srcCount  I
           28   68    12                i  I
           54   64    13           mapLen  I
           56   58    14          result2  [C
           59   63    14                x  I
    MethodParameters:
        Name  Flags
      locale  

  public java.lang.String toUpperCase();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String this
         0: .line 2682
            aload 0 /* this */
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/String;

  public java.lang.String trim();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String this
         0: .line 2717
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            istore 1 /* len */
        start local 1 // int len
         1: .line 2718
            iconst_0
            istore 2 /* st */
        start local 2 // int st
         2: .line 2719
            aload 0 /* this */
            getfield java.lang.String.value:[C
            astore 3 /* val */
        start local 3 // char[] val
         3: .line 2721
            goto 5
         4: .line 2722
      StackMap locals: int int char[]
      StackMap stack:
            iinc 2 /* st */ 1
         5: .line 2721
      StackMap locals:
      StackMap stack:
            iload 2 /* st */
            iload 1 /* len */
            if_icmpge 8
            aload 3 /* val */
            iload 2 /* st */
            caload
            bipush 32
            if_icmple 4
         6: .line 2724
            goto 8
         7: .line 2725
      StackMap locals:
      StackMap stack:
            iinc 1 /* len */ -1
         8: .line 2724
      StackMap locals:
      StackMap stack:
            iload 2 /* st */
            iload 1 /* len */
            if_icmpge 9
            aload 3 /* val */
            iload 1 /* len */
            iconst_1
            isub
            caload
            bipush 32
            if_icmple 7
         9: .line 2727
      StackMap locals:
      StackMap stack:
            iload 2 /* st */
            ifgt 10
            iload 1 /* len */
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            if_icmpge 11
      StackMap locals:
      StackMap stack:
        10: aload 0 /* this */
            iload 2 /* st */
            iload 1 /* len */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
      StackMap locals:
      StackMap stack: java.lang.String
        12: areturn
        end local 3 // char[] val
        end local 2 // int st
        end local 1 // int len
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljava/lang/String;
            1   13     1   len  I
            2   13     2    st  I
            3   13     3   val  [C

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String this
         0: .line 2736
            aload 0 /* this */
            areturn
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/String;

  public char[] toCharArray();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String this
         0: .line 2748
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            newarray 5
            astore 1 /* result */
        start local 1 // char[] result
         1: .line 2749
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iconst_0
            aload 1 /* result */
            iconst_0
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 2750
            aload 1 /* result */
            areturn
        end local 1 // char[] result
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljava/lang/String;
            1    3     1  result  [C

  public static java.lang.String format(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String format
        start local 1 // java.lang.Object[] args
         0: .line 2792
            new java.util.Formatter
            dup
            invokespecial java.util.Formatter.<init>:()V
            aload 0 /* format */
            aload 1 /* args */
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.String format
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  format  Ljava/lang/String;
            0    1     1    args  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      format  
      args    

  public static java.lang.String format(java.util.Locale, java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.Locale l
        start local 1 // java.lang.String format
        start local 2 // java.lang.Object[] args
         0: .line 2836
            new java.util.Formatter
            dup
            aload 0 /* l */
            invokespecial java.util.Formatter.<init>:(Ljava/util/Locale;)V
            aload 1 /* format */
            aload 2 /* args */
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String format
        end local 0 // java.util.Locale l
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0       l  Ljava/util/Locale;
            0    1     1  format  Ljava/lang/String;
            0    1     2    args  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      l       
      format  
      args    

  public static java.lang.String valueOf(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 2849
            aload 0 /* obj */
            ifnonnull 1
            ldc "null"
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* obj */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public static java.lang.String valueOf(char[]);
    descriptor: ([C)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // char[] data
         0: .line 2863
            new java.lang.String
            dup
            aload 0 /* data */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 0 // char[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  data  [C
    MethodParameters:
      Name  Flags
      data  

  public static java.lang.String valueOf(char[], int, int);
    descriptor: ([CII)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // char[] data
        start local 1 // int offset
        start local 2 // int count
         0: .line 2888
            new java.lang.String
            dup
            aload 0 /* data */
            iload 1 /* offset */
            iload 2 /* count */
            invokespecial java.lang.String.<init>:([CII)V
            areturn
        end local 2 // int count
        end local 1 // int offset
        end local 0 // char[] data
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    data  [C
            0    1     1  offset  I
            0    1     2   count  I
    MethodParameters:
        Name  Flags
      data    
      offset  
      count   

  public static java.lang.String copyValueOf(char[], int, int);
    descriptor: ([CII)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // char[] data
        start local 1 // int offset
        start local 2 // int count
         0: .line 2903
            new java.lang.String
            dup
            aload 0 /* data */
            iload 1 /* offset */
            iload 2 /* count */
            invokespecial java.lang.String.<init>:([CII)V
            areturn
        end local 2 // int count
        end local 1 // int offset
        end local 0 // char[] data
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    data  [C
            0    1     1  offset  I
            0    1     2   count  I
    MethodParameters:
        Name  Flags
      data    
      offset  
      count   

  public static java.lang.String copyValueOf(char[]);
    descriptor: ([C)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // char[] data
         0: .line 2915
            new java.lang.String
            dup
            aload 0 /* data */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 0 // char[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  data  [C
    MethodParameters:
      Name  Flags
      data  

  public static java.lang.String valueOf(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // boolean b
         0: .line 2927
            iload 0 /* b */
            ifeq 1
            ldc "true"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "false"
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // boolean b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     b  Z
    MethodParameters:
      Name  Flags
      b     

  public static java.lang.String valueOf(char);
    descriptor: (C)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // char c
         0: .line 2939
            iconst_1
            newarray 5
            dup
            iconst_0
            iload 0 /* c */
            castore
            astore 1 /* data */
        start local 1 // char[] data
         1: .line 2940
            new java.lang.String
            dup
            aload 1 /* data */
            iconst_1
            invokespecial java.lang.String.<init>:([CZ)V
            areturn
        end local 1 // char[] data
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  C
            1    2     1  data  [C
    MethodParameters:
      Name  Flags
      c     

  public static java.lang.String valueOf(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int i
         0: .line 2954
            iload 0 /* i */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            areturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  I
    MethodParameters:
      Name  Flags
      i     

  public static java.lang.String valueOf(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long l
         0: .line 2968
            lload 0 /* l */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            areturn
        end local 0 // long l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     l  J
    MethodParameters:
      Name  Flags
      l     

  public static java.lang.String valueOf(float);
    descriptor: (F)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float f
         0: .line 2982
            fload 0 /* f */
            invokestatic java.lang.Float.toString:(F)Ljava/lang/String;
            areturn
        end local 0 // float f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  F
    MethodParameters:
      Name  Flags
      f     

  public static java.lang.String valueOf(double);
    descriptor: (D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double d
         0: .line 2996
            dload 0 /* d */
            invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
            areturn
        end local 0 // double d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     d  D
    MethodParameters:
      Name  Flags
      d     

  public native java.lang.String intern();
    descriptor: ()Ljava/lang/String;
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  int hash32();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String this
         0: .line 3084
            aload 0 /* this */
            getfield java.lang.String.hash32:I
            istore 1 /* h */
        start local 1 // int h
         1: .line 3085
            iload 1 /* h */
            ifne 7
         2: .line 3087
            getstatic java.lang.String.HASHING_SEED:I
            aload 0 /* this */
            getfield java.lang.String.value:[C
            iconst_0
            aload 0 /* this */
            getfield java.lang.String.value:[C
            arraylength
            invokestatic sun.misc.Hashing.murmur3_32:(I[CII)I
            istore 1 /* h */
         3: .line 3090
            iload 1 /* h */
            ifeq 4
            iload 1 /* h */
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 1 /* h */
         6: .line 3092
            aload 0 /* this */
            iload 1 /* h */
            putfield java.lang.String.hash32:I
         7: .line 3095
      StackMap locals:
      StackMap stack:
            iload 1 /* h */
            ireturn
        end local 1 // int h
        end local 0 // java.lang.String this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/lang/String;
            1    8     1     h  I

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.String
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/String;>;Ljava/lang/CharSequence;
SourceFile: "String.java"
NestMembers:
  java.lang.String$CaseInsensitiveComparator
InnerClasses:
  private CaseInsensitiveComparator = java.lang.String$CaseInsensitiveComparator of java.lang.String