public class java.math.BigDecimal extends java.lang.Number implements java.lang.Comparable<java.math.BigDecimal>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.math.BigDecimal
  super_class: java.lang.Number
{
  private final java.math.BigInteger intVal;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private transient java.lang.String stringCache;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  static final long INFLATED;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -9223372036854775808

  private static final java.math.BigInteger INFLATED_BIGINT;
    descriptor: Ljava/math/BigInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final transient long intCompact;
    descriptor: J
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

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

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

  private static final java.lang.ThreadLocal<java.math.BigDecimal$StringBuilderHelper> threadLocalStringBuilderHelper;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Ljava/math/BigDecimal$StringBuilderHelper;>;

  private static final java.math.BigDecimal[] ZERO_THROUGH_TEN;
    descriptor: [Ljava/math/BigDecimal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.math.BigDecimal[] ZERO_SCALED_BY;
    descriptor: [Ljava/math/BigDecimal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long HALF_LONG_MAX_VALUE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4611686018427387903

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

  public static final java.math.BigDecimal ZERO;
    descriptor: Ljava/math/BigDecimal;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.math.BigDecimal ONE;
    descriptor: Ljava/math/BigDecimal;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.math.BigDecimal TEN;
    descriptor: Ljava/math/BigDecimal;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.math.BigDecimal ONE_TENTH;
    descriptor: Ljava/math/BigDecimal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.math.BigDecimal ONE_HALF;
    descriptor: Ljava/math/BigDecimal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final int ROUND_UP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "9")

  public static final int ROUND_DOWN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "9")

  public static final int ROUND_CEILING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "9")

  public static final int ROUND_FLOOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "9")

  public static final int ROUND_HALF_UP;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "9")

  public static final int ROUND_HALF_DOWN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "9")

  public static final int ROUND_HALF_EVEN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "9")

  public static final int ROUND_UNNECESSARY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "9")

  private static final double[] DOUBLE_10_POW;
    descriptor: [D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final float[] FLOAT_10_POW;
    descriptor: [F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long[] LONG_TEN_POWERS_TABLE;
    descriptor: [J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile java.math.BigInteger[] BIG_TEN_POWERS_TABLE;
    descriptor: [Ljava/math/BigInteger;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

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

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

  private static final long[] THRESHOLDS_TABLE;
    descriptor: [J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long DIV_NUM_BASE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4294967296

  private static final long[][] LONGLONG_TEN_POWERS_TABLE;
    descriptor: [[J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private static volatile int[] $SWITCH_TABLE$java$math$RoundingMode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=10, locals=0, args_size=0
         0: .line 228
            ldc Ljava/math/BigDecimal;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.math.BigDecimal.$assertionsDisabled:Z
         3: .line 269
            ldc -9223372036854775808
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            putstatic java.math.BigDecimal.INFLATED_BIGINT:Ljava/math/BigInteger;
         4: .line 286
            new java.math.BigDecimal$1
            dup
            invokespecial java.math.BigDecimal$1.<init>:()V
            putstatic java.math.BigDecimal.threadLocalStringBuilderHelper:Ljava/lang/ThreadLocal;
         5: .line 294
            bipush 11
            anewarray java.math.BigDecimal
            dup
            iconst_0
         6: .line 295
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            iconst_0
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            iconst_1
         7: .line 296
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
            lconst_1
            iconst_0
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            iconst_2
         8: .line 297
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.TWO:Ljava/math/BigInteger;
            ldc 2
            iconst_0
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            iconst_3
         9: .line 298
            new java.math.BigDecimal
            dup
            ldc 3
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            ldc 3
            iconst_0
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            iconst_4
        10: .line 299
            new java.math.BigDecimal
            dup
            ldc 4
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            ldc 4
            iconst_0
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            iconst_5
        11: .line 300
            new java.math.BigDecimal
            dup
            ldc 5
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            ldc 5
            iconst_0
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 6
        12: .line 301
            new java.math.BigDecimal
            dup
            ldc 6
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            ldc 6
            iconst_0
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 7
        13: .line 302
            new java.math.BigDecimal
            dup
            ldc 7
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            ldc 7
            iconst_0
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 8
        14: .line 303
            new java.math.BigDecimal
            dup
            ldc 8
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            ldc 8
            iconst_0
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 9
        15: .line 304
            new java.math.BigDecimal
            dup
            ldc 9
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            ldc 9
            iconst_0
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 10
        16: .line 305
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.TEN:Ljava/math/BigInteger;
            ldc 10
            iconst_0
            iconst_2
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
        17: .line 294
            putstatic java.math.BigDecimal.ZERO_THROUGH_TEN:[Ljava/math/BigDecimal;
        18: .line 309
            bipush 16
            anewarray java.math.BigDecimal
            dup
            iconst_0
        19: .line 310
            getstatic java.math.BigDecimal.ZERO_THROUGH_TEN:[Ljava/math/BigDecimal;
            iconst_0
            aaload
            aastore
            dup
            iconst_1
        20: .line 311
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            iconst_1
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            iconst_2
        21: .line 312
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            iconst_2
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            iconst_3
        22: .line 313
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            iconst_3
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            iconst_4
        23: .line 314
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            iconst_4
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            iconst_5
        24: .line 315
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            iconst_5
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 6
        25: .line 316
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            bipush 6
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 7
        26: .line 317
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            bipush 7
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 8
        27: .line 318
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            bipush 8
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 9
        28: .line 319
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            bipush 9
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 10
        29: .line 320
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            bipush 10
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 11
        30: .line 321
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            bipush 11
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 12
        31: .line 322
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            bipush 12
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 13
        32: .line 323
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            bipush 13
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 14
        33: .line 324
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            bipush 14
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
            dup
            bipush 15
        34: .line 325
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            bipush 15
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            aastore
        35: .line 309
            putstatic java.math.BigDecimal.ZERO_SCALED_BY:[Ljava/math/BigDecimal;
        36: .line 339
            getstatic java.math.BigDecimal.ZERO_THROUGH_TEN:[Ljava/math/BigDecimal;
            iconst_0
            aaload
        37: .line 338
            putstatic java.math.BigDecimal.ZERO:Ljava/math/BigDecimal;
        38: .line 347
            getstatic java.math.BigDecimal.ZERO_THROUGH_TEN:[Ljava/math/BigDecimal;
            iconst_1
            aaload
        39: .line 346
            putstatic java.math.BigDecimal.ONE:Ljava/math/BigDecimal;
        40: .line 355
            getstatic java.math.BigDecimal.ZERO_THROUGH_TEN:[Ljava/math/BigDecimal;
            bipush 10
            aaload
        41: .line 354
            putstatic java.math.BigDecimal.TEN:Ljava/math/BigDecimal;
        42: .line 360
            lconst_1
            iconst_1
            invokestatic java.math.BigDecimal.valueOf:(JI)Ljava/math/BigDecimal;
            putstatic java.math.BigDecimal.ONE_TENTH:Ljava/math/BigDecimal;
        43: .line 365
            ldc 5
            iconst_1
            invokestatic java.math.BigDecimal.valueOf:(JI)Ljava/math/BigDecimal;
            putstatic java.math.BigDecimal.ONE_HALF:Ljava/math/BigDecimal;
        44: .line 3762
            bipush 23
            newarray 7
            dup
            iconst_0
        45: .line 3763
            dconst_1
            dastore
            dup
            iconst_1
            ldc 10.0
            dastore
            dup
            iconst_2
            ldc 100.0
            dastore
            dup
            iconst_3
            ldc 1000.0
            dastore
            dup
            iconst_4
            ldc 10000.0
            dastore
            dup
            iconst_5
            ldc 100000.0
            dastore
            dup
            bipush 6
        46: .line 3764
            ldc 1000000.0
            dastore
            dup
            bipush 7
            ldc 1.0E7
            dastore
            dup
            bipush 8
            ldc 1.0E8
            dastore
            dup
            bipush 9
            ldc 1.0E9
            dastore
            dup
            bipush 10
            ldc 1.0E10
            dastore
            dup
            bipush 11
            ldc 1.0E11
            dastore
            dup
            bipush 12
        47: .line 3765
            ldc 1.0E12
            dastore
            dup
            bipush 13
            ldc 1.0E13
            dastore
            dup
            bipush 14
            ldc 1.0E14
            dastore
            dup
            bipush 15
            ldc 1.0E15
            dastore
            dup
            bipush 16
            ldc 1.0E16
            dastore
            dup
            bipush 17
            ldc 1.0E17
            dastore
            dup
            bipush 18
        48: .line 3766
            ldc 1.0E18
            dastore
            dup
            bipush 19
            ldc 1.0E19
            dastore
            dup
            bipush 20
            ldc 1.0E20
            dastore
            dup
            bipush 21
            ldc 1.0E21
            dastore
            dup
            bipush 22
            ldc 1.0E22
            dastore
        49: .line 3762
            putstatic java.math.BigDecimal.DOUBLE_10_POW:[D
        50: .line 3773
            bipush 11
            newarray 6
            dup
            iconst_0
        51: .line 3774
            fconst_1
            fastore
            dup
            iconst_1
            ldc 10.0
            fastore
            dup
            iconst_2
            ldc 100.0
            fastore
            dup
            iconst_3
            ldc 1000.0
            fastore
            dup
            iconst_4
            ldc 10000.0
            fastore
            dup
            iconst_5
            ldc 100000.0
            fastore
            dup
            bipush 6
        52: .line 3775
            ldc 1000000.0
            fastore
            dup
            bipush 7
            ldc 1.0E7
            fastore
            dup
            bipush 8
            ldc 1.0E8
            fastore
            dup
            bipush 9
            ldc 1.0E9
            fastore
            dup
            bipush 10
            ldc 1.0E10
            fastore
        53: .line 3773
            putstatic java.math.BigDecimal.FLOAT_10_POW:[F
        54: .line 4059
            bipush 19
            newarray 11
            dup
            iconst_0
        55: .line 4060
            lconst_1
            lastore
            dup
            iconst_1
        56: .line 4061
            ldc 10
            lastore
            dup
            iconst_2
        57: .line 4062
            ldc 100
            lastore
            dup
            iconst_3
        58: .line 4063
            ldc 1000
            lastore
            dup
            iconst_4
        59: .line 4064
            ldc 10000
            lastore
            dup
            iconst_5
        60: .line 4065
            ldc 100000
            lastore
            dup
            bipush 6
        61: .line 4066
            ldc 1000000
            lastore
            dup
            bipush 7
        62: .line 4067
            ldc 10000000
            lastore
            dup
            bipush 8
        63: .line 4068
            ldc 100000000
            lastore
            dup
            bipush 9
        64: .line 4069
            ldc 1000000000
            lastore
            dup
            bipush 10
        65: .line 4070
            ldc 10000000000
            lastore
            dup
            bipush 11
        66: .line 4071
            ldc 100000000000
            lastore
            dup
            bipush 12
        67: .line 4072
            ldc 1000000000000
            lastore
            dup
            bipush 13
        68: .line 4073
            ldc 10000000000000
            lastore
            dup
            bipush 14
        69: .line 4074
            ldc 100000000000000
            lastore
            dup
            bipush 15
        70: .line 4075
            ldc 1000000000000000
            lastore
            dup
            bipush 16
        71: .line 4076
            ldc 10000000000000000
            lastore
            dup
            bipush 17
        72: .line 4077
            ldc 100000000000000000
            lastore
            dup
            bipush 18
        73: .line 4078
            ldc 1000000000000000000
            lastore
        74: .line 4059
            putstatic java.math.BigDecimal.LONG_TEN_POWERS_TABLE:[J
        75: .line 4081
            bipush 19
            anewarray java.math.BigInteger
            dup
            iconst_0
        76: .line 4082
            getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
            aastore
            dup
            iconst_1
        77: .line 4083
            ldc 10
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            iconst_2
        78: .line 4084
            ldc 100
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            iconst_3
        79: .line 4085
            ldc 1000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            iconst_4
        80: .line 4086
            ldc 10000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            iconst_5
        81: .line 4087
            ldc 100000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 6
        82: .line 4088
            ldc 1000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 7
        83: .line 4089
            ldc 10000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 8
        84: .line 4090
            ldc 100000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 9
        85: .line 4091
            ldc 1000000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 10
        86: .line 4092
            ldc 10000000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 11
        87: .line 4093
            ldc 100000000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 12
        88: .line 4094
            ldc 1000000000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 13
        89: .line 4095
            ldc 10000000000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 14
        90: .line 4096
            ldc 100000000000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 15
        91: .line 4097
            ldc 1000000000000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 16
        92: .line 4098
            ldc 10000000000000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 17
        93: .line 4099
            ldc 100000000000000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
            dup
            bipush 18
        94: .line 4100
            ldc 1000000000000000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            aastore
        95: .line 4081
            putstatic java.math.BigDecimal.BIG_TEN_POWERS_TABLE:[Ljava/math/BigInteger;
        96: .line 4104
            getstatic java.math.BigDecimal.BIG_TEN_POWERS_TABLE:[Ljava/math/BigInteger;
            arraylength
        97: .line 4103
            putstatic java.math.BigDecimal.BIG_TEN_POWERS_TABLE_INITLEN:I
        98: .line 4106
            bipush 16
            getstatic java.math.BigDecimal.BIG_TEN_POWERS_TABLE_INITLEN:I
            imul
        99: .line 4105
            putstatic java.math.BigDecimal.BIG_TEN_POWERS_TABLE_MAX:I
       100: .line 4108
            bipush 19
            newarray 11
            dup
            iconst_0
       101: .line 4109
            ldc 9223372036854775807
            lastore
            dup
            iconst_1
       102: .line 4110
            ldc 922337203685477580
            lastore
            dup
            iconst_2
       103: .line 4111
            ldc 92233720368547758
            lastore
            dup
            iconst_3
       104: .line 4112
            ldc 9223372036854775
            lastore
            dup
            iconst_4
       105: .line 4113
            ldc 922337203685477
            lastore
            dup
            iconst_5
       106: .line 4114
            ldc 92233720368547
            lastore
            dup
            bipush 6
       107: .line 4115
            ldc 9223372036854
            lastore
            dup
            bipush 7
       108: .line 4116
            ldc 922337203685
            lastore
            dup
            bipush 8
       109: .line 4117
            ldc 92233720368
            lastore
            dup
            bipush 9
       110: .line 4118
            ldc 9223372036
            lastore
            dup
            bipush 10
       111: .line 4119
            ldc 922337203
            lastore
            dup
            bipush 11
       112: .line 4120
            ldc 92233720
            lastore
            dup
            bipush 12
       113: .line 4121
            ldc 9223372
            lastore
            dup
            bipush 13
       114: .line 4122
            ldc 922337
            lastore
            dup
            bipush 14
       115: .line 4123
            ldc 92233
            lastore
            dup
            bipush 15
       116: .line 4124
            ldc 9223
            lastore
            dup
            bipush 16
       117: .line 4125
            ldc 922
            lastore
            dup
            bipush 17
       118: .line 4126
            ldc 92
            lastore
            dup
            bipush 18
       119: .line 4127
            ldc 9
            lastore
       120: .line 4108
            putstatic java.math.BigDecimal.THRESHOLDS_TABLE:[J
       121: .line 5598
            bipush 20
            anewarray long[]
            dup
            iconst_0
       122: .line 5599
            iconst_2
            newarray 11
            dup
            iconst_1
            ldc -8446744073709551616
            lastore
            aastore
            dup
            iconst_1
       123: .line 5600
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 5
            lastore
            dup
            iconst_1
            ldc 7766279631452241920
            lastore
            aastore
            dup
            iconst_2
       124: .line 5601
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 54
            lastore
            dup
            iconst_1
            ldc 3875820019684212736
            lastore
            aastore
            dup
            iconst_3
       125: .line 5602
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 542
            lastore
            dup
            iconst_1
            ldc 1864712049423024128
            lastore
            aastore
            dup
            iconst_4
       126: .line 5603
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 5421
            lastore
            dup
            iconst_1
            ldc 200376420520689664
            lastore
            aastore
            dup
            iconst_5
       127: .line 5604
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 54210
            lastore
            dup
            iconst_1
            ldc 2003764205206896640
            lastore
            aastore
            dup
            bipush 6
       128: .line 5605
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 542101
            lastore
            dup
            iconst_1
            ldc 1590897978359414784
            lastore
            aastore
            dup
            bipush 7
       129: .line 5606
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 5421010
            lastore
            dup
            iconst_1
            ldc -2537764290115403776
            lastore
            aastore
            dup
            bipush 8
       130: .line 5607
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 54210108
            lastore
            dup
            iconst_1
            ldc -6930898827444486144
            lastore
            aastore
            dup
            bipush 9
       131: .line 5608
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 542101086
            lastore
            dup
            iconst_1
            ldc 4477988020393345024
            lastore
            aastore
            dup
            bipush 10
       132: .line 5609
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 5421010862
            lastore
            dup
            iconst_1
            ldc 7886392056514347008
            lastore
            aastore
            dup
            bipush 11
       133: .line 5610
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 54210108624
            lastore
            dup
            iconst_1
            ldc 5076944270305263616
            lastore
            aastore
            dup
            bipush 12
       134: .line 5611
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 542101086242
            lastore
            dup
            iconst_1
            ldc -4570789518076018688
            lastore
            aastore
            dup
            bipush 13
       135: .line 5612
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 5421010862427
            lastore
            dup
            iconst_1
            ldc -8814407033341083648
            lastore
            aastore
            dup
            bipush 14
       136: .line 5613
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 54210108624275
            lastore
            dup
            iconst_1
            ldc 4089650035136921600
            lastore
            aastore
            dup
            bipush 15
       137: .line 5614
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 542101086242752
            lastore
            dup
            iconst_1
            ldc 4003012203950112768
            lastore
            aastore
            dup
            bipush 16
       138: .line 5615
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 5421010862427522
            lastore
            dup
            iconst_1
            ldc 3136633892082024448
            lastore
            aastore
            dup
            bipush 17
       139: .line 5616
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 54210108624275221
            lastore
            dup
            iconst_1
            ldc -5527149226598858752
            lastore
            aastore
            dup
            bipush 18
       140: .line 5617
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 542101086242752217
            lastore
            dup
            iconst_1
            ldc 68739955140067328
            lastore
            aastore
            dup
            bipush 19
       141: .line 5618
            iconst_2
            newarray 11
            dup
            iconst_0
            ldc 5421010862427522170
            lastore
            dup
            iconst_1
            ldc 687399551400673280
            lastore
            aastore
       142: .line 5598
            putstatic java.math.BigDecimal.LONGLONG_TEN_POWERS_TABLE:[[J
       143: .line 5619
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.math.BigInteger, long, int, int);
    descriptor: (Ljava/math/BigInteger;JII)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // java.math.BigDecimal this
        start local 1 // java.math.BigInteger intVal
        start local 2 // long val
        start local 4 // int scale
        start local 5 // int prec
         0: .line 374
            aload 0 /* this */
            invokespecial java.lang.Number.<init>:()V
         1: .line 375
            aload 0 /* this */
            iload 4 /* scale */
            putfield java.math.BigDecimal.scale:I
         2: .line 376
            aload 0 /* this */
            iload 5 /* prec */
            putfield java.math.BigDecimal.precision:I
         3: .line 377
            aload 0 /* this */
            lload 2 /* val */
            putfield java.math.BigDecimal.intCompact:J
         4: .line 378
            aload 0 /* this */
            aload 1 /* intVal */
            putfield java.math.BigDecimal.intVal:Ljava/math/BigInteger;
         5: .line 379
            return
        end local 5 // int prec
        end local 4 // int scale
        end local 2 // long val
        end local 1 // java.math.BigInteger intVal
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/math/BigDecimal;
            0    6     1  intVal  Ljava/math/BigInteger;
            0    6     2     val  J
            0    6     4   scale  I
            0    6     5    prec  I
    MethodParameters:
        Name  Flags
      intVal  
      val     
      scale   
      prec    

  public void <init>(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.math.BigDecimal this
        start local 1 // char[] in
        start local 2 // int offset
        start local 3 // int len
         0: .line 401
            aload 0 /* this */
            aload 1 /* in */
            iload 2 /* offset */
            iload 3 /* len */
            getstatic java.math.MathContext.UNLIMITED:Ljava/math/MathContext;
            invokespecial java.math.BigDecimal.<init>:([CIILjava/math/MathContext;)V
         1: .line 402
            return
        end local 3 // int len
        end local 2 // int offset
        end local 1 // char[] in
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/math/BigDecimal;
            0    2     1      in  [C
            0    2     2  offset  I
            0    2     3     len  I
    MethodParameters:
        Name  Flags
      in      
      offset  
      len     

  public void <init>(char[], int, int, java.math.MathContext);
    descriptor: ([CIILjava/math/MathContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=20, args_size=5
        start local 0 // java.math.BigDecimal this
        start local 1 // char[] in
        start local 2 // int offset
        start local 3 // int len
        start local 4 // java.math.MathContext mc
         0: .line 427
            aload 0 /* this */
            invokespecial java.lang.Number.<init>:()V
         1: .line 430
            iload 2 /* offset */
            iload 3 /* len */
            aload 1 /* in */
            arraylength
            invokestatic java.util.Objects.checkFromIndexSize:(III)I
            pop
         2: .line 431
            goto 7
      StackMap locals: java.math.BigDecimal char[] int int java.math.MathContext
      StackMap stack: java.lang.IndexOutOfBoundsException
         3: pop
         4: .line 432
            new java.lang.NumberFormatException
            dup
         5: .line 433
            ldc "Bad offset or len arguments for char[] input."
         6: .line 432
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 442
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* prec */
        start local 5 // int prec
         8: .line 443
            iconst_0
            istore 6 /* scl */
        start local 6 // int scl
         9: .line 444
            lconst_0
            lstore 7 /* rs */
        start local 7 // long rs
        10: .line 445
            aconst_null
            astore 9 /* rb */
        start local 9 // java.math.BigInteger rb
        11: .line 450
            iconst_0
            istore 10 /* isneg */
        start local 10 // boolean isneg
        12: .line 451
            aload 1 /* in */
            iload 2 /* offset */
            caload
            bipush 45
            if_icmpne 17
        13: .line 452
            iconst_1
            istore 10 /* isneg */
        14: .line 453
            iinc 2 /* offset */ 1
        15: .line 454
            iinc 3 /* len */ -1
        16: .line 455
            goto 20
      StackMap locals: java.math.BigDecimal char[] int int java.math.MathContext int int long java.math.BigInteger int
      StackMap stack:
        17: aload 1 /* in */
            iload 2 /* offset */
            caload
            bipush 43
            if_icmpne 20
        18: .line 456
            iinc 2 /* offset */ 1
        19: .line 457
            iinc 3 /* len */ -1
        20: .line 461
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* dot */
        start local 11 // boolean dot
        21: .line 462
            lconst_0
            lstore 12 /* exp */
        start local 12 // long exp
        22: .line 464
            iload 3 /* len */
            bipush 18
            if_icmpgt 23
            iconst_1
            goto 24
      StackMap locals: int long
      StackMap stack:
        23: iconst_0
      StackMap locals:
      StackMap stack: int
        24: istore 15 /* isCompact */
        start local 15 // boolean isCompact
        25: .line 467
            iconst_0
            istore 16 /* idx */
        start local 16 // int idx
        26: .line 468
            iload 15 /* isCompact */
            ifeq 93
        27: .line 471
            goto 75
        28: .line 472
      StackMap locals: java.math.BigDecimal char[] int int java.math.MathContext int int long java.math.BigInteger int int long top int int
      StackMap stack:
            aload 1 /* in */
            iload 2 /* offset */
            caload
            istore 14 /* c */
        start local 14 // char c
        29: .line 473
            iload 14 /* c */
            bipush 48
            if_icmpne 38
        30: .line 474
            iload 5 /* prec */
            ifne 32
        31: .line 475
            iconst_1
            istore 5 /* prec */
            goto 35
        32: .line 476
      StackMap locals: java.math.BigDecimal char[] int int java.math.MathContext int int long java.math.BigInteger int int long int int int
      StackMap stack:
            lload 7 /* rs */
            lconst_0
            lcmp
            ifeq 35
        33: .line 477
            lload 7 /* rs */
            ldc 10
            lmul
            lstore 7 /* rs */
        34: .line 478
            iinc 5 /* prec */ 1
        35: .line 480
      StackMap locals:
      StackMap stack:
            iload 11 /* dot */
            ifeq 74
        36: .line 481
            iinc 6 /* scl */ 1
        37: .line 482
            goto 74
      StackMap locals:
      StackMap stack:
        38: iload 14 /* c */
            bipush 49
            if_icmplt 46
            iload 14 /* c */
            bipush 57
            if_icmpgt 46
        39: .line 483
            iload 14 /* c */
            bipush 48
            isub
            istore 17 /* digit */
        start local 17 // int digit
        40: .line 484
            iload 5 /* prec */
            iconst_1
            if_icmpne 41
            lload 7 /* rs */
            lconst_0
            lcmp
            ifeq 42
        41: .line 485
      StackMap locals: int
      StackMap stack:
            iinc 5 /* prec */ 1
        42: .line 486
      StackMap locals:
      StackMap stack:
            lload 7 /* rs */
            ldc 10
            lmul
            iload 17 /* digit */
            i2l
            ladd
            lstore 7 /* rs */
        43: .line 487
            iload 11 /* dot */
            ifeq 74
        44: .line 488
            iinc 6 /* scl */ 1
        end local 17 // int digit
        45: .line 489
            goto 74
      StackMap locals:
      StackMap stack:
        46: iload 14 /* c */
            bipush 46
            if_icmpne 51
        47: .line 491
            iload 11 /* dot */
            ifeq 49
        48: .line 492
            new java.lang.NumberFormatException
            dup
            ldc "Character array contains more than one decimal point."
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 494
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* dot */
        50: .line 495
            goto 74
      StackMap locals:
      StackMap stack:
        51: iload 14 /* c */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 66
        52: .line 496
            iload 14 /* c */
            bipush 10
            invokestatic java.lang.Character.digit:(CI)I
            istore 17 /* digit */
        start local 17 // int digit
        53: .line 497
            iload 17 /* digit */
            ifne 60
        54: .line 498
            iload 5 /* prec */
            ifne 56
        55: .line 499
            iconst_1
            istore 5 /* prec */
            goto 63
        56: .line 500
      StackMap locals: int
      StackMap stack:
            lload 7 /* rs */
            lconst_0
            lcmp
            ifeq 63
        57: .line 501
            lload 7 /* rs */
            ldc 10
            lmul
            lstore 7 /* rs */
        58: .line 502
            iinc 5 /* prec */ 1
        59: .line 504
            goto 63
        60: .line 505
      StackMap locals:
      StackMap stack:
            iload 5 /* prec */
            iconst_1
            if_icmpne 61
            lload 7 /* rs */
            lconst_0
            lcmp
            ifeq 62
        61: .line 506
      StackMap locals:
      StackMap stack:
            iinc 5 /* prec */ 1
        62: .line 507
      StackMap locals:
      StackMap stack:
            lload 7 /* rs */
            ldc 10
            lmul
            iload 17 /* digit */
            i2l
            ladd
            lstore 7 /* rs */
        63: .line 509
      StackMap locals:
      StackMap stack:
            iload 11 /* dot */
            ifeq 74
        64: .line 510
            iinc 6 /* scl */ 1
        end local 17 // int digit
        65: .line 511
            goto 74
      StackMap locals:
      StackMap stack:
        66: iload 14 /* c */
            bipush 101
            if_icmpeq 67
            iload 14 /* c */
            bipush 69
            if_icmpne 70
        67: .line 512
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iload 2 /* offset */
            iload 3 /* len */
            invokestatic java.math.BigDecimal.parseExp:([CII)J
            lstore 12 /* exp */
        68: .line 514
            lload 12 /* exp */
            l2i
            i2l
            lload 12 /* exp */
            lcmp
            ifeq 76
        69: .line 515
            new java.lang.NumberFormatException
            dup
            ldc "Exponent overflow."
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        70: .line 518
      StackMap locals:
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Character "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        71: .line 519
            ldc " is neither a decimal digit number, decimal point, nor"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        72: .line 520
            ldc " \"e\" notation exponential mark."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        73: .line 518
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        74: .line 471
      StackMap locals:
      StackMap stack:
            iinc 2 /* offset */ 1
            iinc 3 /* len */ -1
        end local 14 // char c
      StackMap locals: java.math.BigDecimal char[] int int java.math.MathContext int int long java.math.BigInteger int int long top int int
      StackMap stack:
        75: iload 3 /* len */
            ifgt 28
        76: .line 523
      StackMap locals:
      StackMap stack:
            iload 5 /* prec */
            ifne 78
        77: .line 524
            new java.lang.NumberFormatException
            dup
            ldc "No digits found."
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        78: .line 526
      StackMap locals:
      StackMap stack:
            lload 12 /* exp */
            lconst_0
            lcmp
            ifeq 80
        79: .line 527
            aload 0 /* this */
            iload 6 /* scl */
            lload 12 /* exp */
            invokevirtual java.math.BigDecimal.adjustScale:(IJ)I
            istore 6 /* scl */
        80: .line 529
      StackMap locals:
      StackMap stack:
            iload 10 /* isneg */
            ifeq 81
            lload 7 /* rs */
            lneg
            goto 82
      StackMap locals:
      StackMap stack:
        81: lload 7 /* rs */
      StackMap locals:
      StackMap stack: long
        82: lstore 7 /* rs */
        83: .line 530
            aload 4 /* mc */
            getfield java.math.MathContext.precision:I
            istore 17 /* mcp */
        start local 17 // int mcp
        84: .line 531
            iload 5 /* prec */
            iload 17 /* mcp */
            isub
            istore 18 /* drop */
        start local 18 // int drop
        85: .line 533
            iload 17 /* mcp */
            ifle 161
            iload 18 /* drop */
            ifle 161
        86: .line 534
            goto 91
        87: .line 535
      StackMap locals: int int
      StackMap stack:
            iload 6 /* scl */
            i2l
            iload 18 /* drop */
            i2l
            lsub
            invokestatic java.math.BigDecimal.checkScaleNonZero:(J)I
            istore 6 /* scl */
        88: .line 536
            lload 7 /* rs */
            getstatic java.math.BigDecimal.LONG_TEN_POWERS_TABLE:[J
            iload 18 /* drop */
            laload
            aload 4 /* mc */
            getfield java.math.MathContext.roundingMode:Ljava/math/RoundingMode;
            getfield java.math.RoundingMode.oldMode:I
            invokestatic java.math.BigDecimal.divideAndRound:(JJI)J
            lstore 7 /* rs */
        89: .line 537
            lload 7 /* rs */
            invokestatic java.math.BigDecimal.longDigitLength:(J)I
            istore 5 /* prec */
        90: .line 538
            iload 5 /* prec */
            iload 17 /* mcp */
            isub
            istore 18 /* drop */
        91: .line 534
      StackMap locals:
      StackMap stack:
            iload 18 /* drop */
            ifgt 87
        end local 18 // int drop
        end local 17 // int mcp
        92: .line 541
            goto 161
        93: .line 542
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            newarray 5
            astore 17 /* coeff */
        start local 17 // char[] coeff
        94: .line 543
            goto 124
        95: .line 544
      StackMap locals: char[]
      StackMap stack:
            aload 1 /* in */
            iload 2 /* offset */
            caload
            istore 14 /* c */
        start local 14 // char c
        96: .line 546
            iload 14 /* c */
            bipush 48
            if_icmplt 97
            iload 14 /* c */
            bipush 57
            if_icmple 98
      StackMap locals: java.math.BigDecimal char[] int int java.math.MathContext int int long java.math.BigInteger int int long int int int char[]
      StackMap stack:
        97: iload 14 /* c */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 113
        98: .line 549
      StackMap locals:
      StackMap stack:
            iload 14 /* c */
            bipush 48
            if_icmpeq 99
            iload 14 /* c */
            bipush 10
            invokestatic java.lang.Character.digit:(CI)I
            ifne 107
        99: .line 550
      StackMap locals:
      StackMap stack:
            iload 5 /* prec */
            ifne 103
       100: .line 551
            aload 17 /* coeff */
            iload 16 /* idx */
            iload 14 /* c */
            castore
       101: .line 552
            iconst_1
            istore 5 /* prec */
       102: .line 553
            goto 110
      StackMap locals:
      StackMap stack:
       103: iload 16 /* idx */
            ifeq 110
       104: .line 554
            aload 17 /* coeff */
            iload 16 /* idx */
            iinc 16 /* idx */ 1
            iload 14 /* c */
            castore
       105: .line 555
            iinc 5 /* prec */ 1
       106: .line 557
            goto 110
       107: .line 558
      StackMap locals:
      StackMap stack:
            iload 5 /* prec */
            iconst_1
            if_icmpne 108
            iload 16 /* idx */
            ifeq 109
       108: .line 559
      StackMap locals:
      StackMap stack:
            iinc 5 /* prec */ 1
       109: .line 560
      StackMap locals:
      StackMap stack:
            aload 17 /* coeff */
            iload 16 /* idx */
            iinc 16 /* idx */ 1
            iload 14 /* c */
            castore
       110: .line 562
      StackMap locals:
      StackMap stack:
            iload 11 /* dot */
            ifeq 123
       111: .line 563
            iinc 6 /* scl */ 1
       112: .line 564
            goto 123
       113: .line 567
      StackMap locals:
      StackMap stack:
            iload 14 /* c */
            bipush 46
            if_icmpne 118
       114: .line 569
            iload 11 /* dot */
            ifeq 116
       115: .line 570
            new java.lang.NumberFormatException
            dup
            ldc "Character array contains more than one decimal point."
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
       116: .line 572
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* dot */
       117: .line 573
            goto 123
       118: .line 576
      StackMap locals:
      StackMap stack:
            iload 14 /* c */
            bipush 101
            if_icmpeq 120
            iload 14 /* c */
            bipush 69
            if_icmpeq 120
       119: .line 577
            new java.lang.NumberFormatException
            dup
            ldc "Character array is missing \"e\" notation exponential mark."
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
       120: .line 579
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iload 2 /* offset */
            iload 3 /* len */
            invokestatic java.math.BigDecimal.parseExp:([CII)J
            lstore 12 /* exp */
       121: .line 581
            lload 12 /* exp */
            l2i
            i2l
            lload 12 /* exp */
            lcmp
            ifeq 125
       122: .line 582
            new java.lang.NumberFormatException
            dup
            ldc "Exponent overflow."
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
       123: .line 543
      StackMap locals:
      StackMap stack:
            iinc 2 /* offset */ 1
            iinc 3 /* len */ -1
        end local 14 // char c
      StackMap locals: java.math.BigDecimal char[] int int java.math.MathContext int int long java.math.BigInteger int int long top int int char[]
      StackMap stack:
       124: iload 3 /* len */
            ifgt 95
       125: .line 586
      StackMap locals:
      StackMap stack:
            iload 5 /* prec */
            ifne 127
       126: .line 587
            new java.lang.NumberFormatException
            dup
            ldc "No digits found."
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
       127: .line 589
      StackMap locals:
      StackMap stack:
            lload 12 /* exp */
            lconst_0
            lcmp
            ifeq 129
       128: .line 590
            aload 0 /* this */
            iload 6 /* scl */
            lload 12 /* exp */
            invokevirtual java.math.BigDecimal.adjustScale:(IJ)I
            istore 6 /* scl */
       129: .line 593
      StackMap locals:
      StackMap stack:
            new java.math.BigInteger
            dup
            aload 17 /* coeff */
            iload 10 /* isneg */
            ifeq 130
            iconst_m1
            goto 131
      StackMap locals: java.math.BigDecimal char[] int int java.math.MathContext int int long java.math.BigInteger int int long top int int char[]
      StackMap stack: new 129 new 129 char[]
       130: iconst_1
      StackMap locals: java.math.BigDecimal char[] int int java.math.MathContext int int long java.math.BigInteger int int long top int int char[]
      StackMap stack: new 129 new 129 char[] int
       131: iload 5 /* prec */
            invokespecial java.math.BigInteger.<init>:([CII)V
            astore 9 /* rb */
       132: .line 594
            aload 9 /* rb */
            invokestatic java.math.BigDecimal.compactValFor:(Ljava/math/BigInteger;)J
            lstore 7 /* rs */
       133: .line 595
            aload 4 /* mc */
            getfield java.math.MathContext.precision:I
            istore 18 /* mcp */
        start local 18 // int mcp
       134: .line 596
            iload 18 /* mcp */
            ifle 161
            iload 5 /* prec */
            iload 18 /* mcp */
            if_icmple 161
       135: .line 597
            lload 7 /* rs */
            ldc -9223372036854775808
            lcmp
            ifne 147
       136: .line 598
            iload 5 /* prec */
            iload 18 /* mcp */
            isub
            istore 19 /* drop */
        start local 19 // int drop
       137: .line 599
            goto 146
       138: .line 600
      StackMap locals: int int
      StackMap stack:
            iload 6 /* scl */
            i2l
            iload 19 /* drop */
            i2l
            lsub
            invokestatic java.math.BigDecimal.checkScaleNonZero:(J)I
            istore 6 /* scl */
       139: .line 601
            aload 9 /* rb */
            iload 19 /* drop */
            aload 4 /* mc */
            getfield java.math.MathContext.roundingMode:Ljava/math/RoundingMode;
            getfield java.math.RoundingMode.oldMode:I
            invokestatic java.math.BigDecimal.divideAndRoundByTenPow:(Ljava/math/BigInteger;II)Ljava/math/BigInteger;
            astore 9 /* rb */
       140: .line 602
            aload 9 /* rb */
            invokestatic java.math.BigDecimal.compactValFor:(Ljava/math/BigInteger;)J
            lstore 7 /* rs */
       141: .line 603
            lload 7 /* rs */
            ldc -9223372036854775808
            lcmp
            ifeq 144
       142: .line 604
            lload 7 /* rs */
            invokestatic java.math.BigDecimal.longDigitLength:(J)I
            istore 5 /* prec */
       143: .line 605
            goto 147
       144: .line 607
      StackMap locals:
      StackMap stack:
            aload 9 /* rb */
            invokestatic java.math.BigDecimal.bigDigitLength:(Ljava/math/BigInteger;)I
            istore 5 /* prec */
       145: .line 608
            iload 5 /* prec */
            iload 18 /* mcp */
            isub
            istore 19 /* drop */
       146: .line 599
      StackMap locals:
      StackMap stack:
            iload 19 /* drop */
            ifgt 138
        end local 19 // int drop
       147: .line 611
      StackMap locals:
      StackMap stack:
            lload 7 /* rs */
            ldc -9223372036854775808
            lcmp
            ifeq 161
       148: .line 612
            iload 5 /* prec */
            iload 18 /* mcp */
            isub
            istore 19 /* drop */
        start local 19 // int drop
       149: .line 613
            goto 154
       150: .line 614
      StackMap locals: int
      StackMap stack:
            iload 6 /* scl */
            i2l
            iload 19 /* drop */
            i2l
            lsub
            invokestatic java.math.BigDecimal.checkScaleNonZero:(J)I
            istore 6 /* scl */
       151: .line 615
            lload 7 /* rs */
            getstatic java.math.BigDecimal.LONG_TEN_POWERS_TABLE:[J
            iload 19 /* drop */
            laload
            aload 4 /* mc */
            getfield java.math.MathContext.roundingMode:Ljava/math/RoundingMode;
            getfield java.math.RoundingMode.oldMode:I
            invokestatic java.math.BigDecimal.divideAndRound:(JJI)J
            lstore 7 /* rs */
       152: .line 616
            lload 7 /* rs */
            invokestatic java.math.BigDecimal.longDigitLength:(J)I
            istore 5 /* prec */
       153: .line 617
            iload 5 /* prec */
            iload 18 /* mcp */
            isub
            istore 19 /* drop */
       154: .line 613
      StackMap locals:
      StackMap stack:
            iload 19 /* drop */
            ifgt 150
       155: .line 619
            aconst_null
            astore 9 /* rb */
        end local 19 // int drop
        end local 18 // int mcp
        end local 17 // char[] coeff
        end local 16 // int idx
        end local 15 // boolean isCompact
        end local 12 // long exp
        end local 11 // boolean dot
        end local 10 // boolean isneg
       156: .line 623
            goto 161
      StackMap locals: java.math.BigDecimal char[] int int java.math.MathContext int int long java.math.BigInteger
      StackMap stack: java.lang.RuntimeException
       157: astore 10 /* e */
        start local 10 // java.lang.RuntimeException e
       158: .line 624
            new java.lang.NumberFormatException
            dup
            invokespecial java.lang.NumberFormatException.<init>:()V
            astore 11 /* nfe */
        start local 11 // java.lang.NumberFormatException nfe
       159: .line 625
            aload 11 /* nfe */
            aload 10 /* e */
            invokevirtual java.lang.NumberFormatException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
       160: .line 626
            aload 11 /* nfe */
            athrow
        end local 11 // java.lang.NumberFormatException nfe
        end local 10 // java.lang.RuntimeException e
       161: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* scl */
            putfield java.math.BigDecimal.scale:I
       162: .line 629
            aload 0 /* this */
            iload 5 /* prec */
            putfield java.math.BigDecimal.precision:I
       163: .line 630
            aload 0 /* this */
            lload 7 /* rs */
            putfield java.math.BigDecimal.intCompact:J
       164: .line 631
            aload 0 /* this */
            aload 9 /* rb */
            putfield java.math.BigDecimal.intVal:Ljava/math/BigInteger;
       165: .line 632
            return
        end local 9 // java.math.BigInteger rb
        end local 7 // long rs
        end local 6 // int scl
        end local 5 // int prec
        end local 4 // java.math.MathContext mc
        end local 3 // int len
        end local 2 // int offset
        end local 1 // char[] in
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  166     0       this  Ljava/math/BigDecimal;
            0  166     1         in  [C
            0  166     2     offset  I
            0  166     3        len  I
            0  166     4         mc  Ljava/math/MathContext;
            8  166     5       prec  I
            9  166     6        scl  I
           10  166     7         rs  J
           11  166     9         rb  Ljava/math/BigInteger;
           12  156    10      isneg  Z
           21  156    11        dot  Z
           22  156    12        exp  J
           29   75    14          c  C
           96  124    14          c  C
           25  156    15  isCompact  Z
           26  156    16        idx  I
           40   45    17      digit  I
           53   65    17      digit  I
           84   92    17        mcp  I
           85   92    18       drop  I
           94  156    17      coeff  [C
          134  156    18        mcp  I
          137  147    19       drop  I
          149  156    19       drop  I
          158  161    10          e  Ljava/lang/RuntimeException;
          159  161    11        nfe  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.IndexOutOfBoundsException
          11   156     157  Class java.lang.ArrayIndexOutOfBoundsException
          11   156     157  Class java.lang.NegativeArraySizeException
    MethodParameters:
        Name  Flags
      in      
      offset  
      len     
      mc      

  private int adjustScale(int, long);
    descriptor: (IJ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.math.BigDecimal this
        start local 1 // int scl
        start local 2 // long exp
         0: .line 635
            iload 1 /* scl */
            i2l
            lload 2 /* exp */
            lsub
            lstore 4 /* adjustedScale */
        start local 4 // long adjustedScale
         1: .line 636
            lload 4 /* adjustedScale */
            ldc 2147483647
            lcmp
            ifgt 2
            lload 4 /* adjustedScale */
            ldc -2147483648
            lcmp
            ifge 3
         2: .line 637
      StackMap locals: long
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            ldc "Scale out of range."
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 638
      StackMap locals:
      StackMap stack:
            lload 4 /* adjustedScale */
            l2i
            istore 1 /* scl */
         4: .line 639
            iload 1 /* scl */
            ireturn
        end local 4 // long adjustedScale
        end local 2 // long exp
        end local 1 // int scl
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Ljava/math/BigDecimal;
            0    5     1            scl  I
            0    5     2            exp  J
            1    5     4  adjustedScale  J
    MethodParameters:
      Name  Flags
      scl   
      exp   

  private static long parseExp(char[], int, int);
    descriptor: ([CII)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // char[] in
        start local 1 // int offset
        start local 2 // int len
         0: .line 646
            lconst_0
            lstore 3 /* exp */
        start local 3 // long exp
         1: .line 647
            iinc 1 /* offset */ 1
         2: .line 648
            aload 0 /* in */
            iload 1 /* offset */
            caload
            istore 5 /* c */
        start local 5 // char c
         3: .line 649
            iinc 2 /* len */ -1
         4: .line 650
            iload 5 /* c */
            bipush 45
            if_icmpne 5
            iconst_1
            goto 6
      StackMap locals: long int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 6 /* negexp */
        start local 6 // boolean negexp
         7: .line 652
            iload 6 /* negexp */
            ifne 8
            iload 5 /* c */
            bipush 43
            if_icmpne 11
         8: .line 653
      StackMap locals: int
      StackMap stack:
            iinc 1 /* offset */ 1
         9: .line 654
            aload 0 /* in */
            iload 1 /* offset */
            caload
            istore 5 /* c */
        10: .line 655
            iinc 2 /* len */ -1
        11: .line 657
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            ifgt 16
        12: .line 658
            new java.lang.NumberFormatException
            dup
            ldc "No exponent digits."
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 661
      StackMap locals:
      StackMap stack:
            iinc 1 /* offset */ 1
        14: .line 662
            aload 0 /* in */
            iload 1 /* offset */
            caload
            istore 5 /* c */
        15: .line 663
            iinc 2 /* len */ -1
        16: .line 660
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            bipush 10
            if_icmple 17
            iload 5 /* c */
            bipush 48
            if_icmpeq 13
            iload 5 /* c */
            bipush 10
            invokestatic java.lang.Character.digit:(CI)I
            ifeq 13
        17: .line 665
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            bipush 10
            if_icmple 19
        18: .line 666
            new java.lang.NumberFormatException
            dup
            ldc "Too many nonzero exponent digits."
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 670
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            bipush 48
            if_icmplt 22
            iload 5 /* c */
            bipush 57
            if_icmpgt 22
        20: .line 671
            iload 5 /* c */
            bipush 48
            isub
            istore 7 /* v */
        start local 7 // int v
        21: .line 672
            goto 25
        end local 7 // int v
        22: .line 673
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            bipush 10
            invokestatic java.lang.Character.digit:(CI)I
            istore 7 /* v */
        start local 7 // int v
        23: .line 674
            iload 7 /* v */
            ifge 25
        24: .line 675
            new java.lang.NumberFormatException
            dup
            ldc "Not a digit."
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 677
      StackMap locals: int
      StackMap stack:
            lload 3 /* exp */
            ldc 10
            lmul
            iload 7 /* v */
            i2l
            ladd
            lstore 3 /* exp */
        26: .line 678
            iload 2 /* len */
            iconst_1
            if_icmpne 28
        27: .line 679
            goto 31
        28: .line 680
      StackMap locals:
      StackMap stack:
            iinc 1 /* offset */ 1
        29: .line 681
            aload 0 /* in */
            iload 1 /* offset */
            caload
            istore 5 /* c */
        end local 7 // int v
        30: .line 668
            iinc 2 /* len */ -1
            goto 19
        31: .line 683
      StackMap locals:
      StackMap stack:
            iload 6 /* negexp */
            ifeq 33
        32: .line 684
            lload 3 /* exp */
            lneg
            lstore 3 /* exp */
        33: .line 685
      StackMap locals:
      StackMap stack:
            lload 3 /* exp */
            lreturn
        end local 6 // boolean negexp
        end local 5 // char c
        end local 3 // long exp
        end local 2 // int len
        end local 1 // int offset
        end local 0 // char[] in
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   34     0      in  [C
            0   34     1  offset  I
            0   34     2     len  I
            1   34     3     exp  J
            3   34     5       c  C
            7   34     6  negexp  Z
           21   22     7       v  I
           23   30     7       v  I
    MethodParameters:
        Name  Flags
      in      
      offset  
      len     

  public void <init>(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.math.BigDecimal this
        start local 1 // char[] in
         0: .line 705
            aload 0 /* this */
            aload 1 /* in */
            iconst_0
            aload 1 /* in */
            arraylength
            invokespecial java.math.BigDecimal.<init>:([CII)V
         1: .line 706
            return
        end local 1 // char[] in
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/math/BigDecimal;
            0    2     1    in  [C
    MethodParameters:
      Name  Flags
      in    

  public void <init>(char[], java.math.MathContext);
    descriptor: ([CLjava/math/MathContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.math.BigDecimal this
        start local 1 // char[] in
        start local 2 // java.math.MathContext mc
         0: .line 729
            aload 0 /* this */
            aload 1 /* in */
            iconst_0
            aload 1 /* in */
            arraylength
            aload 2 /* mc */
            invokespecial java.math.BigDecimal.<init>:([CIILjava/math/MathContext;)V
         1: .line 730
            return
        end local 2 // java.math.MathContext mc
        end local 1 // char[] in
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/math/BigDecimal;
            0    2     1    in  [C
            0    2     2    mc  Ljava/math/MathContext;
    MethodParameters:
      Name  Flags
      in    
      mc    

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.math.BigDecimal this
        start local 1 // java.lang.String val
         0: .line 834
            aload 0 /* this */
            aload 1 /* val */
            invokevirtual java.lang.String.toCharArray:()[C
            iconst_0
            aload 1 /* val */
            invokevirtual java.lang.String.length:()I
            invokespecial java.math.BigDecimal.<init>:([CII)V
         1: .line 835
            return
        end local 1 // java.lang.String val
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/math/BigDecimal;
            0    2     1   val  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      val   

  public void <init>(java.lang.String, java.math.MathContext);
    descriptor: (Ljava/lang/String;Ljava/math/MathContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.math.BigDecimal this
        start local 1 // java.lang.String val
        start local 2 // java.math.MathContext mc
         0: .line 852
            aload 0 /* this */
            aload 1 /* val */
            invokevirtual java.lang.String.toCharArray:()[C
            iconst_0
            aload 1 /* val */
            invokevirtual java.lang.String.length:()I
            aload 2 /* mc */
            invokespecial java.math.BigDecimal.<init>:([CIILjava/math/MathContext;)V
         1: .line 853
            return
        end local 2 // java.math.MathContext mc
        end local 1 // java.lang.String val
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/math/BigDecimal;
            0    2     1   val  Ljava/lang/String;
            0    2     2    mc  Ljava/math/MathContext;
    MethodParameters:
      Name  Flags
      val   
      mc    

  public void <init>(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.math.BigDecimal this
        start local 1 // double val
         0: .line 900
            aload 0 /* this */
            dload 1 /* val */
            getstatic java.math.MathContext.UNLIMITED:Ljava/math/MathContext;
            invokespecial java.math.BigDecimal.<init>:(DLjava/math/MathContext;)V
         1: .line 901
            return
        end local 1 // double val
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/math/BigDecimal;
            0    2     1   val  D
    MethodParameters:
      Name  Flags
      val   

  public void <init>(double, java.math.MathContext);
    descriptor: (DLjava/math/MathContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=18, args_size=3
        start local 0 // java.math.BigDecimal this
        start local 1 // double val
        start local 3 // java.math.MathContext mc
         0: .line 921
            aload 0 /* this */
            invokespecial java.lang.Number.<init>:()V
         1: .line 922
            dload 1 /* val */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifne 2
            dload 1 /* val */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 3
         2: .line 923
      StackMap locals: java.math.BigDecimal double java.math.MathContext
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            ldc "Infinite or NaN"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 926
      StackMap locals:
      StackMap stack:
            dload 1 /* val */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 4 /* valBits */
        start local 4 // long valBits
         4: .line 927
            lload 4 /* valBits */
            bipush 63
            lshr
            lconst_0
            lcmp
            ifne 5
            iconst_1
            goto 6
      StackMap locals: long
      StackMap stack:
         5: iconst_m1
      StackMap locals:
      StackMap stack: int
         6: istore 6 /* sign */
        start local 6 // int sign
         7: .line 928
            lload 4 /* valBits */
            bipush 52
            lshr
            ldc 2047
            land
            l2i
            istore 7 /* exponent */
        start local 7 // int exponent
         8: .line 929
            iload 7 /* exponent */
            ifne 10
         9: .line 930
            lload 4 /* valBits */
            ldc 4503599627370495
            land
            iconst_1
            lshl
            goto 11
        10: .line 931
      StackMap locals: int int
      StackMap stack:
            lload 4 /* valBits */
            ldc 4503599627370495
            land
            ldc 4503599627370496
            lor
        11: .line 929
      StackMap locals:
      StackMap stack: long
            lstore 8 /* significand */
        start local 8 // long significand
        12: .line 932
            iinc 7 /* exponent */ -1075
        13: .line 939
            lload 8 /* significand */
            lconst_0
            lcmp
            ifne 21
        14: .line 940
            aload 0 /* this */
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            putfield java.math.BigDecimal.intVal:Ljava/math/BigInteger;
        15: .line 941
            aload 0 /* this */
            iconst_0
            putfield java.math.BigDecimal.scale:I
        16: .line 942
            aload 0 /* this */
            lconst_0
            putfield java.math.BigDecimal.intCompact:J
        17: .line 943
            aload 0 /* this */
            iconst_1
            putfield java.math.BigDecimal.precision:I
        18: .line 944
            return
        19: .line 948
      StackMap locals: long
      StackMap stack:
            lload 8 /* significand */
            iconst_1
            lshr
            lstore 8 /* significand */
        20: .line 949
            iinc 7 /* exponent */ 1
        21: .line 947
      StackMap locals:
      StackMap stack:
            lload 8 /* significand */
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 19
        22: .line 951
            iconst_0
            istore 10 /* scl */
        start local 10 // int scl
        23: .line 954
            iload 6 /* sign */
            i2l
            lload 8 /* significand */
            lmul
            lstore 12 /* compactVal */
        start local 12 // long compactVal
        24: .line 955
            iload 7 /* exponent */
            ifne 29
        25: .line 956
            lload 12 /* compactVal */
            ldc -9223372036854775808
            lcmp
            ifne 26
            getstatic java.math.BigDecimal.INFLATED_BIGINT:Ljava/math/BigInteger;
            goto 27
      StackMap locals: java.math.BigDecimal double java.math.MathContext long int int long int top long
      StackMap stack:
        26: aconst_null
      StackMap locals:
      StackMap stack: java.math.BigInteger
        27: astore 11 /* rb */
        start local 11 // java.math.BigInteger rb
        28: .line 957
            goto 35
        end local 11 // java.math.BigInteger rb
        29: .line 958
      StackMap locals:
      StackMap stack:
            iload 7 /* exponent */
            ifge 33
        30: .line 959
            ldc 5
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            iload 7 /* exponent */
            ineg
            invokevirtual java.math.BigInteger.pow:(I)Ljava/math/BigInteger;
            lload 12 /* compactVal */
            invokevirtual java.math.BigInteger.multiply:(J)Ljava/math/BigInteger;
            astore 11 /* rb */
        start local 11 // java.math.BigInteger rb
        31: .line 960
            iload 7 /* exponent */
            ineg
            istore 10 /* scl */
        32: .line 961
            goto 34
        end local 11 // java.math.BigInteger rb
        33: .line 962
      StackMap locals:
      StackMap stack:
            getstatic java.math.BigInteger.TWO:Ljava/math/BigInteger;
            iload 7 /* exponent */
            invokevirtual java.math.BigInteger.pow:(I)Ljava/math/BigInteger;
            lload 12 /* compactVal */
            invokevirtual java.math.BigInteger.multiply:(J)Ljava/math/BigInteger;
            astore 11 /* rb */
        start local 11 // java.math.BigInteger rb
        34: .line 964
      StackMap locals: java.math.BigDecimal double java.math.MathContext long int int long int java.math.BigInteger long
      StackMap stack:
            aload 11 /* rb */
            invokestatic java.math.BigDecimal.compactValFor:(Ljava/math/BigInteger;)J
            lstore 12 /* compactVal */
        35: .line 966
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 14 /* prec */
        start local 14 // int prec
        36: .line 967
            aload 3 /* mc */
            getfield java.math.MathContext.precision:I
            istore 15 /* mcp */
        start local 15 // int mcp
        37: .line 968
            iload 15 /* mcp */
            ifle 61
        38: .line 969
            aload 3 /* mc */
            getfield java.math.MathContext.roundingMode:Ljava/math/RoundingMode;
            getfield java.math.RoundingMode.oldMode:I
            istore 16 /* mode */
        start local 16 // int mode
        39: .line 971
            lload 12 /* compactVal */
            ldc -9223372036854775808
            lcmp
            ifne 51
        40: .line 972
            aload 11 /* rb */
            invokestatic java.math.BigDecimal.bigDigitLength:(Ljava/math/BigInteger;)I
            istore 14 /* prec */
        41: .line 973
            iload 14 /* prec */
            iload 15 /* mcp */
            isub
            istore 17 /* drop */
        start local 17 // int drop
        42: .line 974
            goto 50
        43: .line 975
      StackMap locals: java.math.BigDecimal double java.math.MathContext long int int long int java.math.BigInteger long int int int int
      StackMap stack:
            iload 10 /* scl */
            i2l
            iload 17 /* drop */
            i2l
            lsub
            invokestatic java.math.BigDecimal.checkScaleNonZero:(J)I
            istore 10 /* scl */
        44: .line 976
            aload 11 /* rb */
            iload 17 /* drop */
            iload 16 /* mode */
            invokestatic java.math.BigDecimal.divideAndRoundByTenPow:(Ljava/math/BigInteger;II)Ljava/math/BigInteger;
            astore 11 /* rb */
        45: .line 977
            aload 11 /* rb */
            invokestatic java.math.BigDecimal.compactValFor:(Ljava/math/BigInteger;)J
            lstore 12 /* compactVal */
        46: .line 978
            lload 12 /* compactVal */
            ldc -9223372036854775808
            lcmp
            ifeq 48
        47: .line 979
            goto 51
        48: .line 981
      StackMap locals:
      StackMap stack:
            aload 11 /* rb */
            invokestatic java.math.BigDecimal.bigDigitLength:(Ljava/math/BigInteger;)I
            istore 14 /* prec */
        49: .line 982
            iload 14 /* prec */
            iload 15 /* mcp */
            isub
            istore 17 /* drop */
        50: .line 974
      StackMap locals:
      StackMap stack:
            iload 17 /* drop */
            ifgt 43
        end local 17 // int drop
        51: .line 985
      StackMap locals:
      StackMap stack:
            lload 12 /* compactVal */
            ldc -9223372036854775808
            lcmp
            ifeq 61
        52: .line 986
            lload 12 /* compactVal */
            invokestatic java.math.BigDecimal.longDigitLength:(J)I
            istore 14 /* prec */
        53: .line 987
            iload 14 /* prec */
            iload 15 /* mcp */
            isub
            istore 17 /* drop */
        start local 17 // int drop
        54: .line 988
            goto 59
        55: .line 989
      StackMap locals: int
      StackMap stack:
            iload 10 /* scl */
            i2l
            iload 17 /* drop */
            i2l
            lsub
            invokestatic java.math.BigDecimal.checkScaleNonZero:(J)I
            istore 10 /* scl */
        56: .line 990
            lload 12 /* compactVal */
            getstatic java.math.BigDecimal.LONG_TEN_POWERS_TABLE:[J
            iload 17 /* drop */
            laload
            aload 3 /* mc */
            getfield java.math.MathContext.roundingMode:Ljava/math/RoundingMode;
            getfield java.math.RoundingMode.oldMode:I
            invokestatic java.math.BigDecimal.divideAndRound:(JJI)J
            lstore 12 /* compactVal */
        57: .line 991
            lload 12 /* compactVal */
            invokestatic java.math.BigDecimal.longDigitLength:(J)I
            istore 14 /* prec */
        58: .line 992
            iload 14 /* prec */
            iload 15 /* mcp */
            isub
            istore 17 /* drop */
        59: .line 988
      StackMap locals:
      StackMap stack:
            iload 17 /* drop */
            ifgt 55
        60: .line 994
            aconst_null
            astore 11 /* rb */
        end local 17 // int drop
        end local 16 // int mode
        61: .line 997
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* rb */
            putfield java.math.BigDecimal.intVal:Ljava/math/BigInteger;
        62: .line 998
            aload 0 /* this */
            lload 12 /* compactVal */
            putfield java.math.BigDecimal.intCompact:J
        63: .line 999
            aload 0 /* this */
            iload 10 /* scl */
            putfield java.math.BigDecimal.scale:I
        64: .line 1000
            aload 0 /* this */
            iload 14 /* prec */
            putfield java.math.BigDecimal.precision:I
        65: .line 1001
            return
        end local 15 // int mcp
        end local 14 // int prec
        end local 12 // long compactVal
        end local 11 // java.math.BigInteger rb
        end local 10 // int scl
        end local 8 // long significand
        end local 7 // int exponent
        end local 6 // int sign
        end local 4 // long valBits
        end local 3 // java.math.MathContext mc
        end local 1 // double val
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   66     0         this  Ljava/math/BigDecimal;
            0   66     1          val  D
            0   66     3           mc  Ljava/math/MathContext;
            4   66     4      valBits  J
            7   66     6         sign  I
            8   66     7     exponent  I
           12   66     8  significand  J
           23   66    10          scl  I
           28   29    11           rb  Ljava/math/BigInteger;
           31   33    11           rb  Ljava/math/BigInteger;
           34   66    11           rb  Ljava/math/BigInteger;
           24   66    12   compactVal  J
           36   66    14         prec  I
           37   66    15          mcp  I
           39   61    16         mode  I
           42   51    17         drop  I
           54   61    17         drop  I
    MethodParameters:
      Name  Flags
      val   
      mc    

  public void <init>(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.math.BigDecimal this
        start local 1 // java.math.BigInteger val
         0: .line 1010
            aload 0 /* this */
            invokespecial java.lang.Number.<init>:()V
         1: .line 1011
            aload 0 /* this */
            iconst_0
            putfield java.math.BigDecimal.scale:I
         2: .line 1012
            aload 0 /* this */
            aload 1 /* val */
            putfield java.math.BigDecimal.intVal:Ljava/math/BigInteger;
         3: .line 1013
            aload 0 /* this */
            aload 1 /* val */
            invokestatic java.math.BigDecimal.compactValFor:(Ljava/math/BigInteger;)J
            putfield java.math.BigDecimal.intCompact:J
         4: .line 1014
            return
        end local 1 // java.math.BigInteger val
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/math/BigDecimal;
            0    5     1   val  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      val   

  public void <init>(java.math.BigInteger, java.math.MathContext);
    descriptor: (Ljava/math/BigInteger;Ljava/math/MathContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.math.BigDecimal this
        start local 1 // java.math.BigInteger val
        start local 2 // java.math.MathContext mc
         0: .line 1029
            aload 0 /* this */
            aload 1 /* val */
            iconst_0
            aload 2 /* mc */
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;ILjava/math/MathContext;)V
         1: .line 1030
            return
        end local 2 // java.math.MathContext mc
        end local 1 // java.math.BigInteger val
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/math/BigDecimal;
            0    2     1   val  Ljava/math/BigInteger;
            0    2     2    mc  Ljava/math/MathContext;
    MethodParameters:
      Name  Flags
      val   
      mc    

  public void <init>(java.math.BigInteger, int);
    descriptor: (Ljava/math/BigInteger;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.math.BigDecimal this
        start local 1 // java.math.BigInteger unscaledVal
        start local 2 // int scale
         0: .line 1041
            aload 0 /* this */
            invokespecial java.lang.Number.<init>:()V
         1: .line 1043
            aload 0 /* this */
            aload 1 /* unscaledVal */
            putfield java.math.BigDecimal.intVal:Ljava/math/BigInteger;
         2: .line 1044
            aload 0 /* this */
            aload 1 /* unscaledVal */
            invokestatic java.math.BigDecimal.compactValFor:(Ljava/math/BigInteger;)J
            putfield java.math.BigDecimal.intCompact:J
         3: .line 1045
            aload 0 /* this */
            iload 2 /* scale */
            putfield java.math.BigDecimal.scale:I
         4: .line 1046
            return
        end local 2 // int scale
        end local 1 // java.math.BigInteger unscaledVal
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Ljava/math/BigDecimal;
            0    5     1  unscaledVal  Ljava/math/BigInteger;
            0    5     2        scale  I
    MethodParameters:
             Name  Flags
      unscaledVal  
      scale        

  public void <init>(java.math.BigInteger, int, java.math.MathContext);
    descriptor: (Ljava/math/BigInteger;ILjava/math/MathContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // java.math.BigDecimal this
        start local 1 // java.math.BigInteger unscaledVal
        start local 2 // int scale
        start local 3 // java.math.MathContext mc
         0: .line 1063
            aload 0 /* this */
            invokespecial java.lang.Number.<init>:()V
         1: .line 1064
            aload 1 /* unscaledVal */
            invokestatic java.math.BigDecimal.compactValFor:(Ljava/math/BigInteger;)J
            lstore 4 /* compactVal */
        start local 4 // long compactVal
         2: .line 1065
            aload 3 /* mc */
            getfield java.math.MathContext.precision:I
            istore 6 /* mcp */
        start local 6 // int mcp
         3: .line 1066
            iconst_0
            istore 7 /* prec */
        start local 7 // int prec
         4: .line 1067
            iload 6 /* mcp */
            ifle 28
         5: .line 1068
            aload 3 /* mc */
            getfield java.math.MathContext.roundingMode:Ljava/math/RoundingMode;
            getfield java.math.RoundingMode.oldMode:I
            istore 8 /* mode */
        start local 8 // int mode
         6: .line 1069
            lload 4 /* compactVal */
            ldc -9223372036854775808
            lcmp
            ifne 18
         7: .line 1070
            aload 1 /* unscaledVal */
            invokestatic java.math.BigDecimal.bigDigitLength:(Ljava/math/BigInteger;)I
            istore 7 /* prec */
         8: .line 1071
            iload 7 /* prec */
            iload 6 /* mcp */
            isub
            istore 9 /* drop */
        start local 9 // int drop
         9: .line 1072
            goto 17
        10: .line 1073
      StackMap locals: java.math.BigDecimal java.math.BigInteger int java.math.MathContext long int int int int
      StackMap stack:
            iload 2 /* scale */
            i2l
            iload 9 /* drop */
            i2l
            lsub
            invokestatic java.math.BigDecimal.checkScaleNonZero:(J)I
            istore 2 /* scale */
        11: .line 1074
            aload 1 /* unscaledVal */
            iload 9 /* drop */
            iload 8 /* mode */
            invokestatic java.math.BigDecimal.divideAndRoundByTenPow:(Ljava/math/BigInteger;II)Ljava/math/BigInteger;
            astore 1 /* unscaledVal */
        12: .line 1075
            aload 1 /* unscaledVal */
            invokestatic java.math.BigDecimal.compactValFor:(Ljava/math/BigInteger;)J
            lstore 4 /* compactVal */
        13: .line 1076
            lload 4 /* compactVal */
            ldc -9223372036854775808
            lcmp
            ifeq 15
        14: .line 1077
            goto 18
        15: .line 1079
      StackMap locals:
      StackMap stack:
            aload 1 /* unscaledVal */
            invokestatic java.math.BigDecimal.bigDigitLength:(Ljava/math/BigInteger;)I
            istore 7 /* prec */
        16: .line 1080
            iload 7 /* prec */
            iload 6 /* mcp */
            isub
            istore 9 /* drop */
        17: .line 1072
      StackMap locals:
      StackMap stack:
            iload 9 /* drop */
            ifgt 10
        end local 9 // int drop
        18: .line 1083
      StackMap locals:
      StackMap stack:
            lload 4 /* compactVal */
            ldc -9223372036854775808
            lcmp
            ifeq 28
        19: .line 1084
            lload 4 /* compactVal */
            invokestatic java.math.BigDecimal.longDigitLength:(J)I
            istore 7 /* prec */
        20: .line 1085
            iload 7 /* prec */
            iload 6 /* mcp */
            isub
            istore 9 /* drop */
        start local 9 // int drop
        21: .line 1086
            goto 26
        22: .line 1087
      StackMap locals: int
      StackMap stack:
            iload 2 /* scale */
            i2l
            iload 9 /* drop */
            i2l
            lsub
            invokestatic java.math.BigDecimal.checkScaleNonZero:(J)I
            istore 2 /* scale */
        23: .line 1088
            lload 4 /* compactVal */
            getstatic java.math.BigDecimal.LONG_TEN_POWERS_TABLE:[J
            iload 9 /* drop */
            laload
            iload 8 /* mode */
            invokestatic java.math.BigDecimal.divideAndRound:(JJI)J
            lstore 4 /* compactVal */
        24: .line 1089
            lload 4 /* compactVal */
            invokestatic java.math.BigDecimal.longDigitLength:(J)I
            istore 7 /* prec */
        25: .line 1090
            iload 7 /* prec */
            iload 6 /* mcp */
            isub
            istore 9 /* drop */
        26: .line 1086
      StackMap locals:
      StackMap stack:
            iload 9 /* drop */
            ifgt 22
        27: .line 1092
            aconst_null
            astore 1 /* unscaledVal */
        end local 9 // int drop
        end local 8 // int mode
        28: .line 1095
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* unscaledVal */
            putfield java.math.BigDecimal.intVal:Ljava/math/BigInteger;
        29: .line 1096
            aload 0 /* this */
            lload 4 /* compactVal */
            putfield java.math.BigDecimal.intCompact:J
        30: .line 1097
            aload 0 /* this */
            iload 2 /* scale */
            putfield java.math.BigDecimal.scale:I
        31: .line 1098
            aload 0 /* this */
            iload 7 /* prec */
            putfield java.math.BigDecimal.precision:I
        32: .line 1099
            return
        end local 7 // int prec
        end local 6 // int mcp
        end local 4 // long compactVal
        end local 3 // java.math.MathContext mc
        end local 2 // int scale
        end local 1 // java.math.BigInteger unscaledVal
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   33     0         this  Ljava/math/BigDecimal;
            0   33     1  unscaledVal  Ljava/math/BigInteger;
            0   33     2        scale  I
            0   33     3           mc  Ljava/math/MathContext;
            2   33     4   compactVal  J
            3   33     6          mcp  I
            4   33     7         prec  I
            6   28     8         mode  I
            9   18     9         drop  I
           21   28     9         drop  I
    MethodParameters:
             Name  Flags
      unscaledVal  
      scale        
      mc           

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.math.BigDecimal this
        start local 1 // int val
         0: .line 1109
            aload 0 /* this */
            invokespecial java.lang.Number.<init>:()V
         1: .line 1110
            aload 0 /* this */
            iload 1 /* val */
            i2l
            putfield java.math.BigDecimal.intCompact:J
         2: .line 1111
            aload 0 /* this */
            iconst_0
            putfield java.math.BigDecimal.scale:I
         3: .line 1112
            aload 0 /* this */
            aconst_null
            putfield java.math.BigDecimal.intVal:Ljava/math/BigInteger;
         4: .line 1113
            return
        end local 1 // int val
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/math/BigDecimal;
            0    5     1   val  I
    MethodParameters:
      Name  Flags
      val   

  public void <init>(int, java.math.MathContext);
    descriptor: (ILjava/math/MathContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // java.math.BigDecimal this
        start local 1 // int val
        start local 2 // java.math.MathContext mc
         0: .line 1126
            aload 0 /* this */
            invokespecial java.lang.Number.<init>:()V
         1: .line 1127
            aload 2 /* mc */
            getfield java.math.MathContext.precision:I
            istore 3 /* mcp */
        start local 3 // int mcp
         2: .line 1128
            iload 1 /* val */
            i2l
            lstore 4 /* compactVal */
        start local 4 // long compactVal
         3: .line 1129
            iconst_0
            istore 6 /* scl */
        start local 6 // int scl
         4: .line 1130
            iconst_0
            istore 7 /* prec */
        start local 7 // int prec
         5: .line 1131
            iload 3 /* mcp */
            ifle 14
         6: .line 1132
            lload 4 /* compactVal */
            invokestatic java.math.BigDecimal.longDigitLength:(J)I
            istore 7 /* prec */
         7: .line 1133
            iload 7 /* prec */
            iload 3 /* mcp */
            isub
            istore 8 /* drop */
        start local 8 // int drop
         8: .line 1134
            goto 13
         9: .line 1135
      StackMap locals: java.math.BigDecimal int java.math.MathContext int long int int int
      StackMap stack:
            iload 6 /* scl */
            i2l
            iload 8 /* drop */
            i2l
            lsub
            invokestatic java.math.BigDecimal.checkScaleNonZero:(J)I
            istore 6 /* scl */
        10: .line 1136
            lload 4 /* compactVal */
            getstatic java.math.BigDecimal.LONG_TEN_POWERS_TABLE:[J
            iload 8 /* drop */
            laload
            aload 2 /* mc */
            getfield java.math.MathContext.roundingMode:Ljava/math/RoundingMode;
            getfield java.math.RoundingMode.oldMode:I
            invokestatic java.math.BigDecimal.divideAndRound:(JJI)J
            lstore 4 /* compactVal */
        11: .line 1137
            lload 4 /* compactVal */
            invokestatic java.math.BigDecimal.longDigitLength:(J)I
            istore 7 /* prec */
        12: .line 1138
            iload 7 /* prec */
            iload 3 /* mcp */
            isub
            istore 8 /* drop */
        13: .line 1134
      StackMap locals:
      StackMap stack:
            iload 8 /* drop */
            ifgt 9
        end local 8 // int drop
        14: .line 1141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.math.BigDecimal.intVal:Ljava/math/BigInteger;
        15: .line 1142
            aload 0 /* this */
            lload 4 /* compactVal */
            putfield java.math.BigDecimal.intCompact:J
        16: .line 1143
            aload 0 /* this */
            iload 6 /* scl */
            putfield java.math.BigDecimal.scale:I
        17: .line 1144
            aload 0 /* this */
            iload 7 /* prec */
            putfield java.math.BigDecimal.precision:I
        18: .line 1145
            return
        end local 7 // int prec
        end local 6 // int scl
        end local 4 // long compactVal
        end local 3 // int mcp
        end local 2 // java.math.MathContext mc
        end local 1 // int val
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Ljava/math/BigDecimal;
            0   19     1         val  I
            0   19     2          mc  Ljava/math/MathContext;
            2   19     3         mcp  I
            3   19     4  compactVal  J
            4   19     6         scl  I
            5   19     7        prec  I
            8   14     8        drop  I
    MethodParameters:
      Name  Flags
      val   
      mc    

  public void <init>(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.math.BigDecimal this
        start local 1 // long val
         0: .line 1154
            aload 0 /* this */
            invokespecial java.lang.Number.<init>:()V
         1: .line 1155
            aload 0 /* this */
            lload 1 /* val */
            putfield java.math.BigDecimal.intCompact:J
         2: .line 1156
            aload 0 /* this */
            lload 1 /* val */
            ldc -9223372036854775808
            lcmp
            ifne 3
            getstatic java.math.BigDecimal.INFLATED_BIGINT:Ljava/math/BigInteger;
            goto 4
      StackMap locals: java.math.BigDecimal long
      StackMap stack: java.math.BigDecimal
         3: aconst_null
      StackMap locals: java.math.BigDecimal long
      StackMap stack: java.math.BigDecimal java.math.BigInteger
         4: putfield java.math.BigDecimal.intVal:Ljava/math/BigInteger;
         5: .line 1157
            aload 0 /* this */
            iconst_0
            putfield java.math.BigDecimal.scale:I
         6: .line 1158
            return
        end local 1 // long val
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/math/BigDecimal;
            0    7     1   val  J
    MethodParameters:
      Name  Flags
      val   

  public void <init>(long, java.math.MathContext);
    descriptor: (JLjava/math/MathContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // java.math.BigDecimal this
        start local 1 // long val
        start local 3 // java.math.MathContext mc
         0: .line 1171
            aload 0 /* this */
            invokespecial java.lang.Number.<init>:()V
         1: .line 1172
            aload 3 /* mc */
            getfield java.math.MathContext.precision:I
            istore 4 /* mcp */
        start local 4 // int mcp
         2: .line 1173
            aload 3 /* mc */
            getfield java.math.MathContext.roundingMode:Ljava/math/RoundingMode;
            getfield java.math.RoundingMode.oldMode:I
            istore 5 /* mode */
        start local 5 // int mode
         3: .line 1174
            iconst_0
            istore 6 /* prec */
        start local 6 // int prec
         4: .line 1175
            iconst_0
            istore 7 /* scl */
        start local 7 // int scl
         5: .line 1176
            lload 1 /* val */
            ldc -9223372036854775808
            lcmp
            ifne 6
            getstatic java.math.BigDecimal.INFLATED_BIGINT:Ljava/math/BigInteger;
            goto 7
      StackMap locals: java.math.BigDecimal long java.math.MathContext int int int int
      StackMap stack:
         6: aconst_null
      StackMap locals:
      StackMap stack: java.math.BigInteger
         7: astore 8 /* rb */
        start local 8 // java.math.BigInteger rb
         8: .line 1177
            iload 4 /* mcp */
            ifle 31
         9: .line 1178
            lload 1 /* val */
            ldc -9223372036854775808
            lcmp
            ifne 21
        10: .line 1179
            bipush 19
            istore 6 /* prec */
        11: .line 1180
            iload 6 /* prec */
            iload 4 /* mcp */
            isub
            istore 9 /* drop */
        start local 9 // int drop
        12: .line 1181
            goto 20
        13: .line 1182
      StackMap locals: java.math.BigInteger int
      StackMap stack:
            iload 7 /* scl */
            i2l
            iload 9 /* drop */
            i2l
            lsub
            invokestatic java.math.BigDecimal.checkScaleNonZero:(J)I
            istore 7 /* scl */
        14: .line 1183
            aload 8 /* rb */
            iload 9 /* drop */
            iload 5 /* mode */
            invokestatic java.math.BigDecimal.divideAndRoundByTenPow:(Ljava/math/BigInteger;II)Ljava/math/BigInteger;
            astore 8 /* rb */
        15: .line 1184
            aload 8 /* rb */
            invokestatic java.math.BigDecimal.compactValFor:(Ljava/math/BigInteger;)J
            lstore 1 /* val */
        16: .line 1185
            lload 1 /* val */
            ldc -9223372036854775808
            lcmp
            ifeq 18
        17: .line 1186
            goto 21
        18: .line 1188
      StackMap locals:
      StackMap stack:
            aload 8 /* rb */
            invokestatic java.math.BigDecimal.bigDigitLength:(Ljava/math/BigInteger;)I
            istore 6 /* prec */
        19: .line 1189
            iload 6 /* prec */
            iload 4 /* mcp */
            isub
            istore 9 /* drop */
        20: .line 1181
      StackMap locals:
      StackMap stack:
            iload 9 /* drop */
            ifgt 13
        end local 9 // int drop
        21: .line 1192
      StackMap locals:
      StackMap stack:
            lload 1 /* val */
            ldc -9223372036854775808
            lcmp
            ifeq 31
        22: .line 1193
            lload 1 /* val */
            invokestatic java.math.BigDecimal.longDigitLength:(J)I
            istore 6 /* prec */
        23: .line 1194
            iload 6 /* prec */
            iload 4 /* mcp */
            isub
            istore 9 /* drop */
        start local 9 // int drop
        24: .line 1195
            goto 29
        25: .line 1196
      StackMap locals: int
      StackMap stack:
            iload 7 /* scl */
            i2l
            iload 9 /* drop */
            i2l
            lsub
            invokestatic java.math.BigDecimal.checkScaleNonZero:(J)I
            istore 7 /* scl */
        26: .line 1197
            lload 1 /* val */
            getstatic java.math.BigDecimal.LONG_TEN_POWERS_TABLE:[J
            iload 9 /* drop */
            laload
            aload 3 /* mc */
            getfield java.math.MathContext.roundingMode:Ljava/math/RoundingMode;
            getfield java.math.RoundingMode.oldMode:I
            invokestatic java.math.BigDecimal.divideAndRound:(JJI)J
            lstore 1 /* val */
        27: .line 1198
            lload 1 /* val */
            invokestatic java.math.BigDecimal.longDigitLength:(J)I
            istore 6 /* prec */
        28: .line 1199
            iload 6 /* prec */
            iload 4 /* mcp */
            isub
            istore 9 /* drop */
        29: .line 1195
      StackMap locals:
      StackMap stack:
            iload 9 /* drop */
            ifgt 25
        30: .line 1201
            aconst_null
            astore 8 /* rb */
        end local 9 // int drop
        31: .line 1204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* rb */
            putfield java.math.BigDecimal.intVal:Ljava/math/BigInteger;
        32: .line 1205
            aload 0 /* this */
            lload 1 /* val */
            putfield java.math.BigDecimal.intCompact:J
        33: .line 1206
            aload 0 /* this */
            iload 7 /* scl */
            putfield java.math.BigDecimal.scale:I
        34: .line 1207
            aload 0 /* this */
            iload 6 /* prec */
            putfield java.math.BigDecimal.precision:I
        35: .line 1208
            return
        end local 8 // java.math.BigInteger rb
        end local 7 // int scl
        end local 6 // int prec
        end local 5 // int mode
        end local 4 // int mcp
        end local 3 // java.math.MathContext mc
        end local 1 // long val
        end local 0 // java.math.BigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   36     0  this  Ljava/math/BigDecimal;
            0   36     1   val  J
            0   36     3    mc  Ljava/math/MathContext;
            2   36     4   mcp  I
            3   36     5  mode  I
            4   36     6  prec  I
            5   36     7   scl  I
            8   36     8    rb  Ljava/math/BigInteger;
           12   21     9  drop  I
           24   31     9  drop  I
    MethodParameters:
      Name  Flags
      val   
      mc    

  public static java.math.BigDecimal valueOf(long, int);
    descriptor: (JI)Ljava/math/BigDecimal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // long unscaledVal
        start local 2 // int scale
         0: .line 1226
            iload 2 /* scale */
            ifne 2
         1: .line 1227
            lload 0 /* unscaledVal */
            invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
            areturn
         2: .line 1228
      StackMap locals:
      StackMap stack:
            lload 0 /* unscaledVal */
            lconst_0
            lcmp
            ifne 4
         3: .line 1229
            iload 2 /* scale */
            invokestatic java.math.BigDecimal.zeroValueOf:(I)Ljava/math/BigDecimal;
            areturn
         4: .line 1231
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            lload 0 /* unscaledVal */
            ldc -9223372036854775808
            lcmp
            ifne 6
         5: .line 1232
            getstatic java.math.BigDecimal.INFLATED_BIGINT:Ljava/math/BigInteger;
            goto 7
      StackMap locals: long int
      StackMap stack: new 4 new 4
         6: aconst_null
         7: .line 1233
      StackMap locals: long int
      StackMap stack: new 4 new 4 java.math.BigInteger
            lload 0 /* unscaledVal */
            iload 2 /* scale */
            iconst_0
         8: .line 1231
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            areturn
        end local 2 // int scale
        end local 0 // long unscaledVal
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0  unscaledVal  J
            0    9     2        scale  I
    MethodParameters:
             Name  Flags
      unscaledVal  
      scale        

  public static java.math.BigDecimal valueOf(long);
    descriptor: (J)Ljava/math/BigDecimal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // long val
         0: .line 1248
            lload 0 /* val */
            lconst_0
            lcmp
            iflt 2
            lload 0 /* val */
            getstatic java.math.BigDecimal.ZERO_THROUGH_TEN:[Ljava/math/BigDecimal;
            arraylength
            i2l
            lcmp
            ifge 2
         1: .line 1249
            getstatic java.math.BigDecimal.ZERO_THROUGH_TEN:[Ljava/math/BigDecimal;
            lload 0 /* val */
            l2i
            aaload
            areturn
         2: .line 1250
      StackMap locals:
      StackMap stack:
            lload 0 /* val */
            ldc -9223372036854775808
            lcmp
            ifeq 4
         3: .line 1251
            new java.math.BigDecimal
            dup
            aconst_null
            lload 0 /* val */
            iconst_0
            iconst_0
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            areturn
         4: .line 1252
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            getstatic java.math.BigDecimal.INFLATED_BIGINT:Ljava/math/BigInteger;
            lload 0 /* val */
            iconst_0
            iconst_0
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            areturn
        end local 0 // long val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   val  J
    MethodParameters:
      Name  Flags
      val   

  static java.math.BigDecimal valueOf(long, int, int);
    descriptor: (JII)Ljava/math/BigDecimal;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // long unscaledVal
        start local 2 // int scale
        start local 3 // int prec
         0: .line 1256
            iload 2 /* scale */
            ifne 2
            lload 0 /* unscaledVal */
            lconst_0
            lcmp
            iflt 2
            lload 0 /* unscaledVal */
            getstatic java.math.BigDecimal.ZERO_THROUGH_TEN:[Ljava/math/BigDecimal;
            arraylength
            i2l
            lcmp
            ifge 2
         1: .line 1257
            getstatic java.math.BigDecimal.ZERO_THROUGH_TEN:[Ljava/math/BigDecimal;
            lload 0 /* unscaledVal */
            l2i
            aaload
            areturn
         2: .line 1258
      StackMap locals:
      StackMap stack:
            lload 0 /* unscaledVal */
            lconst_0
            lcmp
            ifne 4
         3: .line 1259
            iload 2 /* scale */
            invokestatic java.math.BigDecimal.zeroValueOf:(I)Ljava/math/BigDecimal;
            areturn
         4: .line 1261
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            lload 0 /* unscaledVal */
            ldc -9223372036854775808
            lcmp
            ifne 5
            getstatic java.math.BigDecimal.INFLATED_BIGINT:Ljava/math/BigInteger;
            goto 6
      StackMap locals: long int int
      StackMap stack: new 4 new 4
         5: aconst_null
         6: .line 1262
      StackMap locals: long int int
      StackMap stack: new 4 new 4 java.math.BigInteger
            lload 0 /* unscaledVal */
            iload 2 /* scale */
            iload 3 /* prec */
         7: .line 1261
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            areturn
        end local 3 // int prec
        end local 2 // int scale
        end local 0 // long unscaledVal
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0  unscaledVal  J
            0    8     2        scale  I
            0    8     3         prec  I
    MethodParameters:
             Name  Flags
      unscaledVal  
      scale        
      prec         

  static java.math.BigDecimal valueOf(java.math.BigInteger, int, int);
    descriptor: (Ljava/math/BigInteger;II)Ljava/math/BigDecimal;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // java.math.BigInteger intVal
        start local 1 // int scale
        start local 2 // int prec
         0: .line 1266
            aload 0 /* intVal */
            invokestatic java.math.BigDecimal.compactValFor:(Ljava/math/BigInteger;)J
            lstore 3 /* val */
        start local 3 // long val
         1: .line 1267
            lload 3 /* val */
            lconst_0
            lcmp
            ifne 3
         2: .line 1268
            iload 1 /* scale */
            invokestatic java.math.BigDecimal.zeroValueOf:(I)Ljava/math/BigDecimal;
            areturn
         3: .line 1269
      StackMap locals: long
      StackMap stack:
            iload 1 /* scale */
            ifne 5
            lload 3 /* val */
            lconst_0
            lcmp
            iflt 5
            lload 3 /* val */
            getstatic java.math.BigDecimal.ZERO_THROUGH_TEN:[Ljava/math/BigDecimal;
            arraylength
            i2l
            lcmp
            ifge 5
         4: .line 1270
            getstatic java.math.BigDecimal.ZERO_THROUGH_TEN:[Ljava/math/BigDecimal;
            lload 3 /* val */
            l2i
            aaload
            areturn
         5: .line 1272
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            aload 0 /* intVal */
            lload 3 /* val */
            iload 1 /* scale */
            iload 2 /* prec */
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            areturn
        end local 3 // long val
        end local 2 // int prec
        end local 1 // int scale
        end local 0 // java.math.BigInteger intVal
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  intVal  Ljava/math/BigInteger;
            0    6     1   scale  I
            0    6     2    prec  I
            1    6     3     val  J
    MethodParameters:
        Name  Flags
      intVal  
      scale   
      prec    

  static java.math.BigDecimal zeroValueOf(int);
    descriptor: (I)Ljava/math/BigDecimal;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // int scale
         0: .line 1276
            iload 0 /* scale */
            iflt 2
            iload 0 /* scale */
            getstatic java.math.BigDecimal.ZERO_SCALED_BY:[Ljava/math/BigDecimal;
            arraylength
            if_icmpge 2
         1: .line 1277
            getstatic java.math.BigDecimal.ZERO_SCALED_BY:[Ljava/math/BigDecimal;
            iload 0 /* scale */
            aaload
            areturn
         2: .line 1279
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            lconst_0
            iload 0 /* scale */
            iconst_1
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;JII)V
            areturn
        end local 0 // int scale
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0