public final class org.apache.commons.lang.NumberUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.commons.lang.NumberUtils
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang.NumberUtils this
         0: .line 47
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 48
            return
        end local 0 // org.apache.commons.lang.NumberUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/lang/NumberUtils;

  public static int stringToInt(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 61
            aload 0 /* str */
            iconst_0
            invokestatic org.apache.commons.lang.NumberUtils.stringToInt:(Ljava/lang/String;I)I
            ireturn
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public static int stringToInt(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.String str
        start local 1 // int defaultValue
         0: .line 74
            aload 0 /* str */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
         1: ireturn
         2: .line 75
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
         3: .line 76
            iload 1 /* defaultValue */
            ireturn
        end local 1 // int defaultValue
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0           str  Ljava/lang/String;
            0    4     1  defaultValue  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NumberFormatException
    MethodParameters:
              Name  Flags
      str           
      defaultValue  

  public static java.lang.Number createNumber(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Number;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // java.lang.String val
         0: .line 139
            aload 0 /* val */
            ifnonnull 2
         1: .line 140
            aconst_null
            areturn
         2: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 143
            new java.lang.NumberFormatException
            dup
            ldc "\"\" is not a valid number."
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 6
            aload 0 /* val */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isDigit:(C)Z
            ifne 6
         5: .line 146
            new java.lang.NumberFormatException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* val */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not a valid number."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            ldc "--"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 153
            aconst_null
            areturn
         8: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            ldc "0x"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 9
            aload 0 /* val */
            ldc "-0x"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            invokestatic org.apache.commons.lang.NumberUtils.createInteger:(Ljava/lang/String;)Ljava/lang/Integer;
            areturn
        10: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            aload 0 /* val */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* lastChar */
        start local 1 // char lastChar
        11: .line 162
            aload 0 /* val */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            istore 5 /* decPos */
        start local 5 // int decPos
        12: .line 163
            aload 0 /* val */
            bipush 101
            invokevirtual java.lang.String.indexOf:(I)I
            aload 0 /* val */
            bipush 69
            invokevirtual java.lang.String.indexOf:(I)I
            iadd
            iconst_1
            iadd
            istore 6 /* expPos */
        start local 6 // int expPos
        13: .line 165
            iload 5 /* decPos */
            iconst_m1
            if_icmple 22
        14: .line 167
            iload 6 /* expPos */
            iconst_m1
            if_icmple 19
        15: .line 168
            iload 6 /* expPos */
            iload 5 /* decPos */
            if_icmpge 17
        16: .line 169
            new java.lang.NumberFormatException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* val */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not a valid number."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 171
      StackMap locals: java.lang.String int top top top int int
      StackMap stack:
            aload 0 /* val */
            iload 5 /* decPos */
            iconst_1
            iadd
            iload 6 /* expPos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* dec */
        start local 3 // java.lang.String dec
        18: .line 172
            goto 20
        end local 3 // java.lang.String dec
        19: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            iload 5 /* decPos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* dec */
        start local 3 // java.lang.String dec
        20: .line 175
      StackMap locals: java.lang.String int top java.lang.String top int int
      StackMap stack:
            aload 0 /* val */
            iconst_0
            iload 5 /* decPos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* mant */
        start local 2 // java.lang.String mant
        21: .line 176
            goto 27
        end local 3 // java.lang.String dec
        end local 2 // java.lang.String mant
        22: .line 177
      StackMap locals: java.lang.String int top top top int int
      StackMap stack:
            iload 6 /* expPos */
            iconst_m1
            if_icmple 25
        23: .line 178
            aload 0 /* val */
            iconst_0
            iload 6 /* expPos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* mant */
        start local 2 // java.lang.String mant
        24: .line 179
            goto 26
        end local 2 // java.lang.String mant
        25: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            astore 2 /* mant */
        start local 2 // java.lang.String mant
        26: .line 182
      StackMap locals: java.lang.String int java.lang.String top top int int
      StackMap stack:
            aconst_null
            astore 3 /* dec */
        start local 3 // java.lang.String dec
        27: .line 184
      StackMap locals: java.lang.String int java.lang.String java.lang.String top int int
      StackMap stack:
            iload 1 /* lastChar */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifne 60
        28: .line 185
            iload 6 /* expPos */
            iconst_m1
            if_icmple 31
            iload 6 /* expPos */
            aload 0 /* val */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpge 31
        29: .line 186
            aload 0 /* val */
            iload 6 /* expPos */
            iconst_1
            iadd
            aload 0 /* val */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* exp */
        start local 4 // java.lang.String exp
        30: .line 187
            goto 32
        end local 4 // java.lang.String exp
        31: .line 188
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* exp */
        start local 4 // java.lang.String exp
        32: .line 191
      StackMap locals: java.lang.String int java.lang.String java.lang.String java.lang.String int int
      StackMap stack:
            aload 0 /* val */
            iconst_0
            aload 0 /* val */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* numeric */
        start local 7 // java.lang.String numeric
        33: .line 192
            aload 2 /* mant */
            invokestatic org.apache.commons.lang.NumberUtils.isAllZeros:(Ljava/lang/String;)Z
            ifeq 34
            aload 4 /* exp */
            invokestatic org.apache.commons.lang.NumberUtils.isAllZeros:(Ljava/lang/String;)Z
            ifeq 34
            iconst_1
            goto 35
      StackMap locals: java.lang.String
      StackMap stack:
        34: iconst_0
      StackMap locals:
      StackMap stack: int
        35: istore 8 /* allZeros */
        start local 8 // boolean allZeros
        36: .line 193
            iload 1 /* lastChar */
            lookupswitch { // 6
                   68: 51
                   70: 46
                   76: 37
                  100: 51
                  102: 46
                  108: 37
              default: 59
          }
        37: .line 196
      StackMap locals: int
      StackMap stack:
            aload 3 /* dec */
            ifnonnull 45
        38: .line 197
            aload 4 /* exp */
            ifnonnull 45
        39: .line 198
            aload 7 /* numeric */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 40
            aload 7 /* numeric */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.apache.commons.lang.NumberUtils.isDigits:(Ljava/lang/String;)Z
            ifne 41
      StackMap locals:
      StackMap stack:
        40: aload 7 /* numeric */
            invokestatic org.apache.commons.lang.NumberUtils.isDigits:(Ljava/lang/String;)Z
            ifeq 45
        41: .line 200
      StackMap locals:
      StackMap stack:
            aload 7 /* numeric */
            invokestatic org.apache.commons.lang.NumberUtils.createLong:(Ljava/lang/String;)Ljava/lang/Long;
        42: areturn
        43: .line 201
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        44: .line 204
            aload 7 /* numeric */
            invokestatic org.apache.commons.lang.NumberUtils.createBigInteger:(Ljava/lang/String;)Ljava/math/BigInteger;
            areturn
        45: .line 207
      StackMap locals:
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* val */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not a valid number."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        46: .line 211
      StackMap locals:
      StackMap stack:
            aload 7 /* numeric */
            invokestatic org.apache.commons.lang.NumberUtils.createFloat:(Ljava/lang/String;)Ljava/lang/Float;
            astore 9 /* f */
        start local 9 // java.lang.Float f
        47: .line 212
            aload 9 /* f */
            invokevirtual java.lang.Float.isInfinite:()Z
            ifne 51
            aload 9 /* f */
            invokevirtual java.lang.Float.floatValue:()F
            fconst_0
            fcmpl
            ifne 48
            iload 8 /* allZeros */
            ifeq 51
        48: .line 215
      StackMap locals: java.lang.Float
      StackMap stack:
            aload 9 /* f */
        49: areturn
        end local 9 // java.lang.Float f
        50: .line 218
      StackMap locals: java.lang.String int java.lang.String java.lang.String java.lang.String int int java.lang.String int
      StackMap stack: java.lang.NumberFormatException
            pop
        51: .line 225
      StackMap locals:
      StackMap stack:
            aload 7 /* numeric */
            invokestatic org.apache.commons.lang.NumberUtils.createDouble:(Ljava/lang/String;)Ljava/lang/Double;
            astore 9 /* d */
        start local 9 // java.lang.Double d
        52: .line 226
            aload 9 /* d */
            invokevirtual java.lang.Double.isInfinite:()Z
            ifne 56
            aload 9 /* d */
            invokevirtual java.lang.Double.floatValue:()F
            f2d
            dconst_0
            dcmpl
            ifne 53
            iload 8 /* allZeros */
            ifeq 56
        53: .line 227
      StackMap locals: java.lang.Double
      StackMap stack:
            aload 9 /* d */
        54: areturn
        end local 9 // java.lang.Double d
        55: .line 229
      StackMap locals: java.lang.String int java.lang.String java.lang.String java.lang.String int int java.lang.String int
      StackMap stack: java.lang.NumberFormatException
            pop
        56: .line 233
      StackMap locals:
      StackMap stack:
            aload 7 /* numeric */
            invokestatic org.apache.commons.lang.NumberUtils.createBigDecimal:(Ljava/lang/String;)Ljava/math/BigDecimal;
        57: areturn
        58: .line 234
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        59: .line 239
      StackMap locals:
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* val */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not a valid number."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // boolean allZeros
        end local 7 // java.lang.String numeric
        end local 4 // java.lang.String exp
        60: .line 245
      StackMap locals: java.lang.String int java.lang.String java.lang.String top int int
      StackMap stack:
            iload 6 /* expPos */
            iconst_m1
            if_icmple 63
            iload 6 /* expPos */
            aload 0 /* val */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpge 63
        61: .line 246
            aload 0 /* val */
            iload 6 /* expPos */
            iconst_1
            iadd
            aload 0 /* val */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* exp */
        start local 4 // java.lang.String exp
        62: .line 247
            goto 64
        end local 4 // java.lang.String exp
        63: .line 248
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* exp */
        start local 4 // java.lang.String exp
        64: .line 250
      StackMap locals: java.lang.String int java.lang.String java.lang.String java.lang.String int int
      StackMap stack:
            aload 3 /* dec */
            ifnonnull 72
            aload 4 /* exp */
            ifnonnull 72
        65: .line 253
            aload 0 /* val */
            invokestatic org.apache.commons.lang.NumberUtils.createInteger:(Ljava/lang/String;)Ljava/lang/Integer;
        66: areturn
        67: .line 254
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        68: .line 258
            aload 0 /* val */
            invokestatic org.apache.commons.lang.NumberUtils.createLong:(Ljava/lang/String;)Ljava/lang/Long;
        69: areturn
        70: .line 259
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        71: .line 262
            aload 0 /* val */
            invokestatic org.apache.commons.lang.NumberUtils.createBigInteger:(Ljava/lang/String;)Ljava/math/BigInteger;
            areturn
        72: .line 266
      StackMap locals:
      StackMap stack:
            aload 2 /* mant */
            invokestatic org.apache.commons.lang.NumberUtils.isAllZeros:(Ljava/lang/String;)Z
            ifeq 73
            aload 4 /* exp */
            invokestatic org.apache.commons.lang.NumberUtils.isAllZeros:(Ljava/lang/String;)Z
            ifeq 73
            iconst_1
            goto 74
      StackMap locals:
      StackMap stack:
        73: iconst_0
      StackMap locals:
      StackMap stack: int
        74: istore 7 /* allZeros */
        start local 7 // boolean allZeros
        75: .line 268
            aload 0 /* val */
            invokestatic org.apache.commons.lang.NumberUtils.createFloat:(Ljava/lang/String;)Ljava/lang/Float;
            astore 8 /* f */
        start local 8 // java.lang.Float f
        76: .line 269
            aload 8 /* f */
            invokevirtual java.lang.Float.isInfinite:()Z
            ifne 80
            aload 8 /* f */
            invokevirtual java.lang.Float.floatValue:()F
            fconst_0
            fcmpl
            ifne 77
            iload 7 /* allZeros */
            ifeq 80
        77: .line 270
      StackMap locals: int java.lang.Float
      StackMap stack:
            aload 8 /* f */
        78: areturn
        end local 8 // java.lang.Float f
        79: .line 272
      StackMap locals: java.lang.String int java.lang.String java.lang.String java.lang.String int int int
      StackMap stack: java.lang.NumberFormatException
            pop
        80: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            invokestatic org.apache.commons.lang.NumberUtils.createDouble:(Ljava/lang/String;)Ljava/lang/Double;
            astore 8 /* d */
        start local 8 // java.lang.Double d
        81: .line 277
            aload 8 /* d */
            invokevirtual java.lang.Double.isInfinite:()Z
            ifne 85
            aload 8 /* d */
            invokevirtual java.lang.Double.doubleValue:()D
            dconst_0
            dcmpl
            ifne 82
            iload 7 /* allZeros */
            ifeq 85
        82: .line 278
      StackMap locals: java.lang.Double
      StackMap stack:
            aload 8 /* d */
        83: areturn
        end local 8 // java.lang.Double d
        84: .line 280
      StackMap locals: java.lang.String int java.lang.String java.lang.String java.lang.String int int int
      StackMap stack: java.lang.NumberFormatException
            pop
        85: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            invokestatic org.apache.commons.lang.NumberUtils.createBigDecimal:(Ljava/lang/String;)Ljava/math/BigDecimal;
            areturn
        end local 7 // boolean allZeros
        end local 6 // int expPos
        end local 5 // int decPos
        end local 4 // java.lang.String exp
        end local 3 // java.lang.String dec
        end local 2 // java.lang.String mant
        end local 1 // char lastChar
        end local 0 // java.lang.String val
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   86     0       val  Ljava/lang/String;
           11   86     1  lastChar  C
           21   22     2      mant  Ljava/lang/String;
           24   25     2      mant  Ljava/lang/String;
           26   86     2      mant  Ljava/lang/String;
           18   19     3       dec  Ljava/lang/String;
           20   22     3       dec  Ljava/lang/String;
           27   86     3       dec  Ljava/lang/String;
           30   31     4       exp  Ljava/lang/String;
           32   60     4       exp  Ljava/lang/String;
           62   63     4       exp  Ljava/lang/String;
           64   86     4       exp  Ljava/lang/String;
           12   86     5    decPos  I
           13   86     6    expPos  I
           33   60     7   numeric  Ljava/lang/String;
           36   60     8  allZeros  Z
           47   50     9         f  Ljava/lang/Float;
           52   55     9         d  Ljava/lang/Double;
           75   86     7  allZeros  Z
           76   79     8         f  Ljava/lang/Float;
           81   84     8         d  Ljava/lang/Double;
      Exception table:
        from    to  target  type
          41    42      43  Class java.lang.NumberFormatException
          46    49      50  Class java.lang.NumberFormatException
          51    54      55  Class java.lang.NumberFormatException
          56    57      58  Class java.lang.NumberFormatException
          65    66      67  Class java.lang.NumberFormatException
          68    69      70  Class java.lang.NumberFormatException
          75    78      79  Class java.lang.NumberFormatException
          80    83      84  Class java.lang.NumberFormatException
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      val   

  private static boolean isAllZeros(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String s
         0: .line 300
            aload 0 /* s */
            ifnonnull 2
         1: .line 301
            iconst_1
            ireturn
         2: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 1 /* i */
        start local 1 // int i
         3: goto 7
         4: .line 304
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 48
            if_icmpeq 6
         5: .line 305
            iconst_0
            ireturn
         6: .line 303
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            ifge 4
        end local 1 // int i
         8: .line 308
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            ifle 9
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         9: iconst_0
            ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0     s  Ljava/lang/String;
            3    8     1     i  I
    MethodParameters:
      Name  Flags
      s     

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

  public static java.lang.Double createDouble(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Double;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String val
         0: .line 332
            aload 0 /* val */
            invokestatic java.lang.Double.valueOf:(Ljava/lang/String;)Ljava/lang/Double;
            areturn
        end local 0 // java.lang.String val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   val  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      val   

  public static java.lang.Integer createInteger(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Integer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String val
         0: .line 345
            aload 0 /* val */
            invokestatic java.lang.Integer.decode:(Ljava/lang/String;)Ljava/lang/Integer;
            areturn
        end local 0 // java.lang.String val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   val  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      val   

  public static java.lang.Long createLong(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Long;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String val
         0: .line 356
            aload 0 /* val */
            invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
            areturn
        end local 0 // java.lang.String val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   val  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      val   

  public static java.math.BigInteger createBigInteger(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/math/BigInteger;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String val
         0: .line 367
            new java.math.BigInteger
            dup
            aload 0 /* val */
            invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
            astore 1 /* bi */
        start local 1 // java.math.BigInteger bi
         1: .line 368
            aload 1 /* bi */
            areturn
        end local 1 // java.math.BigInteger bi
        end local 0 // java.lang.String val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   val  Ljava/lang/String;
            1    2     1    bi  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      val   

  public static java.math.BigDecimal createBigDecimal(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/math/BigDecimal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String val
         0: .line 379
            new java.math.BigDecimal
            dup
            aload 0 /* val */
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            astore 1 /* bd */
        start local 1 // java.math.BigDecimal bd
         1: .line 380
            aload 1 /* bd */
            areturn
        end local 1 // java.math.BigDecimal bd
        end local 0 // java.lang.String val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   val  Ljava/lang/String;
            1    2     1    bd  Ljava/math/BigDecimal;
    MethodParameters:
      Name  Flags
      val   

  public static long minimum(long, long, long);
    descriptor: (JJJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // long a
        start local 2 // long b
        start local 4 // long c
         0: .line 394
            lload 2 /* b */
            lload 0 /* a */
            lcmp
            ifge 2
         1: .line 395
            lload 2 /* b */
            lstore 0 /* a */
         2: .line 397
      StackMap locals:
      StackMap stack:
            lload 4 /* c */
            lload 0 /* a */
            lcmp
            ifge 4
         3: .line 398
            lload 4 /* c */
            lstore 0 /* a */
         4: .line 400
      StackMap locals:
      StackMap stack:
            lload 0 /* a */
            lreturn
        end local 4 // long c
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     a  J
            0    5     2     b  J
            0    5     4     c  J
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  public static int minimum(int, int, int);
    descriptor: (III)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // int a
        start local 1 // int b
        start local 2 // int c
         0: .line 412
            iload 1 /* b */
            iload 0 /* a */
            if_icmpge 2
         1: .line 413
            iload 1 /* b */
            istore 0 /* a */
         2: .line 415
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            iload 0 /* a */
            if_icmpge 4
         3: .line 416
            iload 2 /* c */
            istore 0 /* a */
         4: .line 418
      StackMap locals:
      StackMap stack:
            iload 0 /* a */
            ireturn
        end local 2 // int c
        end local 1 // int b
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     a  I
            0    5     1     b  I
            0    5     2     c  I
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  public static long maximum(long, long, long);
    descriptor: (JJJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // long a
        start local 2 // long b
        start local 4 // long c
         0: .line 430
            lload 2 /* b */
            lload 0 /* a */
            lcmp
            ifle 2
         1: .line 431
            lload 2 /* b */
            lstore 0 /* a */
         2: .line 433
      StackMap locals:
      StackMap stack:
            lload 4 /* c */
            lload 0 /* a */
            lcmp
            ifle 4
         3: .line 434
            lload 4 /* c */
            lstore 0 /* a */
         4: .line 436
      StackMap locals:
      StackMap stack:
            lload 0 /* a */
            lreturn
        end local 4 // long c
        end local 2 // long b
        end local 0 // long a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     a  J
            0    5     2     b  J
            0    5     4     c  J
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  public static int maximum(int, int, int);
    descriptor: (III)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // int a
        start local 1 // int b
        start local 2 // int c
         0: .line 448
            iload 1 /* b */
            iload 0 /* a */
            if_icmple 2
         1: .line 449
            iload 1 /* b */
            istore 0 /* a */
         2: .line 451
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            iload 0 /* a */
            if_icmple 4
         3: .line 452
            iload 2 /* c */
            istore 0 /* a */
         4: .line 454
      StackMap locals:
      StackMap stack:
            iload 0 /* a */
            ireturn
        end local 2 // int c
        end local 1 // int b
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     a  I
            0    5     1     b  I
            0    5     2     c  I
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  public static int compare(double, double);
    descriptor: (DD)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // double lhs
        start local 2 // double rhs
         0: .line 494
            dload 0 /* lhs */
            dload 2 /* rhs */
            dcmpg
            ifge 2
         1: .line 495
            iconst_m1
            ireturn
         2: .line 497
      StackMap locals:
      StackMap stack:
            dload 0 /* lhs */
            dload 2 /* rhs */
            dcmpl
            ifle 4
         3: .line 498
            iconst_1
            ireturn
         4: .line 504
      StackMap locals:
      StackMap stack:
            dload 0 /* lhs */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 4 /* lhsBits */
        start local 4 // long lhsBits
         5: .line 505
            dload 2 /* rhs */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 6 /* rhsBits */
        start local 6 // long rhsBits
         6: .line 506
            lload 4 /* lhsBits */
            lload 6 /* rhsBits */
            lcmp
            ifne 8
         7: .line 507
            iconst_0
            ireturn
         8: .line 515
      StackMap locals: long long
      StackMap stack:
            lload 4 /* lhsBits */
            lload 6 /* rhsBits */
            lcmp
            ifge 10
         9: .line 516
            iconst_m1
            ireturn
        10: .line 518
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // long rhsBits
        end local 4 // long lhsBits
        end local 2 // double rhs
        end local 0 // double lhs
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0      lhs  D
            0   11     2      rhs  D
            5   11     4  lhsBits  J
            6   11     6  rhsBits  J
    MethodParameters:
      Name  Flags
      lhs   
      rhs   

  public static int compare(float, float);
    descriptor: (FF)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // float lhs
        start local 1 // float rhs
         0: .line 555
            fload 0 /* lhs */
            fload 1 /* rhs */
            fcmpg
            ifge 2
         1: .line 556
            iconst_m1
            ireturn
         2: .line 558
      StackMap locals:
      StackMap stack:
            fload 0 /* lhs */
            fload 1 /* rhs */
            fcmpl
            ifle 4
         3: .line 559
            iconst_1
            ireturn
         4: .line 565
      StackMap locals:
      StackMap stack:
            fload 0 /* lhs */
            invokestatic java.lang.Float.floatToIntBits:(F)I
            istore 2 /* lhsBits */
        start local 2 // int lhsBits
         5: .line 566
            fload 1 /* rhs */
            invokestatic java.lang.Float.floatToIntBits:(F)I
            istore 3 /* rhsBits */
        start local 3 // int rhsBits
         6: .line 567
            iload 2 /* lhsBits */
            iload 3 /* rhsBits */
            if_icmpne 8
         7: .line 568
            iconst_0
            ireturn
         8: .line 576
      StackMap locals: int int
      StackMap stack:
            iload 2 /* lhsBits */
            iload 3 /* rhsBits */
            if_icmpge 10
         9: .line 577
            iconst_m1
            ireturn
        10: .line 579
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // int rhsBits
        end local 2 // int lhsBits
        end local 1 // float rhs
        end local 0 // float lhs
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0      lhs  F
            0   11     1      rhs  F
            5   11     2  lhsBits  I
            6   11     3  rhsBits  I
    MethodParameters:
      Name  Flags
      lhs   
      rhs   

  public static boolean isDigits(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String str
         0: .line 596
            aload 0 /* str */
            ifnull 1
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 597
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 599
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 7
         4: .line 600
      StackMap locals: int
      StackMap stack:
            aload 0 /* str */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isDigit:(C)Z
            ifne 6
         5: .line 601
            iconst_0
            ireturn
         6: .line 599
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        end local 1 // int i
         8: .line 604
            iconst_1
            ireturn
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0   str  Ljava/lang/String;
            3    8     1     i  I
    MethodParameters:
      Name  Flags
      str   

  public static boolean isNumber(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // java.lang.String str
         0: .line 621
            aload 0 /* str */
            invokestatic org.apache.commons.lang.StringUtils.isEmpty:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 622
            iconst_0
            ireturn
         2: .line 624
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 1 /* chars */
        start local 1 // char[] chars
         3: .line 625
            aload 1 /* chars */
            arraylength
            istore 2 /* sz */
        start local 2 // int sz
         4: .line 626
            iconst_0
            istore 3 /* hasExp */
        start local 3 // boolean hasExp
         5: .line 627
            iconst_0
            istore 4 /* hasDecPoint */
        start local 4 // boolean hasDecPoint
         6: .line 628
            iconst_0
            istore 5 /* allowSigns */
        start local 5 // boolean allowSigns
         7: .line 629
            iconst_0
            istore 6 /* foundDigit */
        start local 6 // boolean foundDigit
         8: .line 631
            aload 1 /* chars */
            iconst_0
            caload
            bipush 45
            if_icmpne 9
            iconst_1
            goto 10
      StackMap locals: java.lang.String char[] int int int int int
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 7 /* start */
        start local 7 // int start
        11: .line 632
            iload 2 /* sz */
            iload 7 /* start */
            iconst_1
            iadd
            if_icmple 23
        12: .line 633
            aload 1 /* chars */
            iload 7 /* start */
            caload
            bipush 48
            if_icmpne 23
            aload 1 /* chars */
            iload 7 /* start */
            iconst_1
            iadd
            caload
            bipush 120
            if_icmpne 23
        13: .line 634
            iload 7 /* start */
            iconst_2
            iadd
            istore 8 /* i */
        start local 8 // int i
        14: .line 635
            iload 8 /* i */
            iload 2 /* sz */
            if_icmpne 21
        15: .line 636
            iconst_0
            ireturn
        16: .line 640
      StackMap locals: int int
      StackMap stack:
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 48
            if_icmplt 17
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 57
            if_icmple 20
        17: .line 641
      StackMap locals:
      StackMap stack:
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 97
            if_icmplt 18
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 102
            if_icmple 20
        18: .line 642
      StackMap locals:
      StackMap stack:
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 65
            if_icmplt 19
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 70
            if_icmple 20
        19: .line 643
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        20: .line 639
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 8 /* i */
            aload 1 /* chars */
            arraylength
            if_icmplt 16
        22: .line 646
            iconst_1
            ireturn
        end local 8 // int i
        23: .line 649
      StackMap locals:
      StackMap stack:
            iinc 2 /* sz */ -1
        24: .line 651
            iload 7 /* start */
            istore 8 /* i */
        start local 8 // int i
        25: .line 654
            goto 51
        26: .line 655
      StackMap locals: int
      StackMap stack:
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 48
            if_icmplt 30
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 57
            if_icmpgt 30
        27: .line 656
            iconst_1
            istore 6 /* foundDigit */
        28: .line 657
            iconst_0
            istore 5 /* allowSigns */
        29: .line 659
            goto 50
      StackMap locals:
      StackMap stack:
        30: aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 46
            if_icmpne 35
        31: .line 660
            iload 4 /* hasDecPoint */
            ifne 32
            iload 3 /* hasExp */
            ifeq 33
        32: .line 662
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        33: .line 664
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* hasDecPoint */
        34: .line 665
            goto 50
      StackMap locals:
      StackMap stack:
        35: aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 101
            if_icmpeq 36
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 69
            if_icmpne 43
        36: .line 667
      StackMap locals:
      StackMap stack:
            iload 3 /* hasExp */
            ifeq 38
        37: .line 669
            iconst_0
            ireturn
        38: .line 671
      StackMap locals:
      StackMap stack:
            iload 6 /* foundDigit */
            ifne 40
        39: .line 672
            iconst_0
            ireturn
        40: .line 674
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* hasExp */
        41: .line 675
            iconst_1
            istore 5 /* allowSigns */
        42: .line 676
            goto 50
      StackMap locals:
      StackMap stack:
        43: aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 43
            if_icmpeq 44
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 45
            if_icmpne 49
        44: .line 677
      StackMap locals:
      StackMap stack:
            iload 5 /* allowSigns */
            ifne 46
        45: .line 678
            iconst_0
            ireturn
        46: .line 680
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* allowSigns */
        47: .line 681
            iconst_0
            istore 6 /* foundDigit */
        48: .line 682
            goto 50
        49: .line 683
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        50: .line 685
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
        51: .line 654
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            iload 2 /* sz */
            if_icmplt 26
            iload 8 /* i */
            iload 2 /* sz */
            iconst_1
            iadd
            if_icmpge 52
            iload 5 /* allowSigns */
            ifeq 52
            iload 6 /* foundDigit */
            ifeq 26
        52: .line 687
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            aload 1 /* chars */
            arraylength
            if_icmpge 68
        53: .line 688
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 48
            if_icmplt 55
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 57
            if_icmpgt 55
        54: .line 690
            iconst_1
            ireturn
        55: .line 692
      StackMap locals:
      StackMap stack:
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 101
            if_icmpeq 56
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 69
            if_icmpne 57
        56: .line 694
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        57: .line 696
      StackMap locals:
      StackMap stack:
            iload 5 /* allowSigns */
            ifne 63
        58: .line 697
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 100
            if_icmpeq 62
        59: .line 698
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 68
            if_icmpeq 62
        60: .line 699
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 102
            if_icmpeq 62
        61: .line 700
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 70
            if_icmpne 63
        62: .line 701
      StackMap locals:
      StackMap stack:
            iload 6 /* foundDigit */
            ireturn
        63: .line 703
      StackMap locals:
      StackMap stack:
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 108
            if_icmpeq 65
        64: .line 704
            aload 1 /* chars */
            iload 8 /* i */
            caload
            bipush 76
            if_icmpne 67
        65: .line 706
      StackMap locals:
      StackMap stack:
            iload 6 /* foundDigit */
            ifeq 66
            iload 3 /* hasExp */
            ifne 66
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        66: iconst_0
            ireturn
        67: .line 709
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        68: .line 713
      StackMap locals:
      StackMap stack:
            iload 5 /* allowSigns */
            ifne 69
            iload 6 /* foundDigit */
            ifeq 69
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        69: iconst_0
            ireturn
        end local 8 // int i
        end local 7 // int start
        end local 6 // boolean foundDigit
        end local 5 // boolean allowSigns
        end local 4 // boolean hasDecPoint
        end local 3 // boolean hasExp
        end local 2 // int sz
        end local 1 // char[] chars
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   70     0          str  Ljava/lang/String;
            3   70     1        chars  [C
            4   70     2           sz  I
            5   70     3       hasExp  Z
            6   70     4  hasDecPoint  Z
            7   70     5   allowSigns  Z
            8   70     6   foundDigit  Z
           11   70     7        start  I
           14   23     8            i  I
           25   70     8            i  I
    MethodParameters:
      Name  Flags
      str   
}
SourceFile: "NumberUtils.java"