public abstract class org.bouncycastle.math.ec.ECPoint$AbstractF2m extends org.bouncycastle.math.ec.ECPoint
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.bouncycastle.math.ec.ECPoint$AbstractF2m
  super_class: org.bouncycastle.math.ec.ECPoint
{
  protected void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
    descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
        start local 1 // org.bouncycastle.math.ec.ECCurve curve
        start local 2 // org.bouncycastle.math.ec.ECFieldElement x
        start local 3 // org.bouncycastle.math.ec.ECFieldElement y
         0: .line 1348
            aload 0 /* this */
            aload 1 /* curve */
            aload 2 /* x */
            aload 3 /* y */
            invokespecial org.bouncycastle.math.ec.ECPoint.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
         1: .line 1349
            return
        end local 3 // org.bouncycastle.math.ec.ECFieldElement y
        end local 2 // org.bouncycastle.math.ec.ECFieldElement x
        end local 1 // org.bouncycastle.math.ec.ECCurve curve
        end local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bouncycastle/math/ec/ECPoint$AbstractF2m;
            0    2     1  curve  Lorg/bouncycastle/math/ec/ECCurve;
            0    2     2      x  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    2     3      y  Lorg/bouncycastle/math/ec/ECFieldElement;
    MethodParameters:
       Name  Flags
      curve  
      x      
      y      

  protected void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement[]);
    descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
        start local 1 // org.bouncycastle.math.ec.ECCurve curve
        start local 2 // org.bouncycastle.math.ec.ECFieldElement x
        start local 3 // org.bouncycastle.math.ec.ECFieldElement y
        start local 4 // org.bouncycastle.math.ec.ECFieldElement[] zs
         0: .line 1353
            aload 0 /* this */
            aload 1 /* curve */
            aload 2 /* x */
            aload 3 /* y */
            aload 4 /* zs */
            invokespecial org.bouncycastle.math.ec.ECPoint.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;)V
         1: .line 1354
            return
        end local 4 // org.bouncycastle.math.ec.ECFieldElement[] zs
        end local 3 // org.bouncycastle.math.ec.ECFieldElement y
        end local 2 // org.bouncycastle.math.ec.ECFieldElement x
        end local 1 // org.bouncycastle.math.ec.ECCurve curve
        end local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bouncycastle/math/ec/ECPoint$AbstractF2m;
            0    2     1  curve  Lorg/bouncycastle/math/ec/ECCurve;
            0    2     2      x  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    2     3      y  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    2     4     zs  [Lorg/bouncycastle/math/ec/ECFieldElement;
    MethodParameters:
       Name  Flags
      curve  
      x      
      y      
      zs     

  protected boolean satisfiesCurveEquation();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=14, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
         0: .line 1358
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
            astore 1 /* curve */
        start local 1 // org.bouncycastle.math.ec.ECCurve curve
         1: .line 1359
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 2 /* X */
        start local 2 // org.bouncycastle.math.ec.ECFieldElement X
         2: aload 1 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 3 /* A */
        start local 3 // org.bouncycastle.math.ec.ECFieldElement A
         3: aload 1 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getB:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* B */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement B
         4: .line 1361
            aload 1 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
            istore 5 /* coord */
        start local 5 // int coord
         5: .line 1362
            iload 5 /* coord */
            bipush 6
            if_icmpne 27
         6: .line 1364
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 6 /* Z */
        start local 6 // org.bouncycastle.math.ec.ECFieldElement Z
         7: .line 1365
            aload 6 /* Z */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
            istore 7 /* ZIsOne */
        start local 7 // boolean ZIsOne
         8: .line 1367
            aload 2 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 15
         9: .line 1370
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 8 /* Y */
        start local 8 // org.bouncycastle.math.ec.ECFieldElement Y
        10: .line 1371
            aload 8 /* Y */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 9 /* lhs */
        start local 9 // org.bouncycastle.math.ec.ECFieldElement lhs
        11: aload 4 /* B */
            astore 10 /* rhs */
        start local 10 // org.bouncycastle.math.ec.ECFieldElement rhs
        12: .line 1372
            iload 7 /* ZIsOne */
            ifne 14
        13: .line 1374
            aload 10 /* rhs */
            aload 6 /* Z */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 10 /* rhs */
        14: .line 1376
      StackMap locals: org.bouncycastle.math.ec.ECPoint$AbstractF2m org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 9 /* lhs */
            aload 10 /* rhs */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 10 // org.bouncycastle.math.ec.ECFieldElement rhs
        end local 9 // org.bouncycastle.math.ec.ECFieldElement lhs
        end local 8 // org.bouncycastle.math.ec.ECFieldElement Y
        15: .line 1379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 8 /* L */
        start local 8 // org.bouncycastle.math.ec.ECFieldElement L
        16: aload 2 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 9 /* X2 */
        start local 9 // org.bouncycastle.math.ec.ECFieldElement X2
        17: .line 1381
            iload 7 /* ZIsOne */
            ifeq 21
        18: .line 1383
            aload 8 /* L */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 8 /* L */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 3 /* A */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 10 /* lhs */
        start local 10 // org.bouncycastle.math.ec.ECFieldElement lhs
        19: .line 1384
            aload 9 /* X2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 4 /* B */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 11 /* rhs */
        start local 11 // org.bouncycastle.math.ec.ECFieldElement rhs
        20: .line 1385
            goto 25
        end local 11 // org.bouncycastle.math.ec.ECFieldElement rhs
        end local 10 // org.bouncycastle.math.ec.ECFieldElement lhs
        21: .line 1388
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 6 /* Z */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 12 /* Z2 */
        start local 12 // org.bouncycastle.math.ec.ECFieldElement Z2
        22: aload 12 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 13 /* Z4 */
        start local 13 // org.bouncycastle.math.ec.ECFieldElement Z4
        23: .line 1389
            aload 8 /* L */
            aload 6 /* Z */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 8 /* L */
            aload 3 /* A */
            aload 12 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiplyPlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 10 /* lhs */
        start local 10 // org.bouncycastle.math.ec.ECFieldElement lhs
        24: .line 1391
            aload 9 /* X2 */
            aload 4 /* B */
            aload 13 /* Z4 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.squarePlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 11 /* rhs */
        end local 13 // org.bouncycastle.math.ec.ECFieldElement Z4
        end local 12 // org.bouncycastle.math.ec.ECFieldElement Z2
        start local 11 // org.bouncycastle.math.ec.ECFieldElement rhs
        25: .line 1393
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 10 /* lhs */
            aload 9 /* X2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 10 /* lhs */
        26: .line 1394
            aload 10 /* lhs */
            aload 11 /* rhs */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 11 // org.bouncycastle.math.ec.ECFieldElement rhs
        end local 10 // org.bouncycastle.math.ec.ECFieldElement lhs
        end local 9 // org.bouncycastle.math.ec.ECFieldElement X2
        end local 8 // org.bouncycastle.math.ec.ECFieldElement L
        end local 7 // boolean ZIsOne
        end local 6 // org.bouncycastle.math.ec.ECFieldElement Z
        27: .line 1397
      StackMap locals: org.bouncycastle.math.ec.ECPoint$AbstractF2m org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 6 /* Y */
        start local 6 // org.bouncycastle.math.ec.ECFieldElement Y
        28: .line 1398
            aload 6 /* Y */
            aload 2 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 6 /* Y */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 7 /* lhs */
        start local 7 // org.bouncycastle.math.ec.ECFieldElement lhs
        29: .line 1400
            iload 5 /* coord */
            tableswitch { // 0 - 1
                    0: 30
                    1: 31
              default: 39
          }
        30: .line 1403
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            goto 40
        31: .line 1406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 8 /* Z */
        start local 8 // org.bouncycastle.math.ec.ECFieldElement Z
        32: .line 1407
            aload 8 /* Z */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
            ifne 40
        33: .line 1409
            aload 8 /* Z */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 9 /* Z2 */
        start local 9 // org.bouncycastle.math.ec.ECFieldElement Z2
        34: aload 8 /* Z */
            aload 9 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 10 /* Z3 */
        start local 10 // org.bouncycastle.math.ec.ECFieldElement Z3
        35: .line 1410
            aload 7 /* lhs */
            aload 8 /* Z */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 7 /* lhs */
        36: .line 1411
            aload 3 /* A */
            aload 8 /* Z */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 3 /* A */
        37: .line 1412
            aload 4 /* B */
            aload 10 /* Z3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* B */
        end local 10 // org.bouncycastle.math.ec.ECFieldElement Z3
        end local 9 // org.bouncycastle.math.ec.ECFieldElement Z2
        38: .line 1414
            goto 40
        end local 8 // org.bouncycastle.math.ec.ECFieldElement Z
        39: .line 1417
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "unsupported coordinate system"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 1420
      StackMap locals:
      StackMap stack:
            aload 2 /* X */
            aload 3 /* A */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 2 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 4 /* B */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 8 /* rhs */
        start local 8 // org.bouncycastle.math.ec.ECFieldElement rhs
        41: .line 1421
            aload 7 /* lhs */
            aload 8 /* rhs */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 8 // org.bouncycastle.math.ec.ECFieldElement rhs
        end local 7 // org.bouncycastle.math.ec.ECFieldElement lhs
        end local 6 // org.bouncycastle.math.ec.ECFieldElement Y
        end local 5 // int coord
        end local 4 // org.bouncycastle.math.ec.ECFieldElement B
        end local 3 // org.bouncycastle.math.ec.ECFieldElement A
        end local 2 // org.bouncycastle.math.ec.ECFieldElement X
        end local 1 // org.bouncycastle.math.ec.ECCurve curve
        end local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   42     0    this  Lorg/bouncycastle/math/ec/ECPoint$AbstractF2m;
            1   42     1   curve  Lorg/bouncycastle/math/ec/ECCurve;
            2   42     2       X  Lorg/bouncycastle/math/ec/ECFieldElement;
            3   42     3       A  Lorg/bouncycastle/math/ec/ECFieldElement;
            4   42     4       B  Lorg/bouncycastle/math/ec/ECFieldElement;
            5   42     5   coord  I
            7   27     6       Z  Lorg/bouncycastle/math/ec/ECFieldElement;
            8   27     7  ZIsOne  Z
           10   15     8       Y  Lorg/bouncycastle/math/ec/ECFieldElement;
           11   15     9     lhs  Lorg/bouncycastle/math/ec/ECFieldElement;
           12   15    10     rhs  Lorg/bouncycastle/math/ec/ECFieldElement;
           16   27     8       L  Lorg/bouncycastle/math/ec/ECFieldElement;
           17   27     9      X2  Lorg/bouncycastle/math/ec/ECFieldElement;
           19   21    10     lhs  Lorg/bouncycastle/math/ec/ECFieldElement;
           24   27    10     lhs  Lorg/bouncycastle/math/ec/ECFieldElement;
           20   21    11     rhs  Lorg/bouncycastle/math/ec/ECFieldElement;
           25   27    11     rhs  Lorg/bouncycastle/math/ec/ECFieldElement;
           22   25    12      Z2  Lorg/bouncycastle/math/ec/ECFieldElement;
           23   25    13      Z4  Lorg/bouncycastle/math/ec/ECFieldElement;
           28   42     6       Y  Lorg/bouncycastle/math/ec/ECFieldElement;
           29   42     7     lhs  Lorg/bouncycastle/math/ec/ECFieldElement;
           32   39     8       Z  Lorg/bouncycastle/math/ec/ECFieldElement;
           34   38     9      Z2  Lorg/bouncycastle/math/ec/ECFieldElement;
           35   38    10      Z3  Lorg/bouncycastle/math/ec/ECFieldElement;
           41   42     8     rhs  Lorg/bouncycastle/math/ec/ECFieldElement;

  protected boolean satisfiesOrder();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
         0: .line 1426
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
            invokevirtual org.bouncycastle.math.ec.ECCurve.getCofactor:()Ljava/math/BigInteger;
            astore 1 /* cofactor */
        start local 1 // java.math.BigInteger cofactor
         1: .line 1427
            getstatic org.bouncycastle.math.ec.ECConstants.TWO:Ljava/math/BigInteger;
            aload 1 /* cofactor */
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 7
         2: .line 1433
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.normalize:()Lorg/bouncycastle/math/ec/ECPoint;
            astore 2 /* N */
        start local 2 // org.bouncycastle.math.ec.ECPoint N
         3: .line 1434
            aload 2 /* N */
            invokevirtual org.bouncycastle.math.ec.ECPoint.getAffineXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 3 /* X */
        start local 3 // org.bouncycastle.math.ec.ECFieldElement X
         4: .line 1435
            aload 3 /* X */
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* rhs */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement rhs
         5: .line 1436
            aload 4 /* rhs */
            checkcast org.bouncycastle.math.ec.ECFieldElement$AbstractF2m
            invokevirtual org.bouncycastle.math.ec.ECFieldElement$AbstractF2m.trace:()I
            ifne 6
            iconst_1
            ireturn
      StackMap locals: org.bouncycastle.math.ec.ECPoint$AbstractF2m java.math.BigInteger org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
         6: iconst_0
            ireturn
        end local 4 // org.bouncycastle.math.ec.ECFieldElement rhs
        end local 3 // org.bouncycastle.math.ec.ECFieldElement X
        end local 2 // org.bouncycastle.math.ec.ECPoint N
         7: .line 1438
      StackMap locals:
      StackMap stack:
            getstatic org.bouncycastle.math.ec.ECConstants.FOUR:Ljava/math/BigInteger;
            aload 1 /* cofactor */
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 19
         8: .line 1448
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.normalize:()Lorg/bouncycastle/math/ec/ECPoint;
            astore 2 /* N */
        start local 2 // org.bouncycastle.math.ec.ECPoint N
         9: .line 1449
            aload 2 /* N */
            invokevirtual org.bouncycastle.math.ec.ECPoint.getAffineXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 3 /* X */
        start local 3 // org.bouncycastle.math.ec.ECFieldElement X
        10: .line 1450
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
            checkcast org.bouncycastle.math.ec.ECCurve$AbstractF2m
            aload 3 /* X */
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECCurve$AbstractF2m.solveQuadraticEquation:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* lambda */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement lambda
        11: .line 1451
            aload 4 /* lambda */
            ifnonnull 13
        12: .line 1453
            iconst_0
            ireturn
        13: .line 1455
      StackMap locals: org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 3 /* X */
            aload 4 /* lambda */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 2 /* N */
            invokevirtual org.bouncycastle.math.ec.ECPoint.getAffineYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 5 /* w */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement w
        14: .line 1456
            aload 5 /* w */
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 6 /* t */
        start local 6 // org.bouncycastle.math.ec.ECFieldElement t
        15: .line 1457
            aload 6 /* t */
            checkcast org.bouncycastle.math.ec.ECFieldElement$AbstractF2m
            invokevirtual org.bouncycastle.math.ec.ECFieldElement$AbstractF2m.trace:()I
            ifeq 18
        16: .line 1458
            aload 6 /* t */
            aload 3 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            checkcast org.bouncycastle.math.ec.ECFieldElement$AbstractF2m
            invokevirtual org.bouncycastle.math.ec.ECFieldElement$AbstractF2m.trace:()I
            ifeq 18
        17: .line 1457
            iconst_0
            ireturn
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
        18: iconst_1
            ireturn
        end local 6 // org.bouncycastle.math.ec.ECFieldElement t
        end local 5 // org.bouncycastle.math.ec.ECFieldElement w
        end local 4 // org.bouncycastle.math.ec.ECFieldElement lambda
        end local 3 // org.bouncycastle.math.ec.ECFieldElement X
        end local 2 // org.bouncycastle.math.ec.ECPoint N
        19: .line 1461
      StackMap locals: org.bouncycastle.math.ec.ECPoint$AbstractF2m java.math.BigInteger
      StackMap stack:
            aload 0 /* this */
            invokespecial org.bouncycastle.math.ec.ECPoint.satisfiesOrder:()Z
            ireturn
        end local 1 // java.math.BigInteger cofactor
        end local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lorg/bouncycastle/math/ec/ECPoint$AbstractF2m;
            1   20     1  cofactor  Ljava/math/BigInteger;
            3    7     2         N  Lorg/bouncycastle/math/ec/ECPoint;
            4    7     3         X  Lorg/bouncycastle/math/ec/ECFieldElement;
            5    7     4       rhs  Lorg/bouncycastle/math/ec/ECFieldElement;
            9   19     2         N  Lorg/bouncycastle/math/ec/ECPoint;
           10   19     3         X  Lorg/bouncycastle/math/ec/ECFieldElement;
           11   19     4    lambda  Lorg/bouncycastle/math/ec/ECFieldElement;
           14   19     5         w  Lorg/bouncycastle/math/ec/ECFieldElement;
           15   19     6         t  Lorg/bouncycastle/math/ec/ECFieldElement;

  public org.bouncycastle.math.ec.ECPoint scaleX(org.bouncycastle.math.ec.ECFieldElement);
    descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
        start local 1 // org.bouncycastle.math.ec.ECFieldElement scale
         0: .line 1466
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.isInfinity:()Z
            ifeq 2
         1: .line 1468
            aload 0 /* this */
            areturn
         2: .line 1471
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getCurveCoordinateSystem:()I
            istore 2 /* coord */
        start local 2 // int coord
         3: .line 1473
            iload 2 /* coord */
            tableswitch { // 5 - 6
                    5: 4
                    6: 9
              default: 16
          }
         4: .line 1478
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 3 /* X */
        start local 3 // org.bouncycastle.math.ec.ECFieldElement X
         5: aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* L */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement L
         6: .line 1480
            aload 3 /* X */
            aload 1 /* scale */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 5 /* X2 */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement X2
         7: .line 1481
            aload 4 /* L */
            aload 3 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 1 /* scale */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 5 /* X2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 6 /* L2 */
        start local 6 // org.bouncycastle.math.ec.ECFieldElement L2
         8: .line 1483
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
            aload 3 /* X */
            aload 6 /* L2 */
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getRawZCoords:()[Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.withCompression:Z
            invokevirtual org.bouncycastle.math.ec.ECCurve.createRawPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        end local 6 // org.bouncycastle.math.ec.ECFieldElement L2
        end local 5 // org.bouncycastle.math.ec.ECFieldElement X2
        end local 4 // org.bouncycastle.math.ec.ECFieldElement L
        end local 3 // org.bouncycastle.math.ec.ECFieldElement X
         9: .line 1488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 3 /* X */
        start local 3 // org.bouncycastle.math.ec.ECFieldElement X
        10: aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* L */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement L
        11: aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getRawZCoords:()[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 5 /* Z */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement Z
        12: .line 1491
            aload 3 /* X */
            aload 1 /* scale */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 6 /* X2 */
        start local 6 // org.bouncycastle.math.ec.ECFieldElement X2
        13: .line 1492
            aload 4 /* L */
            aload 3 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 6 /* X2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 7 /* L2 */
        start local 7 // org.bouncycastle.math.ec.ECFieldElement L2
        14: .line 1493
            aload 5 /* Z */
            aload 1 /* scale */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 8 /* Z2 */
        start local 8 // org.bouncycastle.math.ec.ECFieldElement Z2
        15: .line 1495
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
            aload 6 /* X2 */
            aload 7 /* L2 */
            iconst_1
            anewarray org.bouncycastle.math.ec.ECFieldElement
            dup
            iconst_0
            aload 8 /* Z2 */
            aastore
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.withCompression:Z
            invokevirtual org.bouncycastle.math.ec.ECCurve.createRawPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        end local 8 // org.bouncycastle.math.ec.ECFieldElement Z2
        end local 7 // org.bouncycastle.math.ec.ECFieldElement L2
        end local 6 // org.bouncycastle.math.ec.ECFieldElement X2
        end local 5 // org.bouncycastle.math.ec.ECFieldElement Z
        end local 4 // org.bouncycastle.math.ec.ECFieldElement L
        end local 3 // org.bouncycastle.math.ec.ECFieldElement X
        16: .line 1499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scale */
            invokespecial org.bouncycastle.math.ec.ECPoint.scaleX:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        end local 2 // int coord
        end local 1 // org.bouncycastle.math.ec.ECFieldElement scale
        end local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Lorg/bouncycastle/math/ec/ECPoint$AbstractF2m;
            0   17     1  scale  Lorg/bouncycastle/math/ec/ECFieldElement;
            3   17     2  coord  I
            5    9     3      X  Lorg/bouncycastle/math/ec/ECFieldElement;
            6    9     4      L  Lorg/bouncycastle/math/ec/ECFieldElement;
            7    9     5     X2  Lorg/bouncycastle/math/ec/ECFieldElement;
            8    9     6     L2  Lorg/bouncycastle/math/ec/ECFieldElement;
           10   16     3      X  Lorg/bouncycastle/math/ec/ECFieldElement;
           11   16     4      L  Lorg/bouncycastle/math/ec/ECFieldElement;
           12   16     5      Z  Lorg/bouncycastle/math/ec/ECFieldElement;
           13   16     6     X2  Lorg/bouncycastle/math/ec/ECFieldElement;
           14   16     7     L2  Lorg/bouncycastle/math/ec/ECFieldElement;
           15   16     8     Z2  Lorg/bouncycastle/math/ec/ECFieldElement;
    MethodParameters:
       Name  Flags
      scale  

  public org.bouncycastle.math.ec.ECPoint scaleY(org.bouncycastle.math.ec.ECFieldElement);
    descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
        start local 1 // org.bouncycastle.math.ec.ECFieldElement scale
         0: .line 1506
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.isInfinity:()Z
            ifeq 2
         1: .line 1508
            aload 0 /* this */
            areturn
         2: .line 1511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getCurveCoordinateSystem:()I
            istore 2 /* coord */
        start local 2 // int coord
         3: .line 1513
            iload 2 /* coord */
            tableswitch { // 5 - 6
                    5: 4
                    6: 4
              default: 8
          }
         4: .line 1518
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 3 /* X */
        start local 3 // org.bouncycastle.math.ec.ECFieldElement X
         5: aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* L */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement L
         6: .line 1521
            aload 4 /* L */
            aload 3 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 1 /* scale */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 3 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 5 /* L2 */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement L2
         7: .line 1523
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
            aload 3 /* X */
            aload 5 /* L2 */
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getRawZCoords:()[Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.withCompression:Z
            invokevirtual org.bouncycastle.math.ec.ECCurve.createRawPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        end local 5 // org.bouncycastle.math.ec.ECFieldElement L2
        end local 4 // org.bouncycastle.math.ec.ECFieldElement L
        end local 3 // org.bouncycastle.math.ec.ECFieldElement X
         8: .line 1527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scale */
            invokespecial org.bouncycastle.math.ec.ECPoint.scaleY:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        end local 2 // int coord
        end local 1 // org.bouncycastle.math.ec.ECFieldElement scale
        end local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/bouncycastle/math/ec/ECPoint$AbstractF2m;
            0    9     1  scale  Lorg/bouncycastle/math/ec/ECFieldElement;
            3    9     2  coord  I
            5    8     3      X  Lorg/bouncycastle/math/ec/ECFieldElement;
            6    8     4      L  Lorg/bouncycastle/math/ec/ECFieldElement;
            7    8     5     L2  Lorg/bouncycastle/math/ec/ECFieldElement;
    MethodParameters:
       Name  Flags
      scale  

  public org.bouncycastle.math.ec.ECPoint subtract(org.bouncycastle.math.ec.ECPoint);
    descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
        start local 1 // org.bouncycastle.math.ec.ECPoint b
         0: .line 1534
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
            ifeq 2
         1: .line 1536
            aload 0 /* this */
            areturn
         2: .line 1540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.ECPoint.negate:()Lorg/bouncycastle/math/ec/ECPoint;
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        end local 1 // org.bouncycastle.math.ec.ECPoint b
        end local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/math/ec/ECPoint$AbstractF2m;
            0    3     1     b  Lorg/bouncycastle/math/ec/ECPoint;
    MethodParameters:
      Name  Flags
      b     

  public org.bouncycastle.math.ec.ECPoint$AbstractF2m tau();
    descriptor: ()Lorg/bouncycastle/math/ec/ECPoint$AbstractF2m;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
         0: .line 1545
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.isInfinity:()Z
            ifeq 2
         1: .line 1547
            aload 0 /* this */
            areturn
         2: .line 1550
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
            astore 1 /* curve */
        start local 1 // org.bouncycastle.math.ec.ECCurve curve
         3: .line 1551
            aload 1 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
            istore 2 /* coord */
        start local 2 // int coord
         4: .line 1553
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 3 /* X1 */
        start local 3 // org.bouncycastle.math.ec.ECFieldElement X1
         5: .line 1555
            iload 2 /* coord */
            tableswitch { // 0 - 6
                    0: 6
                    1: 8
                    2: 13
                    3: 13
                    4: 13
                    5: 6
                    6: 8
              default: 13
          }
         6: .line 1560
      StackMap locals: org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* Y1 */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement Y1
         7: .line 1561
            aload 1 /* curve */
            aload 3 /* X1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 4 /* Y1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.withCompression:Z
            invokevirtual org.bouncycastle.math.ec.ECCurve.createRawPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
            checkcast org.bouncycastle.math.ec.ECPoint$AbstractF2m
            areturn
        end local 4 // org.bouncycastle.math.ec.ECFieldElement Y1
         8: .line 1566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* Y1 */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement Y1
         9: aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 5 /* Z1 */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement Z1
        10: .line 1567
            aload 1 /* curve */
            aload 3 /* X1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 4 /* Y1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
        11: .line 1568
            iconst_1
            anewarray org.bouncycastle.math.ec.ECFieldElement
            dup
            iconst_0
            aload 5 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aastore
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.withCompression:Z
        12: .line 1567
            invokevirtual org.bouncycastle.math.ec.ECCurve.createRawPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
            checkcast org.bouncycastle.math.ec.ECPoint$AbstractF2m
            areturn
        end local 5 // org.bouncycastle.math.ec.ECFieldElement Z1
        end local 4 // org.bouncycastle.math.ec.ECFieldElement Y1
        13: .line 1572
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "unsupported coordinate system"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // org.bouncycastle.math.ec.ECFieldElement X1
        end local 2 // int coord
        end local 1 // org.bouncycastle.math.ec.ECCurve curve
        end local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lorg/bouncycastle/math/ec/ECPoint$AbstractF2m;
            3   14     1  curve  Lorg/bouncycastle/math/ec/ECCurve;
            4   14     2  coord  I
            5   14     3     X1  Lorg/bouncycastle/math/ec/ECFieldElement;
            7    8     4     Y1  Lorg/bouncycastle/math/ec/ECFieldElement;
            9   13     4     Y1  Lorg/bouncycastle/math/ec/ECFieldElement;
           10   13     5     Z1  Lorg/bouncycastle/math/ec/ECFieldElement;

  public org.bouncycastle.math.ec.ECPoint$AbstractF2m tauPow(int);
    descriptor: (I)Lorg/bouncycastle/math/ec/ECPoint$AbstractF2m;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=2
        start local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
        start local 1 // int pow
         0: .line 1579
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.isInfinity:()Z
            ifeq 2
         1: .line 1581
            aload 0 /* this */
            areturn
         2: .line 1584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$AbstractF2m.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
            astore 2 /* curve */
        start local 2 // org.bouncycastle.math.ec.ECCurve curve
         3: .line 1585
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
            istore 3 /* coord */
        start local 3 // int coord
         4: .line 1587
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* X1 */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement X1
         5: .line 1589
            iload 3 /* coord */
            tableswitch { // 0 - 6
                    0: 6
                    1: 8
                    2: 13
                    3: 13
                    4: 13
                    5: 6
                    6: 8
              default: 13
          }
         6: .line 1594
      StackMap locals: org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 5 /* Y1 */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement Y1
         7: .line 1595
            aload 2 /* curve */
            aload 4 /* X1 */
            iload 1 /* pow */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.squarePow:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 5 /* Y1 */
            iload 1 /* pow */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.squarePow:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.withCompression:Z
            invokevirtual org.bouncycastle.math.ec.ECCurve.createRawPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
            checkcast org.bouncycastle.math.ec.ECPoint$AbstractF2m
            areturn
        end local 5 // org.bouncycastle.math.ec.ECFieldElement Y1
         8: .line 1600
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 5 /* Y1 */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement Y1
         9: aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 6 /* Z1 */
        start local 6 // org.bouncycastle.math.ec.ECFieldElement Z1
        10: .line 1601
            aload 2 /* curve */
            aload 4 /* X1 */
            iload 1 /* pow */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.squarePow:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 5 /* Y1 */
            iload 1 /* pow */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.squarePow:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
        11: .line 1602
            iconst_1
            anewarray org.bouncycastle.math.ec.ECFieldElement
            dup
            iconst_0
            aload 6 /* Z1 */
            iload 1 /* pow */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.squarePow:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
            aastore
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$AbstractF2m.withCompression:Z
        12: .line 1601
            invokevirtual org.bouncycastle.math.ec.ECCurve.createRawPoint:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
            checkcast org.bouncycastle.math.ec.ECPoint$AbstractF2m
            areturn
        end local 6 // org.bouncycastle.math.ec.ECFieldElement Z1
        end local 5 // org.bouncycastle.math.ec.ECFieldElement Y1
        13: .line 1606
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "unsupported coordinate system"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.bouncycastle.math.ec.ECFieldElement X1
        end local 3 // int coord
        end local 2 // org.bouncycastle.math.ec.ECCurve curve
        end local 1 // int pow
        end local 0 // org.bouncycastle.math.ec.ECPoint$AbstractF2m this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lorg/bouncycastle/math/ec/ECPoint$AbstractF2m;
            0   14     1    pow  I
            3   14     2  curve  Lorg/bouncycastle/math/ec/ECCurve;
            4   14     3  coord  I
            5   14     4     X1  Lorg/bouncycastle/math/ec/ECFieldElement;
            7    8     5     Y1  Lorg/bouncycastle/math/ec/ECFieldElement;
            9   13     5     Y1  Lorg/bouncycastle/math/ec/ECFieldElement;
           10   13     6     Z1  Lorg/bouncycastle/math/ec/ECFieldElement;
    MethodParameters:
      Name  Flags
      pow   
}
SourceFile: "ECPoint.java"
NestHost: org.bouncycastle.math.ec.ECPoint
InnerClasses:
  public abstract AbstractF2m = org.bouncycastle.math.ec.ECCurve$AbstractF2m of org.bouncycastle.math.ec.ECCurve
  public abstract AbstractF2m = org.bouncycastle.math.ec.ECFieldElement$AbstractF2m of org.bouncycastle.math.ec.ECFieldElement
  public abstract AbstractF2m = org.bouncycastle.math.ec.ECPoint$AbstractF2m of org.bouncycastle.math.ec.ECPoint