class org.bouncycastle.math.ec.SimpleBigDecimal
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.bouncycastle.math.ec.SimpleBigDecimal
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private final java.math.BigInteger bigInt;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public static org.bouncycastle.math.ec.SimpleBigDecimal getInstance(java.math.BigInteger, int);
    descriptor: (Ljava/math/BigInteger;I)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.math.BigInteger value
        start local 1 // int scale
         0: .line 36
            new org.bouncycastle.math.ec.SimpleBigDecimal
            dup
            aload 0 /* value */
            iload 1 /* scale */
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            iload 1 /* scale */
            invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 1 // int scale
        end local 0 // java.math.BigInteger value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/math/BigInteger;
            0    1     1  scale  I
    MethodParameters:
       Name  Flags
      value  
      scale  

  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 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // java.math.BigInteger bigInt
        start local 2 // int scale
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 48
            iload 2 /* scale */
            ifge 3
         2: .line 50
            new java.lang.IllegalArgumentException
            dup
            ldc "scale may not be negative"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 53
      StackMap locals: org.bouncycastle.math.ec.SimpleBigDecimal java.math.BigInteger int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bigInt */
            putfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
         4: .line 54
            aload 0 /* this */
            iload 2 /* scale */
            putfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
         5: .line 55
            return
        end local 2 // int scale
        end local 1 // java.math.BigInteger bigInt
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    6     1  bigInt  Ljava/math/BigInteger;
            0    6     2   scale  I
    MethodParameters:
        Name  Flags
      bigInt  
      scale   

  private void checkScale(org.bouncycastle.math.ec.SimpleBigDecimal);
    descriptor: (Lorg/bouncycastle/math/ec/SimpleBigDecimal;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // org.bouncycastle.math.ec.SimpleBigDecimal b
         0: .line 59
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            aload 1 /* b */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            if_icmpeq 2
         1: .line 61
            new java.lang.IllegalArgumentException
            dup
            ldc "Only SimpleBigDecimal of same scale allowed in arithmetic operations"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 64
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.bouncycastle.math.ec.SimpleBigDecimal b
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    3     1     b  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    MethodParameters:
      Name  Flags
      b     

  public org.bouncycastle.math.ec.SimpleBigDecimal adjustScale(int);
    descriptor: (I)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // int newScale
         0: .line 68
            iload 1 /* newScale */
            ifge 2
         1: .line 70
            new java.lang.IllegalArgumentException
            dup
            ldc "scale may not be negative"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 73
      StackMap locals:
      StackMap stack:
            iload 1 /* newScale */
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            if_icmpne 4
         3: .line 75
            aload 0 /* this */
            areturn
         4: .line 78
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.math.ec.SimpleBigDecimal
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            iload 1 /* newScale */
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            isub
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
         5: .line 79
            iload 1 /* newScale */
         6: .line 78
            invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 1 // int newScale
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    7     1  newScale  I
    MethodParameters:
          Name  Flags
      newScale  

  public org.bouncycastle.math.ec.SimpleBigDecimal add(org.bouncycastle.math.ec.SimpleBigDecimal);
    descriptor: (Lorg/bouncycastle/math/ec/SimpleBigDecimal;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // org.bouncycastle.math.ec.SimpleBigDecimal b
         0: .line 84
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.checkScale:(Lorg/bouncycastle/math/ec/SimpleBigDecimal;)V
         1: .line 85
            new org.bouncycastle.math.ec.SimpleBigDecimal
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            aload 1 /* b */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 1 // org.bouncycastle.math.ec.SimpleBigDecimal b
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    2     1     b  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    MethodParameters:
      Name  Flags
      b     

  public org.bouncycastle.math.ec.SimpleBigDecimal add(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // java.math.BigInteger b
         0: .line 90
            new org.bouncycastle.math.ec.SimpleBigDecimal
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            aload 1 /* b */
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 1 // java.math.BigInteger b
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    1     1     b  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      b     

  public org.bouncycastle.math.ec.SimpleBigDecimal negate();
    descriptor: ()Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
         0: .line 95
            new org.bouncycastle.math.ec.SimpleBigDecimal
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;

  public org.bouncycastle.math.ec.SimpleBigDecimal subtract(org.bouncycastle.math.ec.SimpleBigDecimal);
    descriptor: (Lorg/bouncycastle/math/ec/SimpleBigDecimal;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // org.bouncycastle.math.ec.SimpleBigDecimal b
         0: .line 100
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.negate:()Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.add:(Lorg/bouncycastle/math/ec/SimpleBigDecimal;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            areturn
        end local 1 // org.bouncycastle.math.ec.SimpleBigDecimal b
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    1     1     b  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    MethodParameters:
      Name  Flags
      b     

  public org.bouncycastle.math.ec.SimpleBigDecimal subtract(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // java.math.BigInteger b
         0: .line 105
            new org.bouncycastle.math.ec.SimpleBigDecimal
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            aload 1 /* b */
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
         1: .line 106
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
         2: .line 105
            invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 1 // java.math.BigInteger b
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    3     1     b  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      b     

  public org.bouncycastle.math.ec.SimpleBigDecimal multiply(org.bouncycastle.math.ec.SimpleBigDecimal);
    descriptor: (Lorg/bouncycastle/math/ec/SimpleBigDecimal;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // org.bouncycastle.math.ec.SimpleBigDecimal b
         0: .line 111
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.checkScale:(Lorg/bouncycastle/math/ec/SimpleBigDecimal;)V
         1: .line 112
            new org.bouncycastle.math.ec.SimpleBigDecimal
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            aload 1 /* b */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            iadd
            invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 1 // org.bouncycastle.math.ec.SimpleBigDecimal b
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    2     1     b  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    MethodParameters:
      Name  Flags
      b     

  public org.bouncycastle.math.ec.SimpleBigDecimal multiply(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // java.math.BigInteger b
         0: .line 117
            new org.bouncycastle.math.ec.SimpleBigDecimal
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            aload 1 /* b */
            invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 1 // java.math.BigInteger b
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    1     1     b  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      b     

  public org.bouncycastle.math.ec.SimpleBigDecimal divide(org.bouncycastle.math.ec.SimpleBigDecimal);
    descriptor: (Lorg/bouncycastle/math/ec/SimpleBigDecimal;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // org.bouncycastle.math.ec.SimpleBigDecimal b
         0: .line 122
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.checkScale:(Lorg/bouncycastle/math/ec/SimpleBigDecimal;)V
         1: .line 123
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            astore 2 /* dividend */
        start local 2 // java.math.BigInteger dividend
         2: .line 124
            new org.bouncycastle.math.ec.SimpleBigDecimal
            dup
            aload 2 /* dividend */
            aload 1 /* b */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.divide:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 2 // java.math.BigInteger dividend
        end local 1 // org.bouncycastle.math.ec.SimpleBigDecimal b
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    3     1         b  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            2    3     2  dividend  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      b     

  public org.bouncycastle.math.ec.SimpleBigDecimal divide(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // java.math.BigInteger b
         0: .line 129
            new org.bouncycastle.math.ec.SimpleBigDecimal
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            aload 1 /* b */
            invokevirtual java.math.BigInteger.divide:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 1 // java.math.BigInteger b
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    1     1     b  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      b     

  public org.bouncycastle.math.ec.SimpleBigDecimal shiftLeft(int);
    descriptor: (I)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // int n
         0: .line 134
            new org.bouncycastle.math.ec.SimpleBigDecimal
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            iload 1 /* n */
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 1 // int n
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    1     1     n  I
    MethodParameters:
      Name  Flags
      n     

  public int compareTo(org.bouncycastle.math.ec.SimpleBigDecimal);
    descriptor: (Lorg/bouncycastle/math/ec/SimpleBigDecimal;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // org.bouncycastle.math.ec.SimpleBigDecimal val
         0: .line 139
            aload 0 /* this */
            aload 1 /* val */
            invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.checkScale:(Lorg/bouncycastle/math/ec/SimpleBigDecimal;)V
         1: .line 140
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            aload 1 /* val */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
            ireturn
        end local 1 // org.bouncycastle.math.ec.SimpleBigDecimal val
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    2     1   val  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    MethodParameters:
      Name  Flags
      val   

  public int compareTo(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // java.math.BigInteger val
         0: .line 145
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            aload 1 /* val */
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
            ireturn
        end local 1 // java.math.BigInteger val
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    1     1   val  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      val   

  public java.math.BigInteger floor();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
         0: .line 150
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
            areturn
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;

  public java.math.BigInteger round();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
         0: .line 155
            new org.bouncycastle.math.ec.SimpleBigDecimal
            dup
            getstatic org.bouncycastle.math.ec.ECConstants.ONE:Ljava/math/BigInteger;
            iconst_1
            invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
            astore 1 /* oneHalf */
        start local 1 // org.bouncycastle.math.ec.SimpleBigDecimal oneHalf
         1: .line 156
            aload 0 /* this */
            aload 1 /* oneHalf */
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.adjustScale:(I)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.add:(Lorg/bouncycastle/math/ec/SimpleBigDecimal;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.floor:()Ljava/math/BigInteger;
            areturn
        end local 1 // org.bouncycastle.math.ec.SimpleBigDecimal oneHalf
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            1    2     1  oneHalf  Lorg/bouncycastle/math/ec/SimpleBigDecimal;

  public int intValue();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
         0: .line 161
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.floor:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            ireturn
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;

  public long longValue();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
         0: .line 166
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.floor:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.longValue:()J
            lreturn
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;

  public int getScale();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
         0: .line 181
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            ireturn
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
         0: .line 186
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            ifne 2
         1: .line 188
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            areturn
         2: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.floor:()Ljava/math/BigInteger;
            astore 1 /* floorBigInt */
        start local 1 // java.math.BigInteger floorBigInt
         3: .line 193
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            aload 1 /* floorBigInt */
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 2 /* fract */
        start local 2 // java.math.BigInteger fract
         4: .line 194
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.signum:()I
            iconst_m1
            if_icmpne 6
         5: .line 196
            getstatic org.bouncycastle.math.ec.ECConstants.ONE:Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            aload 2 /* fract */
            invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 2 /* fract */
         6: .line 199
      StackMap locals: java.math.BigInteger java.math.BigInteger
      StackMap stack:
            aload 1 /* floorBigInt */
            invokevirtual java.math.BigInteger.signum:()I
            iconst_m1
            if_icmpne 8
            aload 2 /* fract */
            getstatic org.bouncycastle.math.ec.ECConstants.ZERO:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 201
            aload 1 /* floorBigInt */
            getstatic org.bouncycastle.math.ec.ECConstants.ONE:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 1 /* floorBigInt */
         8: .line 203
      StackMap locals:
      StackMap stack:
            aload 1 /* floorBigInt */
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            astore 3 /* leftOfPoint */
        start local 3 // java.lang.String leftOfPoint
         9: .line 205
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            newarray 5
            astore 4 /* fractCharArr */
        start local 4 // char[] fractCharArr
        10: .line 206
            aload 2 /* fract */
            iconst_2
            invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
            astore 5 /* fractStr */
        start local 5 // java.lang.String fractStr
        11: .line 207
            aload 5 /* fractStr */
            invokevirtual java.lang.String.length:()I
            istore 6 /* fractLen */
        start local 6 // int fractLen
        12: .line 208
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            iload 6 /* fractLen */
            isub
            istore 7 /* zeroes */
        start local 7 // int zeroes
        13: .line 209
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        14: goto 17
        15: .line 211
      StackMap locals: org.bouncycastle.math.ec.SimpleBigDecimal java.math.BigInteger java.math.BigInteger java.lang.String char[] java.lang.String int int int
      StackMap stack:
            aload 4 /* fractCharArr */
            iload 8 /* i */
            bipush 48
            castore
        16: .line 209
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 8 /* i */
            iload 7 /* zeroes */
            if_icmplt 15
        end local 8 // int i
        18: .line 213
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        19: goto 22
        20: .line 215
      StackMap locals:
      StackMap stack:
            aload 4 /* fractCharArr */
            iload 7 /* zeroes */
            iload 8 /* j */
            iadd
            aload 5 /* fractStr */
            iload 8 /* j */
            invokevirtual java.lang.String.charAt:(I)C
            castore
        21: .line 213
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        22: iload 8 /* j */
            iload 6 /* fractLen */
            if_icmplt 20
        end local 8 // int j
        23: .line 217
            new java.lang.String
            dup
            aload 4 /* fractCharArr */
            invokespecial java.lang.String.<init>:([C)V
            astore 8 /* rightOfPoint */
        start local 8 // java.lang.String rightOfPoint
        24: .line 219
            new java.lang.StringBuffer
            dup
            aload 3 /* leftOfPoint */
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 9 /* sb */
        start local 9 // java.lang.StringBuffer sb
        25: .line 220
            aload 9 /* sb */
            ldc "."
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        26: .line 221
            aload 9 /* sb */
            aload 8 /* rightOfPoint */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        27: .line 223
            aload 9 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 9 // java.lang.StringBuffer sb
        end local 8 // java.lang.String rightOfPoint
        end local 7 // int zeroes
        end local 6 // int fractLen
        end local 5 // java.lang.String fractStr
        end local 4 // char[] fractCharArr
        end local 3 // java.lang.String leftOfPoint
        end local 2 // java.math.BigInteger fract
        end local 1 // java.math.BigInteger floorBigInt
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   28     0          this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            3   28     1   floorBigInt  Ljava/math/BigInteger;
            4   28     2         fract  Ljava/math/BigInteger;
            9   28     3   leftOfPoint  Ljava/lang/String;
           10   28     4  fractCharArr  [C
           11   28     5      fractStr  Ljava/lang/String;
           12   28     6      fractLen  I
           13   28     7        zeroes  I
           14   18     8             i  I
           19   23     8             j  I
           24   28     8  rightOfPoint  Ljava/lang/String;
           25   28     9            sb  Ljava/lang/StringBuffer;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
        start local 1 // java.lang.Object o
         0: .line 228
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 230
            iconst_1
            ireturn
         2: .line 233
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof org.bouncycastle.math.ec.SimpleBigDecimal
            ifne 4
         3: .line 235
            iconst_0
            ireturn
         4: .line 238
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.bouncycastle.math.ec.SimpleBigDecimal
            astore 2 /* other */
        start local 2 // org.bouncycastle.math.ec.SimpleBigDecimal other
         5: .line 239
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            aload 2 /* other */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 6
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            aload 2 /* other */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            if_icmpne 6
            iconst_1
            ireturn
      StackMap locals: org.bouncycastle.math.ec.SimpleBigDecimal
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // org.bouncycastle.math.ec.SimpleBigDecimal other
        end local 1 // java.lang.Object o
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
            0    7     1      o  Ljava/lang/Object;
            5    7     2  other  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
         0: .line 244
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.hashCode:()I
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
            ixor
            ireturn
        end local 0 // org.bouncycastle.math.ec.SimpleBigDecimal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/SimpleBigDecimal;
}
SourceFile: "SimpleBigDecimal.java"