public class android.os.PatternMatcher implements android.os.Parcelable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.os.PatternMatcher
  super_class: java.lang.Object
{
  public static final int PATTERN_LITERAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int PATTERN_PREFIX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int PATTERN_SIMPLE_GLOB;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int PATTERN_ADVANCED_GLOB;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

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

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

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

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

  private static final int NO_MATCH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "PatternMatcher"

  private static final int PARSED_TOKEN_CHAR_SET_START;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final int PARSED_TOKEN_CHAR_SET_INVERSE_START;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2

  private static final int PARSED_TOKEN_CHAR_SET_STOP;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -3

  private static final int PARSED_TOKEN_CHAR_ANY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -4

  private static final int PARSED_MODIFIER_RANGE_START;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -5

  private static final int PARSED_MODIFIER_RANGE_STOP;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -6

  private static final int PARSED_MODIFIER_ZERO_OR_MORE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -7

  private static final int PARSED_MODIFIER_ONE_OR_MORE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -8

  private final java.lang.String mPattern;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mType;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] mParsedPattern;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  public static final android.os.Parcelable$Creator<android.os.PatternMatcher> CREATOR;
    descriptor: Landroid/os/Parcelable$Creator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Landroid/os/Parcelable$Creator<Landroid/os/PatternMatcher;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 92
            sipush 2048
            newarray 10
            putstatic android.os.PatternMatcher.sParsedPatternScratch:[I
         1: .line 162
            new android.os.PatternMatcher$1
            dup
            invokespecial android.os.PatternMatcher$1.<init>:()V
         2: .line 161
            putstatic android.os.PatternMatcher.CREATOR:Landroid/os/Parcelable$Creator;
         3: .line 170
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.os.PatternMatcher this
        start local 1 // java.lang.String pattern
        start local 2 // int type
         0: .line 94
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 95
            aload 0 /* this */
            aload 1 /* pattern */
            putfield android.os.PatternMatcher.mPattern:Ljava/lang/String;
         2: .line 96
            aload 0 /* this */
            iload 2 /* type */
            putfield android.os.PatternMatcher.mType:I
         3: .line 97
            aload 0 /* this */
            getfield android.os.PatternMatcher.mType:I
            iconst_3
            if_icmpne 6
         4: .line 98
            aload 0 /* this */
            aload 1 /* pattern */
            invokestatic android.os.PatternMatcher.parseAndVerifyAdvancedPattern:(Ljava/lang/String;)[I
            putfield android.os.PatternMatcher.mParsedPattern:[I
         5: .line 99
            goto 7
         6: .line 100
      StackMap locals: android.os.PatternMatcher java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.os.PatternMatcher.mParsedPattern:[I
         7: .line 102
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int type
        end local 1 // java.lang.String pattern
        end local 0 // android.os.PatternMatcher this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Landroid/os/PatternMatcher;
            0    8     1  pattern  Ljava/lang/String;
            0    8     2     type  I
    MethodParameters:
         Name  Flags
      pattern  
      type     

  public final java.lang.String getPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.PatternMatcher this
         0: .line 105
            aload 0 /* this */
            getfield android.os.PatternMatcher.mPattern:Ljava/lang/String;
            areturn
        end local 0 // android.os.PatternMatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/PatternMatcher;

  public final int getType();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.PatternMatcher this
         0: .line 109
            aload 0 /* this */
            getfield android.os.PatternMatcher.mType:I
            ireturn
        end local 0 // android.os.PatternMatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/PatternMatcher;

  public boolean match(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.os.PatternMatcher this
        start local 1 // java.lang.String str
         0: .line 113
            aload 1 /* str */
            aload 0 /* this */
            getfield android.os.PatternMatcher.mPattern:Ljava/lang/String;
            aload 0 /* this */
            getfield android.os.PatternMatcher.mParsedPattern:[I
            aload 0 /* this */
            getfield android.os.PatternMatcher.mType:I
            invokestatic android.os.PatternMatcher.matchPattern:(Ljava/lang/String;Ljava/lang/String;[II)Z
            ireturn
        end local 1 // java.lang.String str
        end local 0 // android.os.PatternMatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/PatternMatcher;
            0    1     1   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.os.PatternMatcher this
         0: .line 117
            ldc "? "
            astore 1 /* type */
        start local 1 // java.lang.String type
         1: .line 118
            aload 0 /* this */
            getfield android.os.PatternMatcher.mType:I
            tableswitch { // 0 - 3
                    0: 2
                    1: 4
                    2: 6
                    3: 8
              default: 9
          }
         2: .line 120
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "LITERAL: "
            astore 1 /* type */
         3: .line 121
            goto 9
         4: .line 123
      StackMap locals:
      StackMap stack:
            ldc "PREFIX: "
            astore 1 /* type */
         5: .line 124
            goto 9
         6: .line 126
      StackMap locals:
      StackMap stack:
            ldc "GLOB: "
            astore 1 /* type */
         7: .line 127
            goto 9
         8: .line 129
      StackMap locals:
      StackMap stack:
            ldc "ADVANCED: "
            astore 1 /* type */
         9: .line 132
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "PatternMatcher{"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.os.PatternMatcher.mPattern:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String type
        end local 0 // android.os.PatternMatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Landroid/os/PatternMatcher;
            1   10     1  type  Ljava/lang/String;

  public void writeToProto(android.util.proto.ProtoOutputStream, long);
    descriptor: (Landroid/util/proto/ProtoOutputStream;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.os.PatternMatcher this
         0: .line 138
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tPatternMatcherProto cannot be resolved to a variable\n\tPatternMatcherProto cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.os.PatternMatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/PatternMatcher;
    MethodParameters:
         Name  Flags
      proto    
      fieldId  

  public int describeContents();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.PatternMatcher this
         0: .line 146
            iconst_0
            ireturn
        end local 0 // android.os.PatternMatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/PatternMatcher;

  public void writeToParcel(android.os.Parcel, int);
    descriptor: (Landroid/os/Parcel;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.os.PatternMatcher this
        start local 1 // android.os.Parcel dest
        start local 2 // int flags
         0: .line 150
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.os.PatternMatcher.mPattern:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         1: .line 151
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.os.PatternMatcher.mType:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         2: .line 152
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.os.PatternMatcher.mParsedPattern:[I
            invokevirtual android.os.Parcel.writeIntArray:([I)V
         3: .line 153
            return
        end local 2 // int flags
        end local 1 // android.os.Parcel dest
        end local 0 // android.os.PatternMatcher this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/os/PatternMatcher;
            0    4     1   dest  Landroid/os/Parcel;
            0    4     2  flags  I
    MethodParameters:
       Name  Flags
      dest   
      flags  

  public void <init>(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.PatternMatcher this
        start local 1 // android.os.Parcel src
         0: .line 155
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 156
            aload 0 /* this */
            aload 1 /* src */
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            putfield android.os.PatternMatcher.mPattern:Ljava/lang/String;
         2: .line 157
            aload 0 /* this */
            aload 1 /* src */
            invokevirtual android.os.Parcel.readInt:()I
            putfield android.os.PatternMatcher.mType:I
         3: .line 158
            aload 0 /* this */
            aload 1 /* src */
            invokevirtual android.os.Parcel.createIntArray:()[I
            putfield android.os.PatternMatcher.mParsedPattern:[I
         4: .line 159
            return
        end local 1 // android.os.Parcel src
        end local 0 // android.os.PatternMatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/os/PatternMatcher;
            0    5     1   src  Landroid/os/Parcel;
    MethodParameters:
      Name  Flags
      src   

  static boolean matchPattern(java.lang.String, java.lang.String, int[], int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[II)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // java.lang.String match
        start local 1 // java.lang.String pattern
        start local 2 // int[] parsedPattern
        start local 3 // int type
         0: .line 173
            aload 0 /* match */
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 174
      StackMap locals:
      StackMap stack:
            iload 3 /* type */
            ifne 3
         2: .line 175
            aload 1 /* pattern */
            aload 0 /* match */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         3: .line 176
      StackMap locals:
      StackMap stack:
            iload 3 /* type */
            iconst_1
            if_icmpne 5
         4: .line 177
            aload 0 /* match */
            aload 1 /* pattern */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
         5: .line 178
      StackMap locals:
      StackMap stack:
            iload 3 /* type */
            iconst_2
            if_icmpne 7
         6: .line 179
            aload 1 /* pattern */
            aload 0 /* match */
            invokestatic android.os.PatternMatcher.matchGlobPattern:(Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
         7: .line 180
      StackMap locals:
      StackMap stack:
            iload 3 /* type */
            iconst_3
            if_icmpne 9
         8: .line 181
            aload 2 /* parsedPattern */
            aload 0 /* match */
            invokestatic android.os.PatternMatcher.matchAdvancedPattern:([ILjava/lang/String;)Z
            ireturn
         9: .line 183
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int type
        end local 2 // int[] parsedPattern
        end local 1 // java.lang.String pattern
        end local 0 // java.lang.String match
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0          match  Ljava/lang/String;
            0   10     1        pattern  Ljava/lang/String;
            0   10     2  parsedPattern  [I
            0   10     3           type  I
    MethodParameters:
               Name  Flags
      match          
      pattern        
      parsedPattern  
      type           

  static boolean matchGlobPattern(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // java.lang.String pattern
        start local 1 // java.lang.String match
         0: .line 187
            aload 0 /* pattern */
            invokevirtual java.lang.String.length:()I
            istore 2 /* NP */
        start local 2 // int NP
         1: .line 188
            iload 2 /* NP */
            ifgt 4
         2: .line 189
            aload 1 /* match */
            invokevirtual java.lang.String.length:()I
            ifgt 3
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         3: iconst_0
            ireturn
         4: .line 191
      StackMap locals:
      StackMap stack:
            aload 1 /* match */
            invokevirtual java.lang.String.length:()I
            istore 3 /* NM */
        start local 3 // int NM
         5: .line 192
            iconst_0
            istore 4 /* ip */
        start local 4 // int ip
         6: iconst_0
            istore 5 /* im */
        start local 5 // int im
         7: .line 193
            aload 0 /* pattern */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* nextChar */
        start local 6 // char nextChar
         8: .line 194
            goto 59
         9: .line 195
      StackMap locals: java.lang.String java.lang.String int int int int int
      StackMap stack:
            iload 6 /* nextChar */
            istore 7 /* c */
        start local 7 // char c
        10: .line 196
            iinc 4 /* ip */ 1
        11: .line 197
            iload 4 /* ip */
            iload 2 /* NP */
            if_icmpge 12
            aload 0 /* pattern */
            iload 4 /* ip */
            invokevirtual java.lang.String.charAt:(I)C
            goto 13
      StackMap locals: int
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 6 /* nextChar */
        14: .line 198
            iload 7 /* c */
            bipush 92
            if_icmpne 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 8 /* escaped */
        start local 8 // boolean escaped
        17: .line 199
            iload 8 /* escaped */
            ifeq 23
        18: .line 200
            iload 6 /* nextChar */
            istore 7 /* c */
        19: .line 201
            iinc 4 /* ip */ 1
        20: .line 202
            iload 4 /* ip */
            iload 2 /* NP */
            if_icmpge 21
            aload 0 /* pattern */
            iload 4 /* ip */
            invokevirtual java.lang.String.charAt:(I)C
            goto 22
      StackMap locals: int
      StackMap stack:
        21: iconst_0
      StackMap locals:
      StackMap stack: int
        22: istore 6 /* nextChar */
        23: .line 204
      StackMap locals:
      StackMap stack:
            iload 6 /* nextChar */
            bipush 42
            if_icmpne 57
        24: .line 205
            iload 8 /* escaped */
            ifne 47
            iload 7 /* c */
            bipush 46
            if_icmpne 47
        25: .line 206
            iload 4 /* ip */
            iload 2 /* NP */
            iconst_1
            isub
            if_icmplt 27
        26: .line 209
            iconst_1
            ireturn
        27: .line 211
      StackMap locals:
      StackMap stack:
            iinc 4 /* ip */ 1
        28: .line 212
            aload 0 /* pattern */
            iload 4 /* ip */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* nextChar */
        29: .line 215
            iload 6 /* nextChar */
            bipush 92
            if_icmpne 34
        30: .line 216
            iinc 4 /* ip */ 1
        31: .line 217
            iload 4 /* ip */
            iload 2 /* NP */
            if_icmpge 32
            aload 0 /* pattern */
            iload 4 /* ip */
            invokevirtual java.lang.String.charAt:(I)C
            goto 33
      StackMap locals:
      StackMap stack:
        32: iconst_0
      StackMap locals:
      StackMap stack: int
        33: istore 6 /* nextChar */
        34: .line 220
      StackMap locals:
      StackMap stack:
            aload 1 /* match */
            iload 5 /* im */
            invokevirtual java.lang.String.charAt:(I)C
            iload 6 /* nextChar */
            if_icmpne 36
        35: .line 221
            goto 39
        36: .line 223
      StackMap locals:
      StackMap stack:
            iinc 5 /* im */ 1
        37: .line 224
            iload 5 /* im */
            iload 3 /* NM */
        38: .line 219
            if_icmplt 34
        39: .line 225
      StackMap locals:
      StackMap stack:
            iload 5 /* im */
            iload 3 /* NM */
            if_icmpne 41
        40: .line 228
            iconst_0
            ireturn
        41: .line 230
      StackMap locals:
      StackMap stack:
            iinc 4 /* ip */ 1
        42: .line 231
            iload 4 /* ip */
            iload 2 /* NP */
            if_icmpge 43
            aload 0 /* pattern */
            iload 4 /* ip */
            invokevirtual java.lang.String.charAt:(I)C
            goto 44
      StackMap locals:
      StackMap stack:
        43: iconst_0
      StackMap locals:
      StackMap stack: int
        44: istore 6 /* nextChar */
        45: .line 232
            iinc 5 /* im */ 1
        46: .line 233
            goto 59
        47: .line 236
      StackMap locals:
      StackMap stack:
            aload 1 /* match */
            iload 5 /* im */
            invokevirtual java.lang.String.charAt:(I)C
            iload 7 /* c */
            if_icmpeq 49
        48: .line 237
            goto 52
        49: .line 239
      StackMap locals:
      StackMap stack:
            iinc 5 /* im */ 1
        50: .line 240
            iload 5 /* im */
            iload 3 /* NM */
        51: .line 235
            if_icmplt 47
        52: .line 241
      StackMap locals:
      StackMap stack:
            iinc 4 /* ip */ 1
        53: .line 242
            iload 4 /* ip */
            iload 2 /* NP */
            if_icmpge 54
            aload 0 /* pattern */
            iload 4 /* ip */
            invokevirtual java.lang.String.charAt:(I)C
            goto 55
      StackMap locals:
      StackMap stack:
        54: iconst_0
      StackMap locals:
      StackMap stack: int
        55: istore 6 /* nextChar */
        56: .line 244
            goto 59
        57: .line 245
      StackMap locals:
      StackMap stack:
            iload 7 /* c */
            bipush 46
            if_icmpeq 58
            aload 1 /* match */
            iload 5 /* im */
            invokevirtual java.lang.String.charAt:(I)C
            iload 7 /* c */
            if_icmpeq 58
            iconst_0
            ireturn
        58: .line 246
      StackMap locals:
      StackMap stack:
            iinc 5 /* im */ 1
        end local 8 // boolean escaped
        end local 7 // char c
        59: .line 194
      StackMap locals:
      StackMap stack:
            iload 4 /* ip */
            iload 2 /* NP */
            if_icmpge 60
            iload 5 /* im */
            iload 3 /* NM */
            if_icmplt 9
        60: .line 250
      StackMap locals:
      StackMap stack:
            iload 4 /* ip */
            iload 2 /* NP */
            if_icmplt 62
            iload 5 /* im */
            iload 3 /* NM */
            if_icmplt 62
        61: .line 252
            iconst_1
            ireturn
        62: .line 258
      StackMap locals:
      StackMap stack:
            iload 4 /* ip */
            iload 2 /* NP */
            iconst_2
            isub
            if_icmpne 65
            aload 0 /* pattern */
            iload 4 /* ip */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpne 65
        63: .line 259
            aload 0 /* pattern */
            iload 4 /* ip */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 42
            if_icmpne 65
        64: .line 260
            iconst_1
            ireturn
        65: .line 263
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // char nextChar
        end local 5 // int im
        end local 4 // int ip
        end local 3 // int NM
        end local 2 // int NP
        end local 1 // java.lang.String match
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   66     0   pattern  Ljava/lang/String;
            0   66     1     match  Ljava/lang/String;
            1   66     2        NP  I
            5   66     3        NM  I
            6   66     4        ip  I
            7   66     5        im  I
            8   66     6  nextChar  C
           10   59     7         c  C
           17   59     8   escaped  Z
    MethodParameters:
         Name  Flags
      pattern  
      match    

  static synchronized int[] parseAndVerifyAdvancedPattern(java.lang.String);
    descriptor: (Ljava/lang/String;)[I
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=15, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 272
            iconst_0
            istore 1 /* ip */
        start local 1 // int ip
         1: .line 273
            aload 0 /* pattern */
            invokevirtual java.lang.String.length:()I
            istore 2 /* LP */
        start local 2 // int LP
         2: .line 275
            iconst_0
            istore 3 /* it */
        start local 3 // int it
         3: .line 277
            iconst_0
            istore 4 /* inSet */
        start local 4 // boolean inSet
         4: .line 278
            iconst_0
            istore 5 /* inRange */
        start local 5 // boolean inRange
         5: .line 279
            iconst_0
            istore 6 /* inCharClass */
        start local 6 // boolean inCharClass
         6: .line 283
            goto 111
         7: .line 284
      StackMap locals: java.lang.String int int int int int int
      StackMap stack:
            iload 3 /* it */
            sipush 2045
            if_icmple 9
         8: .line 285
            new java.lang.IllegalArgumentException
            dup
            ldc "Pattern is too large!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* pattern */
            iload 1 /* ip */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* c */
        start local 8 // char c
        10: .line 289
            iconst_0
            istore 7 /* addToParsedPattern */
        start local 7 // boolean addToParsedPattern
        11: .line 291
            iload 8 /* c */
            lookupswitch { // 8
                   42: 47
                   43: 52
                   46: 57
                   91: 12
                   92: 60
                   93: 23
                  123: 36
                  125: 43
              default: 65
          }
        12: .line 293
      StackMap locals: int int
      StackMap stack:
            iload 4 /* inSet */
            ifeq 15
        13: .line 294
            iconst_1
            istore 7 /* addToParsedPattern */
        14: .line 295
            goto 66
        15: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* pattern */
            iload 1 /* ip */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 94
            if_icmpne 19
        16: .line 297
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            bipush -2
            iastore
        17: .line 298
            iinc 1 /* ip */ 1
        18: .line 299
            goto 20
        19: .line 300
      StackMap locals:
      StackMap stack:
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            iconst_m1
            iastore
        20: .line 302
      StackMap locals:
      StackMap stack:
            iinc 1 /* ip */ 1
        21: .line 303
            iconst_1
            istore 4 /* inSet */
        22: .line 304
            goto 111
        23: .line 308
      StackMap locals:
      StackMap stack:
            iload 4 /* inSet */
            ifne 26
        24: .line 309
            iconst_1
            istore 7 /* addToParsedPattern */
        25: .line 310
            goto 66
        26: .line 311
      StackMap locals:
      StackMap stack:
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iconst_1
            isub
            iaload
            istore 9 /* parsedToken */
        start local 9 // int parsedToken
        27: .line 312
            iload 9 /* parsedToken */
            iconst_m1
            if_icmpeq 29
        28: .line 313
            iload 9 /* parsedToken */
            bipush -2
            if_icmpne 32
        29: .line 314
      StackMap locals: int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        30: .line 315
            ldc "You must define characters in a set."
        31: .line 314
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 317
      StackMap locals:
      StackMap stack:
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            bipush -3
            iastore
        33: .line 318
            iconst_0
            istore 4 /* inSet */
        34: .line 319
            iconst_0
            istore 6 /* inCharClass */
        end local 9 // int parsedToken
        35: .line 321
            goto 66
        36: .line 323
      StackMap locals:
      StackMap stack:
            iload 4 /* inSet */
            ifne 66
        37: .line 324
            iload 3 /* it */
            ifeq 38
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iconst_1
            isub
            iaload
            invokestatic android.os.PatternMatcher.isParsedModifier:(I)Z
            ifeq 39
        38: .line 325
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Modifier must follow a token."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 327
      StackMap locals:
      StackMap stack:
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            bipush -5
            iastore
        40: .line 328
            iinc 1 /* ip */ 1
        41: .line 329
            iconst_1
            istore 5 /* inRange */
        42: .line 331
            goto 66
        43: .line 333
      StackMap locals:
      StackMap stack:
            iload 5 /* inRange */
            ifeq 66
        44: .line 334
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            bipush -6
            iastore
        45: .line 335
            iconst_0
            istore 5 /* inRange */
        46: .line 337
            goto 66
        47: .line 339
      StackMap locals:
      StackMap stack:
            iload 4 /* inSet */
            ifne 66
        48: .line 340
            iload 3 /* it */
            ifeq 49
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iconst_1
            isub
            iaload
            invokestatic android.os.PatternMatcher.isParsedModifier:(I)Z
            ifeq 50
        49: .line 341
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Modifier must follow a token."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 343
      StackMap locals:
      StackMap stack:
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            bipush -7
            iastore
        51: .line 345
            goto 66
        52: .line 347
      StackMap locals:
      StackMap stack:
            iload 4 /* inSet */
            ifne 66
        53: .line 348
            iload 3 /* it */
            ifeq 54
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iconst_1
            isub
            iaload
            invokestatic android.os.PatternMatcher.isParsedModifier:(I)Z
            ifeq 55
        54: .line 349
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Modifier must follow a token."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        55: .line 351
      StackMap locals:
      StackMap stack:
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            bipush -8
            iastore
        56: .line 353
            goto 66
        57: .line 355
      StackMap locals:
      StackMap stack:
            iload 4 /* inSet */
            ifne 66
        58: .line 356
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            bipush -4
            iastore
        59: .line 358
            goto 66
        60: .line 360
      StackMap locals:
      StackMap stack:
            iload 1 /* ip */
            iconst_1
            iadd
            iload 2 /* LP */
            if_icmplt 62
        61: .line 361
            new java.lang.IllegalArgumentException
            dup
            ldc "Escape found at end of pattern!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        62: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* pattern */
            iinc 1 /* ip */ 1
            iload 1 /* ip */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* c */
        63: .line 364
            iconst_1
            istore 7 /* addToParsedPattern */
        64: .line 365
            goto 66
        65: .line 367
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* addToParsedPattern */
        66: .line 370
      StackMap locals:
      StackMap stack:
            iload 4 /* inSet */
            ifeq 81
        67: .line 371
            iload 6 /* inCharClass */
            ifeq 71
        68: .line 372
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            iload 8 /* c */
            iastore
        69: .line 373
            iconst_0
            istore 6 /* inCharClass */
        70: .line 374
            goto 110
        71: .line 376
      StackMap locals:
      StackMap stack:
            iload 1 /* ip */
            iconst_2
            iadd
            iload 2 /* LP */
            if_icmpge 78
        72: .line 377
            aload 0 /* pattern */
            iload 1 /* ip */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 78
        73: .line 378
            aload 0 /* pattern */
            iload 1 /* ip */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 93
            if_icmpeq 78
        74: .line 379
            iconst_1
            istore 6 /* inCharClass */
        75: .line 380
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            iload 8 /* c */
            iastore
        76: .line 381
            iinc 1 /* ip */ 1
        77: .line 382
            goto 110
        78: .line 383
      StackMap locals:
      StackMap stack:
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            iload 8 /* c */
            iastore
        79: .line 384
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            iload 8 /* c */
            iastore
        80: .line 387
            goto 110
      StackMap locals:
      StackMap stack:
        81: iload 5 /* inRange */
            ifeq 108
        82: .line 388
            aload 0 /* pattern */
            bipush 125
            iload 1 /* ip */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 9 /* endOfSet */
        start local 9 // int endOfSet
        83: .line 389
            iload 9 /* endOfSet */
            ifge 85
        84: .line 390
            new java.lang.IllegalArgumentException
            dup
            ldc "Range not ended with '}'"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        85: .line 392
      StackMap locals: int
      StackMap stack:
            aload 0 /* pattern */
            iload 1 /* ip */
            iload 9 /* endOfSet */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 10 /* rangeString */
        start local 10 // java.lang.String rangeString
        86: .line 393
            aload 10 /* rangeString */
            bipush 44
            invokevirtual java.lang.String.indexOf:(I)I
            istore 11 /* commaIndex */
        start local 11 // int commaIndex
        87: .line 397
            iload 11 /* commaIndex */
            ifge 92
        88: .line 398
            aload 10 /* rangeString */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 14 /* parsedRange */
        start local 14 // int parsedRange
        89: .line 399
            iload 14 /* parsedRange */
            dup
            istore 13 /* rangeMax */
        start local 13 // int rangeMax
        90: istore 12 /* rangeMin */
        end local 14 // int parsedRange
        start local 12 // int rangeMin
        91: .line 400
            goto 97
        end local 13 // int rangeMax
        end local 12 // int rangeMin
        92: .line 401
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 10 /* rangeString */
            iconst_0
            iload 11 /* commaIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 12 /* rangeMin */
        start local 12 // int rangeMin
        93: .line 402
            iload 11 /* commaIndex */
            aload 10 /* rangeString */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpne 96
        94: .line 403
            ldc 2147483647
            istore 13 /* rangeMax */
        start local 13 // int rangeMax
        95: .line 404
            goto 97
        end local 13 // int rangeMax
        96: .line 405
      StackMap locals: int
      StackMap stack:
            aload 10 /* rangeString */
            iload 11 /* commaIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 13 /* rangeMax */
        start local 13 // int rangeMax
        97: .line 408
      StackMap locals: int
      StackMap stack:
            iload 12 /* rangeMin */
            iload 13 /* rangeMax */
            if_icmple 101
        98: .line 409
            new java.lang.IllegalArgumentException
            dup
        99: .line 410
            ldc "Range quantifier minimum is greater than maximum"
       100: .line 409
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
       101: .line 412
      StackMap locals:
      StackMap stack:
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            iload 12 /* rangeMin */
            iastore
       102: .line 413
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            iload 13 /* rangeMax */
            iastore
        end local 13 // int rangeMax
        end local 12 // int rangeMin
       103: .line 414
            goto 106
      StackMap locals: java.lang.String int int int int int int int int int java.lang.String int
      StackMap stack: java.lang.NumberFormatException
       104: astore 12 /* e */
        start local 12 // java.lang.NumberFormatException e
       105: .line 415
            new java.lang.IllegalArgumentException
            dup
            ldc "Range number format incorrect"
            aload 12 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.lang.NumberFormatException e
       106: .line 417
      StackMap locals:
      StackMap stack:
            iload 9 /* endOfSet */
            istore 1 /* ip */
       107: .line 418
            goto 111
        end local 11 // int commaIndex
        end local 10 // java.lang.String rangeString
        end local 9 // int endOfSet
       108: .line 419
      StackMap locals:
      StackMap stack:
            iload 7 /* addToParsedPattern */
            ifeq 110
       109: .line 420
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            iinc 3 /* it */ 1
            iload 8 /* c */
            iastore
       110: .line 422
      StackMap locals:
      StackMap stack:
            iinc 1 /* ip */ 1
        end local 8 // char c
        end local 7 // boolean addToParsedPattern
       111: .line 283
      StackMap locals:
      StackMap stack:
            iload 1 /* ip */
            iload 2 /* LP */
            if_icmplt 7
       112: .line 424
            iload 4 /* inSet */
            ifeq 114
       113: .line 425
            new java.lang.IllegalArgumentException
            dup
            ldc "Set was not terminated!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
       114: .line 427
      StackMap locals:
      StackMap stack:
            getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
            iload 3 /* it */
            invokestatic java.util.Arrays.copyOf:([II)[I
            areturn
        end local 6 // boolean inCharClass
        end local 5 // boolean inRange
        end local 4 // boolean inSet
        end local 3 // int it
        end local 2 // int LP
        end local 1 // int ip
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  115     0             pattern  Ljava/lang/String;
            1  115     1                  ip  I
            2  115     2                  LP  I
            3  115     3                  it  I
            4  115     4               inSet  Z
            5  115     5             inRange  Z
            6  115     6         inCharClass  Z
           11  111     7  addToParsedPattern  Z
           10  111     8                   c  C
           27   35     9         parsedToken  I
           83  108     9            endOfSet  I
           86  108    10         rangeString  Ljava/lang/String;
           87  108    11          commaIndex  I
           91   92    12            rangeMin  I
           93  103    12            rangeMin  I
           90   92    13            rangeMax  I
           95   96    13            rangeMax  I
           97  103    13            rangeMax  I
           89   91    14         parsedRange  I
          105  106    12                   e  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
          87   103     104  Class java.lang.NumberFormatException
    MethodParameters:
         Name  Flags
      pattern  

  private static boolean isParsedModifier(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int parsedChar
         0: .line 431
            iload 0 /* parsedChar */
            bipush -8
            if_icmpeq 5
         1: .line 432
            iload 0 /* parsedChar */
            bipush -7
            if_icmpeq 5
         2: .line 433
            iload 0 /* parsedChar */
            bipush -6
            if_icmpeq 5
         3: .line 434
            iload 0 /* parsedChar */
            bipush -5
            if_icmpeq 5
         4: .line 431
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_1
            ireturn
        end local 0 // int parsedChar
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  parsedChar  I
    MethodParameters:
            Name  Flags
      parsedChar  

  static boolean matchAdvancedPattern(int[], java.lang.String);
    descriptor: ([ILjava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=13, args_size=2
        start local 0 // int[] parsedPattern
        start local 1 // java.lang.String match
         0: .line 440
            iconst_0
            istore 2 /* ip */
        start local 2 // int ip
         1: iconst_0
            istore 3 /* im */
        start local 3 // int im
         2: .line 443
            aload 0 /* parsedPattern */
            arraylength
            istore 4 /* LP */
        start local 4 // int LP
         3: aload 1 /* match */
            invokevirtual java.lang.String.length:()I
            istore 5 /* LM */
        start local 5 // int LM
         4: .line 450
            iconst_0
            istore 8 /* charSetStart */
        start local 8 // int charSetStart
         5: iconst_0
            istore 9 /* charSetEnd */
        start local 9 // int charSetEnd
         6: .line 452
            goto 52
         7: .line 454
      StackMap locals: int[] java.lang.String int int int int top top int int
      StackMap stack:
            aload 0 /* parsedPattern */
            iload 2 /* ip */
            iaload
            istore 6 /* patternChar */
        start local 6 // int patternChar
         8: .line 457
            iload 6 /* patternChar */
            tableswitch { // -4 - -1
                   -4: 9
                   -3: 21
                   -2: 12
                   -1: 12
              default: 21
          }
         9: .line 459
      StackMap locals: int[] java.lang.String int int int int int top int int
      StackMap stack:
            iconst_1
            istore 7 /* tokenType */
        start local 7 // int tokenType
        10: .line 460
            iinc 2 /* ip */ 1
        11: .line 461
            goto 24
        end local 7 // int tokenType
        12: .line 464
      StackMap locals:
      StackMap stack:
            iload 6 /* patternChar */
            iconst_m1
            if_icmpne 14
        13: .line 465
            iconst_2
            goto 15
        14: .line 466
      StackMap locals:
      StackMap stack:
            iconst_3
        15: .line 464
      StackMap locals:
      StackMap stack: int
            istore 7 /* tokenType */
        start local 7 // int tokenType
        16: .line 467
            iload 2 /* ip */
            iconst_1
            iadd
            istore 8 /* charSetStart */
        17: .line 468
      StackMap locals: int[] java.lang.String int int int int int int int int
      StackMap stack:
            iinc 2 /* ip */ 1
            iload 2 /* ip */
            iload 4 /* LP */
            if_icmpge 18
            aload 0 /* parsedPattern */
            iload 2 /* ip */
            iaload
            bipush -3
            if_icmpne 17
        18: .line 469
      StackMap locals:
      StackMap stack:
            iload 2 /* ip */
            iconst_1
            isub
            istore 9 /* charSetEnd */
        19: .line 470
            iinc 2 /* ip */ 1
        20: .line 471
            goto 24
        end local 7 // int tokenType
        21: .line 473
      StackMap locals: int[] java.lang.String int int int int int top int int
      StackMap stack:
            iload 2 /* ip */
            istore 8 /* charSetStart */
        22: .line 474
            iconst_0
            istore 7 /* tokenType */
        start local 7 // int tokenType
        23: .line 475
            iinc 2 /* ip */ 1
        24: .line 483
      StackMap locals: int[] java.lang.String int int int int int int int int
      StackMap stack:
            iload 2 /* ip */
            iload 4 /* LP */
            if_icmplt 28
        25: .line 484
            iconst_1
            dup
            istore 11 /* maxRepetition */
        start local 11 // int maxRepetition
        26: istore 10 /* minRepetition */
        start local 10 // int minRepetition
        27: .line 485
            goto 44
        end local 11 // int maxRepetition
        end local 10 // int minRepetition
        28: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* parsedPattern */
            iload 2 /* ip */
            iaload
            istore 6 /* patternChar */
        29: .line 487
            iload 6 /* patternChar */
            tableswitch { // -8 - -5
                   -8: 34
                   -7: 30
                   -6: 42
                   -5: 38
              default: 42
          }
        30: .line 489
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* minRepetition */
        start local 10 // int minRepetition
        31: .line 490
            ldc 2147483647
            istore 11 /* maxRepetition */
        start local 11 // int maxRepetition
        32: .line 491
            iinc 2 /* ip */ 1
        33: .line 492
            goto 44
        end local 11 // int maxRepetition
        end local 10 // int minRepetition
        34: .line 494
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 10 /* minRepetition */
        start local 10 // int minRepetition
        35: .line 495
            ldc 2147483647
            istore 11 /* maxRepetition */
        start local 11 // int maxRepetition
        36: .line 496
            iinc 2 /* ip */ 1
        37: .line 497
            goto 44
        end local 11 // int maxRepetition
        end local 10 // int minRepetition
        38: .line 499
      StackMap locals:
      StackMap stack:
            aload 0 /* parsedPattern */
            iinc 2 /* ip */ 1
            iload 2 /* ip */
            iaload
            istore 10 /* minRepetition */
        start local 10 // int minRepetition
        39: .line 500
            aload 0 /* parsedPattern */
            iinc 2 /* ip */ 1
            iload 2 /* ip */
            iaload
            istore 11 /* maxRepetition */
        start local 11 // int maxRepetition
        40: .line 501
            iinc 2 /* ip */ 2
        41: .line 502
            goto 44
        end local 11 // int maxRepetition
        end local 10 // int minRepetition
        42: .line 504
      StackMap locals:
      StackMap stack:
            iconst_1
            dup
            istore 11 /* maxRepetition */
        start local 11 // int maxRepetition
        43: istore 10 /* minRepetition */
        start local 10 // int minRepetition
        44: .line 508
      StackMap locals: int int
      StackMap stack:
            iload 10 /* minRepetition */
            iload 11 /* maxRepetition */
            if_icmple 46
        45: .line 509
            iconst_0
            ireturn
        46: .line 513
      StackMap locals:
      StackMap stack:
            aload 1 /* match */
            iload 3 /* im */
            iload 5 /* LM */
            iload 7 /* tokenType */
            iload 10 /* minRepetition */
            iload 11 /* maxRepetition */
        47: .line 514
            aload 0 /* parsedPattern */
            iload 8 /* charSetStart */
            iload 9 /* charSetEnd */
        48: .line 513
            invokestatic android.os.PatternMatcher.matchChars:(Ljava/lang/String;IIIII[III)I
            istore 12 /* matched */
        start local 12 // int matched
        49: .line 517
            iload 12 /* matched */
            iconst_m1
            if_icmpne 51
        50: .line 518
            iconst_0
            ireturn
        51: .line 522
      StackMap locals: int
      StackMap stack:
            iload 3 /* im */
            iload 12 /* matched */
            iadd
            istore 3 /* im */
        end local 12 // int matched
        end local 11 // int maxRepetition
        end local 10 // int minRepetition
        end local 7 // int tokenType
        end local 6 // int patternChar
        52: .line 452
      StackMap locals: int[] java.lang.String int int int int top top int int
      StackMap stack:
            iload 2 /* ip */
            iload 4 /* LP */
            if_icmplt 7
        53: .line 524
            iload 2 /* ip */
            iload 4 /* LP */
            if_icmplt 54
            iload 3 /* im */
            iload 5 /* LM */
            if_icmplt 54
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        54: iconst_0
            ireturn
        end local 9 // int charSetEnd
        end local 8 // int charSetStart
        end local 5 // int LM
        end local 4 // int LP
        end local 3 // int im
        end local 2 // int ip
        end local 1 // java.lang.String match
        end local 0 // int[] parsedPattern
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   55     0  parsedPattern  [I
            0   55     1          match  Ljava/lang/String;
            1   55     2             ip  I
            2   55     3             im  I
            3   55     4             LP  I
            4   55     5             LM  I
            8   52     6    patternChar  I
           10   12     7      tokenType  I
           16   21     7      tokenType  I
           23   52     7      tokenType  I
            5   55     8   charSetStart  I
            6   55     9     charSetEnd  I
           27   28    10  minRepetition  I
           31   34    10  minRepetition  I
           35   38    10  minRepetition  I
           39   42    10  minRepetition  I
           44   52    10  minRepetition  I
           26   28    11  maxRepetition  I
           32   34    11  maxRepetition  I
           36   38    11  maxRepetition  I
           40   42    11  maxRepetition  I
           43   52    11  maxRepetition  I
           49   52    12        matched  I
    MethodParameters:
               Name  Flags
      parsedPattern  
      match          

  private static int matchChars(java.lang.String, int, int, int, int, int, int[], int, int);
    descriptor: (Ljava/lang/String;IIIII[III)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=9
        start local 0 // java.lang.String match
        start local 1 // int im
        start local 2 // int lm
        start local 3 // int tokenType
        start local 4 // int minRepetition
        start local 5 // int maxRepetition
        start local 6 // int[] parsedPattern
        start local 7 // int tokenStart
        start local 8 // int tokenEnd
         0: .line 530
            iconst_0
            istore 9 /* matched */
        start local 9 // int matched
         1: .line 532
            goto 3
         2: .line 535
      StackMap locals: int
      StackMap stack:
            iinc 9 /* matched */ 1
         3: .line 532
      StackMap locals:
      StackMap stack:
            iload 9 /* matched */
            iload 5 /* maxRepetition */
            if_icmpge 8
         4: .line 533
            aload 0 /* match */
            iload 1 /* im */
            iload 9 /* matched */
            iadd
            iload 2 /* lm */
            iload 3 /* tokenType */
            aload 6 /* parsedPattern */
            iload 7 /* tokenStart */
         5: .line 534
            iload 8 /* tokenEnd */
         6: .line 533
            invokestatic android.os.PatternMatcher.matchChar:(Ljava/lang/String;III[III)Z
         7: .line 534
            ifne 2
         8: .line 538
      StackMap locals:
      StackMap stack:
            iload 9 /* matched */
            iload 4 /* minRepetition */
            if_icmpge 9
            iconst_m1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iload 9 /* matched */
      StackMap locals:
      StackMap stack: int
        10: ireturn
        end local 9 // int matched
        end local 8 // int tokenEnd
        end local 7 // int tokenStart
        end local 6 // int[] parsedPattern
        end local 5 // int maxRepetition
        end local 4 // int minRepetition
        end local 3 // int tokenType
        end local 2 // int lm
        end local 1 // int im
        end local 0 // java.lang.String match
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0          match  Ljava/lang/String;
            0   11     1             im  I
            0   11     2             lm  I
            0   11     3      tokenType  I
            0   11     4  minRepetition  I
            0   11     5  maxRepetition  I
            0   11     6  parsedPattern  [I
            0   11     7     tokenStart  I
            0   11     8       tokenEnd  I
            1   11     9        matched  I
    MethodParameters:
               Name  Flags
      match          
      im             
      lm             final
      tokenType      
      minRepetition  
      maxRepetition  
      parsedPattern  
      tokenStart     
      tokenEnd       

  private static boolean matchChar(java.lang.String, int, int, int, int[], int, int);
    descriptor: (Ljava/lang/String;III[III)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // java.lang.String match
        start local 1 // int im
        start local 2 // int lm
        start local 3 // int tokenType
        start local 4 // int[] parsedPattern
        start local 5 // int tokenStart
        start local 6 // int tokenEnd
         0: .line 543
            iload 1 /* im */
            iload 2 /* lm */
            if_icmplt 2
         1: .line 544
            iconst_0
            ireturn
         2: .line 546
      StackMap locals:
      StackMap stack:
            iload 3 /* tokenType */
            tableswitch { // 0 - 3
                    0: 20
                    1: 3
                    2: 4
                    3: 12
              default: 22
          }
         3: .line 548
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 550
      StackMap locals:
      StackMap stack:
            iload 5 /* tokenStart */
            istore 7 /* i */
        start local 7 // int i
         5: goto 10
         6: .line 551
      StackMap locals: int
      StackMap stack:
            aload 0 /* match */
            iload 1 /* im */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* matchChar */
        start local 8 // char matchChar
         7: .line 552
            iload 8 /* matchChar */
            aload 4 /* parsedPattern */
            iload 7 /* i */
            iaload
            if_icmplt 9
            iload 8 /* matchChar */
            aload 4 /* parsedPattern */
            iload 7 /* i */
            iconst_1
            iadd
            iaload
            if_icmpgt 9
         8: .line 553
            iconst_1
            ireturn
        end local 8 // char matchChar
         9: .line 550
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 2
      StackMap locals:
      StackMap stack:
        10: iload 7 /* i */
            iload 6 /* tokenEnd */
            if_icmplt 6
        end local 7 // int i
        11: .line 556
            iconst_0
            ireturn
        12: .line 558
      StackMap locals:
      StackMap stack:
            iload 5 /* tokenStart */
            istore 7 /* i */
        start local 7 // int i
        13: goto 18
        14: .line 559
      StackMap locals: int
      StackMap stack:
            aload 0 /* match */
            iload 1 /* im */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* matchChar */
        start local 8 // char matchChar
        15: .line 560
            iload 8 /* matchChar */
            aload 4 /* parsedPattern */
            iload 7 /* i */
            iaload
            if_icmplt 17
            iload 8 /* matchChar */
            aload 4 /* parsedPattern */
            iload 7 /* i */
            iconst_1
            iadd
            iaload
            if_icmpgt 17
        16: .line 561
            iconst_0
            ireturn
        end local 8 // char matchChar
        17: .line 558
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 2
      StackMap locals:
      StackMap stack:
        18: iload 7 /* i */
            iload 6 /* tokenEnd */
            if_icmplt 14
        end local 7 // int i
        19: .line 564
            iconst_1
            ireturn
        20: .line 566
      StackMap locals:
      StackMap stack:
            aload 0 /* match */
            iload 1 /* im */
            invokevirtual java.lang.String.charAt:(I)C
            aload 4 /* parsedPattern */
            iload 5 /* tokenStart */
            iaload
            if_icmpne 21
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        21: iconst_0
            ireturn
        22: .line 568
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // int tokenEnd
        end local 5 // int tokenStart
        end local 4 // int[] parsedPattern
        end local 3 // int tokenType
        end local 2 // int lm
        end local 1 // int im
        end local 0 // java.lang.String match
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0          match  Ljava/lang/String;
            0   23     1             im  I
            0   23     2             lm  I
            0   23     3      tokenType  I
            0   23     4  parsedPattern  [I
            0   23     5     tokenStart  I
            0   23     6       tokenEnd  I
            5   11     7              i  I
            7    9     8      matchChar  C
           13   19     7              i  I
           15   17     8      matchChar  C
    MethodParameters:
               Name  Flags
      match          
      im             
      lm             final
      tokenType      
      parsedPattern  
      tokenStart     
      tokenEnd       
}
SourceFile: "PatternMatcher.java"
NestMembers:
  android.os.PatternMatcher$1
InnerClasses:
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable
  android.os.PatternMatcher$1