public class org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC extends org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC
  super_class: org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator
{
  org.bouncycastle.crypto.params.ECKeyGenerationParameters param;
    descriptor: Lorg/bouncycastle/crypto/params/ECKeyGenerationParameters;
    flags: (0x0000) 

  org.bouncycastle.crypto.generators.ECKeyPairGenerator engine;
    descriptor: Lorg/bouncycastle/crypto/generators/ECKeyPairGenerator;
    flags: (0x0000) 

  java.lang.Object ecParams;
    descriptor: Ljava/lang/Object;
    flags: (0x0000) 

  int strength;
    descriptor: I
    flags: (0x0000) 

  int certainty;
    descriptor: I
    flags: (0x0000) 

  java.security.SecureRandom random;
    descriptor: Ljava/security/SecureRandom;
    flags: (0x0000) 

  boolean initialised;
    descriptor: Z
    flags: (0x0000) 

  java.lang.String algorithm;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  private static java.util.Hashtable ecParameters;
    descriptor: Ljava/util/Hashtable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 57
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putstatic org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParameters:Ljava/util/Hashtable;
         1: .line 59
            getstatic org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParameters:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            sipush 192
            invokespecial java.lang.Integer.<init>:(I)V
            new java.security.spec.ECGenParameterSpec
            dup
            ldc "prime192v1"
            invokespecial java.security.spec.ECGenParameterSpec.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 60
            getstatic org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParameters:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            sipush 239
            invokespecial java.lang.Integer.<init>:(I)V
            new java.security.spec.ECGenParameterSpec
            dup
            ldc "prime239v1"
            invokespecial java.security.spec.ECGenParameterSpec.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 61
            getstatic org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParameters:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            sipush 256
            invokespecial java.lang.Integer.<init>:(I)V
            new java.security.spec.ECGenParameterSpec
            dup
            ldc "prime256v1"
            invokespecial java.security.spec.ECGenParameterSpec.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 63
            getstatic org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParameters:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            sipush 224
            invokespecial java.lang.Integer.<init>:(I)V
            new java.security.spec.ECGenParameterSpec
            dup
            ldc "P-224"
            invokespecial java.security.spec.ECGenParameterSpec.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 64
            getstatic org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParameters:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            sipush 384
            invokespecial java.lang.Integer.<init>:(I)V
            new java.security.spec.ECGenParameterSpec
            dup
            ldc "P-384"
            invokespecial java.security.spec.ECGenParameterSpec.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 65
            getstatic org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParameters:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            sipush 521
            invokespecial java.lang.Integer.<init>:(I)V
            new java.security.spec.ECGenParameterSpec
            dup
            ldc "P-521"
            invokespecial java.security.spec.ECGenParameterSpec.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 66
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC this
         0: .line 70
            aload 0 /* this */
            ldc "EC"
            invokespecial org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator.<init>:(Ljava/lang/String;)V
         1: .line 46
            aload 0 /* this */
            new org.bouncycastle.crypto.generators.ECKeyPairGenerator
            dup
            invokespecial org.bouncycastle.crypto.generators.ECKeyPairGenerator.<init>:()V
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.engine:Lorg/bouncycastle/crypto/generators/ECKeyPairGenerator;
         2: .line 47
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
         3: .line 48
            aload 0 /* this */
            sipush 239
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.strength:I
         4: .line 49
            aload 0 /* this */
            bipush 50
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.certainty:I
         5: .line 50
            aload 0 /* this */
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.random:Ljava/security/SecureRandom;
         6: .line 51
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.initialised:Z
         7: .line 71
            aload 0 /* this */
            ldc "EC"
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.algorithm:Ljava/lang/String;
         8: .line 72
            return
        end local 0 // org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/bouncycastle/jce/provider/asymmetric/ec/KeyPairGenerator$EC;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC this
        start local 1 // java.lang.String algorithm
         0: .line 77
            aload 0 /* this */
            aload 1 /* algorithm */
            invokespecial org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator.<init>:(Ljava/lang/String;)V
         1: .line 46
            aload 0 /* this */
            new org.bouncycastle.crypto.generators.ECKeyPairGenerator
            dup
            invokespecial org.bouncycastle.crypto.generators.ECKeyPairGenerator.<init>:()V
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.engine:Lorg/bouncycastle/crypto/generators/ECKeyPairGenerator;
         2: .line 47
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
         3: .line 48
            aload 0 /* this */
            sipush 239
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.strength:I
         4: .line 49
            aload 0 /* this */
            bipush 50
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.certainty:I
         5: .line 50
            aload 0 /* this */
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.random:Ljava/security/SecureRandom;
         6: .line 51
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.initialised:Z
         7: .line 78
            aload 0 /* this */
            aload 1 /* algorithm */
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.algorithm:Ljava/lang/String;
         8: .line 79
            return
        end local 1 // java.lang.String algorithm
        end local 0 // org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/bouncycastle/jce/provider/asymmetric/ec/KeyPairGenerator$EC;
            0    9     1  algorithm  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      algorithm  

  public void initialize(int, java.security.SecureRandom);
    descriptor: (ILjava/security/SecureRandom;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC this
        start local 1 // int strength
        start local 2 // java.security.SecureRandom random
         0: .line 85
            aload 0 /* this */
            iload 1 /* strength */
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.strength:I
         1: .line 86
            aload 0 /* this */
            aload 2 /* random */
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.random:Ljava/security/SecureRandom;
         2: .line 87
            aload 0 /* this */
            getstatic org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParameters:Ljava/util/Hashtable;
            new java.lang.Integer
            dup
            iload 1 /* strength */
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
         3: .line 89
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
            ifnull 8
         4: .line 93
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
            checkcast java.security.spec.ECGenParameterSpec
            aload 2 /* random */
            invokevirtual org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.initialize:(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
         5: .line 94
            goto 9
         6: .line 95
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            pop
         7: .line 97
            new java.security.InvalidParameterException
            dup
            ldc "key size not configurable."
            invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 102
      StackMap locals:
      StackMap stack:
            new java.security.InvalidParameterException
            dup
            ldc "unknown key size."
            invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 104
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.SecureRandom random
        end local 1 // int strength
        end local 0 // org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/bouncycastle/jce/provider/asymmetric/ec/KeyPairGenerator$EC;
            0   10     1  strength  I
            0   10     2    random  Ljava/security/SecureRandom;
      Exception table:
        from    to  target  type
           4     5       6  Class java.security.InvalidAlgorithmParameterException
    MethodParameters:
          Name  Flags
      strength  
      random    

  public void initialize(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
    descriptor: (Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=3
        start local 0 // org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC this
        start local 1 // java.security.spec.AlgorithmParameterSpec params
        start local 2 // java.security.SecureRandom random
         0: .line 111
            aload 1 /* params */
            instanceof org.bouncycastle.jce.spec.ECParameterSpec
            ifeq 7
         1: .line 113
            aload 1 /* params */
            checkcast org.bouncycastle.jce.spec.ECParameterSpec
            astore 3 /* p */
        start local 3 // org.bouncycastle.jce.spec.ECParameterSpec p
         2: .line 114
            aload 0 /* this */
            aload 1 /* params */
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
         3: .line 116
            aload 0 /* this */
            new org.bouncycastle.crypto.params.ECKeyGenerationParameters
            dup
            new org.bouncycastle.crypto.params.ECDomainParameters
            dup
            aload 3 /* p */
            invokevirtual org.bouncycastle.jce.spec.ECParameterSpec.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
            aload 3 /* p */
            invokevirtual org.bouncycastle.jce.spec.ECParameterSpec.getG:()Lorg/bouncycastle/math/ec/ECPoint;
            aload 3 /* p */
            invokevirtual org.bouncycastle.jce.spec.ECParameterSpec.getN:()Ljava/math/BigInteger;
            invokespecial org.bouncycastle.crypto.params.ECDomainParameters.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;)V
            aload 2 /* random */
            invokespecial org.bouncycastle.crypto.params.ECKeyGenerationParameters.<init>:(Lorg/bouncycastle/crypto/params/ECDomainParameters;Ljava/security/SecureRandom;)V
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.param:Lorg/bouncycastle/crypto/params/ECKeyGenerationParameters;
         4: .line 118
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.engine:Lorg/bouncycastle/crypto/generators/ECKeyPairGenerator;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.param:Lorg/bouncycastle/crypto/params/ECKeyGenerationParameters;
            invokevirtual org.bouncycastle.crypto.generators.ECKeyPairGenerator.init:(Lorg/bouncycastle/crypto/KeyGenerationParameters;)V
         5: .line 119
            aload 0 /* this */
            iconst_1
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.initialised:Z
        end local 3 // org.bouncycastle.jce.spec.ECParameterSpec p
         6: .line 120
            goto 76
         7: .line 121
      StackMap locals:
      StackMap stack:
            aload 1 /* params */
            instanceof java.security.spec.ECParameterSpec
            ifeq 16
         8: .line 123
            aload 1 /* params */
            checkcast java.security.spec.ECParameterSpec
            astore 3 /* p */
        start local 3 // java.security.spec.ECParameterSpec p
         9: .line 124
            aload 0 /* this */
            aload 1 /* params */
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
        10: .line 126
            aload 3 /* p */
            invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
            invokestatic org.bouncycastle.jce.provider.asymmetric.ec.EC5Util.convertCurve:(Ljava/security/spec/EllipticCurve;)Lorg/bouncycastle/math/ec/ECCurve;
            astore 4 /* curve */
        start local 4 // org.bouncycastle.math.ec.ECCurve curve
        11: .line 127
            aload 4 /* curve */
            aload 3 /* p */
            invokevirtual java.security.spec.ECParameterSpec.getGenerator:()Ljava/security/spec/ECPoint;
            iconst_0
            invokestatic org.bouncycastle.jce.provider.asymmetric.ec.EC5Util.convertPoint:(Lorg/bouncycastle/math/ec/ECCurve;Ljava/security/spec/ECPoint;Z)Lorg/bouncycastle/math/ec/ECPoint;
            astore 5 /* g */
        start local 5 // org.bouncycastle.math.ec.ECPoint g
        12: .line 129
            aload 0 /* this */
            new org.bouncycastle.crypto.params.ECKeyGenerationParameters
            dup
            new org.bouncycastle.crypto.params.ECDomainParameters
            dup
            aload 4 /* curve */
            aload 5 /* g */
            aload 3 /* p */
            invokevirtual java.security.spec.ECParameterSpec.getOrder:()Ljava/math/BigInteger;
            aload 3 /* p */
            invokevirtual java.security.spec.ECParameterSpec.getCofactor:()I
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokespecial org.bouncycastle.crypto.params.ECDomainParameters.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
            aload 2 /* random */
            invokespecial org.bouncycastle.crypto.params.ECKeyGenerationParameters.<init>:(Lorg/bouncycastle/crypto/params/ECDomainParameters;Ljava/security/SecureRandom;)V
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.param:Lorg/bouncycastle/crypto/params/ECKeyGenerationParameters;
        13: .line 131
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.engine:Lorg/bouncycastle/crypto/generators/ECKeyPairGenerator;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.param:Lorg/bouncycastle/crypto/params/ECKeyGenerationParameters;
            invokevirtual org.bouncycastle.crypto.generators.ECKeyPairGenerator.init:(Lorg/bouncycastle/crypto/KeyGenerationParameters;)V
        14: .line 132
            aload 0 /* this */
            iconst_1
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.initialised:Z
        end local 5 // org.bouncycastle.math.ec.ECPoint g
        end local 4 // org.bouncycastle.math.ec.ECCurve curve
        end local 3 // java.security.spec.ECParameterSpec p
        15: .line 133
            goto 76
        16: .line 134
      StackMap locals:
      StackMap stack:
            aload 1 /* params */
            instanceof java.security.spec.ECGenParameterSpec
            ifeq 66
        17: .line 136
            aload 1 /* params */
            checkcast java.security.spec.ECGenParameterSpec
            invokevirtual java.security.spec.ECGenParameterSpec.getName:()Ljava/lang/String;
            astore 3 /* curveName */
        start local 3 // java.lang.String curveName
        18: .line 138
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.algorithm:Ljava/lang/String;
            ldc "ECGOST3410"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        19: .line 140
            aload 3 /* curveName */
            invokestatic org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves.getByName:(Ljava/lang/String;)Lorg/bouncycastle/crypto/params/ECDomainParameters;
            astore 4 /* ecP */
        start local 4 // org.bouncycastle.crypto.params.ECDomainParameters ecP
        20: .line 141
            aload 4 /* ecP */
            ifnonnull 22
        21: .line 143
            new java.security.InvalidAlgorithmParameterException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown curve name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* curveName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 146
      StackMap locals: java.lang.String org.bouncycastle.crypto.params.ECDomainParameters
      StackMap stack:
            aload 0 /* this */
            new org.bouncycastle.jce.spec.ECNamedCurveSpec
            dup
        23: .line 147
            aload 3 /* curveName */
        24: .line 148
            aload 4 /* ecP */
            invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
        25: .line 149
            aload 4 /* ecP */
            invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getG:()Lorg/bouncycastle/math/ec/ECPoint;
        26: .line 150
            aload 4 /* ecP */
            invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getN:()Ljava/math/BigInteger;
        27: .line 151
            aload 4 /* ecP */
            invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getH:()Ljava/math/BigInteger;
        28: .line 152
            aload 4 /* ecP */
            invokevirtual org.bouncycastle.crypto.params.ECDomainParameters.getSeed:()[B
            invokespecial org.bouncycastle.jce.spec.ECNamedCurveSpec.<init>:(Ljava/lang/String;Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;Ljava/math/BigInteger;[B)V
        29: .line 146
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
        end local 4 // org.bouncycastle.crypto.params.ECDomainParameters ecP
        30: .line 153
            goto 59
        31: .line 156
      StackMap locals:
      StackMap stack:
            aload 3 /* curveName */
            invokestatic org.bouncycastle.asn1.x9.X962NamedCurves.getByName:(Ljava/lang/String;)Lorg/bouncycastle/asn1/x9/X9ECParameters;
            astore 4 /* ecP */
        start local 4 // org.bouncycastle.asn1.x9.X9ECParameters ecP
        32: .line 157
            aload 4 /* ecP */
            ifnonnull 51
        33: .line 159
            aload 3 /* curveName */
            invokestatic org.bouncycastle.asn1.sec.SECNamedCurves.getByName:(Ljava/lang/String;)Lorg/bouncycastle/asn1/x9/X9ECParameters;
            astore 4 /* ecP */
        34: .line 160
            aload 4 /* ecP */
            ifnonnull 36
        35: .line 162
            aload 3 /* curveName */
            invokestatic org.bouncycastle.asn1.nist.NISTNamedCurves.getByName:(Ljava/lang/String;)Lorg/bouncycastle/asn1/x9/X9ECParameters;
            astore 4 /* ecP */
        36: .line 164
      StackMap locals: org.bouncycastle.asn1.x9.X9ECParameters
      StackMap stack:
            aload 4 /* ecP */
            ifnonnull 38
        37: .line 166
            aload 3 /* curveName */
            invokestatic org.bouncycastle.asn1.teletrust.TeleTrusTNamedCurves.getByName:(Ljava/lang/String;)Lorg/bouncycastle/asn1/x9/X9ECParameters;
            astore 4 /* ecP */
        38: .line 168
      StackMap locals:
      StackMap stack:
            aload 4 /* ecP */
            ifnonnull 51
        39: .line 173
            new org.bouncycastle.asn1.DERObjectIdentifier
            dup
            aload 3 /* curveName */
            invokespecial org.bouncycastle.asn1.DERObjectIdentifier.<init>:(Ljava/lang/String;)V
            astore 5 /* oid */
        start local 5 // org.bouncycastle.asn1.DERObjectIdentifier oid
        40: .line 174
            aload 5 /* oid */
            invokestatic org.bouncycastle.asn1.x9.X962NamedCurves.getByOID:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/x9/X9ECParameters;
            astore 4 /* ecP */
        41: .line 175
            aload 4 /* ecP */
            ifnonnull 43
        42: .line 177
            aload 5 /* oid */
            invokestatic org.bouncycastle.asn1.sec.SECNamedCurves.getByOID:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/x9/X9ECParameters;
            astore 4 /* ecP */
        43: .line 179
      StackMap locals: org.bouncycastle.asn1.DERObjectIdentifier
      StackMap stack:
            aload 4 /* ecP */
            ifnonnull 45
        44: .line 181
            aload 5 /* oid */
            invokestatic org.bouncycastle.asn1.nist.NISTNamedCurves.getByOID:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/x9/X9ECParameters;
            astore 4 /* ecP */
        45: .line 183
      StackMap locals:
      StackMap stack:
            aload 4 /* ecP */
            ifnonnull 47
        46: .line 185
            aload 5 /* oid */
            invokestatic org.bouncycastle.asn1.teletrust.TeleTrusTNamedCurves.getByOID:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Lorg/bouncycastle/asn1/x9/X9ECParameters;
            astore 4 /* ecP */
        47: .line 187
      StackMap locals:
      StackMap stack:
            aload 4 /* ecP */
            ifnonnull 51
        48: .line 189
            new java.security.InvalidAlgorithmParameterException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown curve OID: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* curveName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // org.bouncycastle.asn1.DERObjectIdentifier oid
        49: .line 192
      StackMap locals: org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC java.security.spec.AlgorithmParameterSpec java.security.SecureRandom java.lang.String org.bouncycastle.asn1.x9.X9ECParameters
      StackMap stack: java.lang.IllegalArgumentException
            pop
        50: .line 194
            new java.security.InvalidAlgorithmParameterException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown curve name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* curveName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
        51: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.bouncycastle.jce.spec.ECNamedCurveSpec
            dup
        52: .line 200
            aload 3 /* curveName */
        53: .line 201
            aload 4 /* ecP */
            invokevirtual org.bouncycastle.asn1.x9.X9ECParameters.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
        54: .line 202
            aload 4 /* ecP */
            invokevirtual org.bouncycastle.asn1.x9.X9ECParameters.getG:()Lorg/bouncycastle/math/ec/ECPoint;
        55: .line 203
            aload 4 /* ecP */
            invokevirtual org.bouncycastle.asn1.x9.X9ECParameters.getN:()Ljava/math/BigInteger;
        56: .line 204
            aload 4 /* ecP */
            invokevirtual org.bouncycastle.asn1.x9.X9ECParameters.getH:()Ljava/math/BigInteger;
        57: .line 205
            aconst_null
            invokespecial org.bouncycastle.jce.spec.ECNamedCurveSpec.<init>:(Ljava/lang/String;Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;Ljava/math/BigInteger;[B)V
        58: .line 199
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
        end local 4 // org.bouncycastle.asn1.x9.X9ECParameters ecP
        59: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
            checkcast java.security.spec.ECParameterSpec
            astore 4 /* p */
        start local 4 // java.security.spec.ECParameterSpec p
        60: .line 210
            aload 4 /* p */
            invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
            invokestatic org.bouncycastle.jce.provider.asymmetric.ec.EC5Util.convertCurve:(Ljava/security/spec/EllipticCurve;)Lorg/bouncycastle/math/ec/ECCurve;
            astore 5 /* curve */
        start local 5 // org.bouncycastle.math.ec.ECCurve curve
        61: .line 211
            aload 5 /* curve */
            aload 4 /* p */
            invokevirtual java.security.spec.ECParameterSpec.getGenerator:()Ljava/security/spec/ECPoint;
            iconst_0
            invokestatic org.bouncycastle.jce.provider.asymmetric.ec.EC5Util.convertPoint:(Lorg/bouncycastle/math/ec/ECCurve;Ljava/security/spec/ECPoint;Z)Lorg/bouncycastle/math/ec/ECPoint;
            astore 6 /* g */
        start local 6 // org.bouncycastle.math.ec.ECPoint g
        62: .line 213
            aload 0 /* this */
            new org.bouncycastle.crypto.params.ECKeyGenerationParameters
            dup
            new org.bouncycastle.crypto.params.ECDomainParameters
            dup
            aload 5 /* curve */
            aload 6 /* g */
            aload 4 /* p */
            invokevirtual java.security.spec.ECParameterSpec.getOrder:()Ljava/math/BigInteger;
            aload 4 /* p */
            invokevirtual java.security.spec.ECParameterSpec.getCofactor:()I
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokespecial org.bouncycastle.crypto.params.ECDomainParameters.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
            aload 2 /* random */
            invokespecial org.bouncycastle.crypto.params.ECKeyGenerationParameters.<init>:(Lorg/bouncycastle/crypto/params/ECDomainParameters;Ljava/security/SecureRandom;)V
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.param:Lorg/bouncycastle/crypto/params/ECKeyGenerationParameters;
        63: .line 215
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.engine:Lorg/bouncycastle/crypto/generators/ECKeyPairGenerator;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.param:Lorg/bouncycastle/crypto/params/ECKeyGenerationParameters;
            invokevirtual org.bouncycastle.crypto.generators.ECKeyPairGenerator.init:(Lorg/bouncycastle/crypto/KeyGenerationParameters;)V
        64: .line 216
            aload 0 /* this */
            iconst_1
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.initialised:Z
        end local 6 // org.bouncycastle.math.ec.ECPoint g
        end local 5 // org.bouncycastle.math.ec.ECCurve curve
        end local 4 // java.security.spec.ECParameterSpec p
        end local 3 // java.lang.String curveName
        65: .line 217
            goto 76
        66: .line 218
      StackMap locals:
      StackMap stack:
            aload 1 /* params */
            ifnonnull 73
            invokestatic org.bouncycastle.jce.provider.ProviderUtil.getEcImplicitlyCa:()Lorg/bouncycastle/jce/spec/ECParameterSpec;
            ifnull 73
        67: .line 220
            invokestatic org.bouncycastle.jce.provider.ProviderUtil.getEcImplicitlyCa:()Lorg/bouncycastle/jce/spec/ECParameterSpec;
            astore 3 /* p */
        start local 3 // org.bouncycastle.jce.spec.ECParameterSpec p
        68: .line 221
            aload 0 /* this */
            aload 1 /* params */
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
        69: .line 223
            aload 0 /* this */
            new org.bouncycastle.crypto.params.ECKeyGenerationParameters
            dup
            new org.bouncycastle.crypto.params.ECDomainParameters
            dup
            aload 3 /* p */
            invokevirtual org.bouncycastle.jce.spec.ECParameterSpec.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
            aload 3 /* p */
            invokevirtual org.bouncycastle.jce.spec.ECParameterSpec.getG:()Lorg/bouncycastle/math/ec/ECPoint;
            aload 3 /* p */
            invokevirtual org.bouncycastle.jce.spec.ECParameterSpec.getN:()Ljava/math/BigInteger;
            invokespecial org.bouncycastle.crypto.params.ECDomainParameters.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;)V
            aload 2 /* random */
            invokespecial org.bouncycastle.crypto.params.ECKeyGenerationParameters.<init>:(Lorg/bouncycastle/crypto/params/ECDomainParameters;Ljava/security/SecureRandom;)V
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.param:Lorg/bouncycastle/crypto/params/ECKeyGenerationParameters;
        70: .line 225
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.engine:Lorg/bouncycastle/crypto/generators/ECKeyPairGenerator;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.param:Lorg/bouncycastle/crypto/params/ECKeyGenerationParameters;
            invokevirtual org.bouncycastle.crypto.generators.ECKeyPairGenerator.init:(Lorg/bouncycastle/crypto/KeyGenerationParameters;)V
        71: .line 226
            aload 0 /* this */
            iconst_1
            putfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.initialised:Z
        end local 3 // org.bouncycastle.jce.spec.ECParameterSpec p
        72: .line 227
            goto 76
        73: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* params */
            ifnonnull 75
            invokestatic org.bouncycastle.jce.provider.ProviderUtil.getEcImplicitlyCa:()Lorg/bouncycastle/jce/spec/ECParameterSpec;
            ifnonnull 75
        74: .line 230
            new java.security.InvalidAlgorithmParameterException
            dup
            ldc "null parameter passed but no implicitCA set"
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
        75: .line 234
      StackMap locals:
      StackMap stack:
            new java.security.InvalidAlgorithmParameterException
            dup
            ldc "parameter object not a ECParameterSpec"
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
        76: .line 236
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.SecureRandom random
        end local 1 // java.security.spec.AlgorithmParameterSpec params
        end local 0 // org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   77     0       this  Lorg/bouncycastle/jce/provider/asymmetric/ec/KeyPairGenerator$EC;
            0   77     1     params  Ljava/security/spec/AlgorithmParameterSpec;
            0   77     2     random  Ljava/security/SecureRandom;
            2    6     3          p  Lorg/bouncycastle/jce/spec/ECParameterSpec;
            9   15     3          p  Ljava/security/spec/ECParameterSpec;
           11   15     4      curve  Lorg/bouncycastle/math/ec/ECCurve;
           12   15     5          g  Lorg/bouncycastle/math/ec/ECPoint;
           18   65     3  curveName  Ljava/lang/String;
           20   30     4        ecP  Lorg/bouncycastle/crypto/params/ECDomainParameters;
           32   59     4        ecP  Lorg/bouncycastle/asn1/x9/X9ECParameters;
           40   49     5        oid  Lorg/bouncycastle/asn1/DERObjectIdentifier;
           60   65     4          p  Ljava/security/spec/ECParameterSpec;
           61   65     5      curve  Lorg/bouncycastle/math/ec/ECCurve;
           62   65     6          g  Lorg/bouncycastle/math/ec/ECPoint;
           68   72     3          p  Lorg/bouncycastle/jce/spec/ECParameterSpec;
      Exception table:
        from    to  target  type
          39    49      49  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.security.InvalidAlgorithmParameterException
    MethodParameters:
        Name  Flags
      params  
      random  

  public java.security.KeyPair generateKeyPair();
    descriptor: ()Ljava/security/KeyPair;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=1
        start local 0 // org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC this
         0: .line 240
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.initialised:Z
            ifne 2
         1: .line 242
            new java.lang.IllegalStateException
            dup
            ldc "EC Key Pair Generator not initialised"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.engine:Lorg/bouncycastle/crypto/generators/ECKeyPairGenerator;
            invokevirtual org.bouncycastle.crypto.generators.ECKeyPairGenerator.generateKeyPair:()Lorg/bouncycastle/crypto/AsymmetricCipherKeyPair;
            astore 1 /* pair */
        start local 1 // org.bouncycastle.crypto.AsymmetricCipherKeyPair pair
         3: .line 246
            aload 1 /* pair */
            invokevirtual org.bouncycastle.crypto.AsymmetricCipherKeyPair.getPublic:()Lorg/bouncycastle/crypto/CipherParameters;
            checkcast org.bouncycastle.crypto.params.ECPublicKeyParameters
            astore 2 /* pub */
        start local 2 // org.bouncycastle.crypto.params.ECPublicKeyParameters pub
         4: .line 247
            aload 1 /* pair */
            invokevirtual org.bouncycastle.crypto.AsymmetricCipherKeyPair.getPrivate:()Lorg/bouncycastle/crypto/CipherParameters;
            checkcast org.bouncycastle.crypto.params.ECPrivateKeyParameters
            astore 3 /* priv */
        start local 3 // org.bouncycastle.crypto.params.ECPrivateKeyParameters priv
         5: .line 249
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
            instanceof org.bouncycastle.jce.spec.ECParameterSpec
            ifeq 11
         6: .line 251
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
            checkcast org.bouncycastle.jce.spec.ECParameterSpec
            astore 4 /* p */
        start local 4 // org.bouncycastle.jce.spec.ECParameterSpec p
         7: .line 253
            new org.bouncycastle.jce.provider.JCEECPublicKey
            dup
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.algorithm:Ljava/lang/String;
            aload 2 /* pub */
            aload 4 /* p */
            invokespecial org.bouncycastle.jce.provider.JCEECPublicKey.<init>:(Ljava/lang/String;Lorg/bouncycastle/crypto/params/ECPublicKeyParameters;Lorg/bouncycastle/jce/spec/ECParameterSpec;)V
            astore 5 /* pubKey */
        start local 5 // org.bouncycastle.jce.provider.JCEECPublicKey pubKey
         8: .line 254
            new java.security.KeyPair
            dup
            aload 5 /* pubKey */
         9: .line 255
            new org.bouncycastle.jce.provider.JCEECPrivateKey
            dup
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.algorithm:Ljava/lang/String;
            aload 3 /* priv */
            aload 5 /* pubKey */
            aload 4 /* p */
            invokespecial org.bouncycastle.jce.provider.JCEECPrivateKey.<init>:(Ljava/lang/String;Lorg/bouncycastle/crypto/params/ECPrivateKeyParameters;Lorg/bouncycastle/jce/provider/JCEECPublicKey;Lorg/bouncycastle/jce/spec/ECParameterSpec;)V
        10: .line 254
            invokespecial java.security.KeyPair.<init>:(Ljava/security/PublicKey;Ljava/security/PrivateKey;)V
            areturn
        end local 5 // org.bouncycastle.jce.provider.JCEECPublicKey pubKey
        end local 4 // org.bouncycastle.jce.spec.ECParameterSpec p
        11: .line 257
      StackMap locals: org.bouncycastle.crypto.AsymmetricCipherKeyPair org.bouncycastle.crypto.params.ECPublicKeyParameters org.bouncycastle.crypto.params.ECPrivateKeyParameters
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
            ifnonnull 15
        12: .line 259
            new java.security.KeyPair
            dup
            new org.bouncycastle.jce.provider.JCEECPublicKey
            dup
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.algorithm:Ljava/lang/String;
            aload 2 /* pub */
            invokespecial org.bouncycastle.jce.provider.JCEECPublicKey.<init>:(Ljava/lang/String;Lorg/bouncycastle/crypto/params/ECPublicKeyParameters;)V
        13: .line 260
            new org.bouncycastle.jce.provider.JCEECPrivateKey
            dup
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.algorithm:Ljava/lang/String;
            aload 3 /* priv */
            invokespecial org.bouncycastle.jce.provider.JCEECPrivateKey.<init>:(Ljava/lang/String;Lorg/bouncycastle/crypto/params/ECPrivateKeyParameters;)V
        14: .line 259
            invokespecial java.security.KeyPair.<init>:(Ljava/security/PublicKey;Ljava/security/PrivateKey;)V
            areturn
        15: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.ecParams:Ljava/lang/Object;
            checkcast java.security.spec.ECParameterSpec
            astore 4 /* p */
        start local 4 // java.security.spec.ECParameterSpec p
        16: .line 266
            new org.bouncycastle.jce.provider.JCEECPublicKey
            dup
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.algorithm:Ljava/lang/String;
            aload 2 /* pub */
            aload 4 /* p */
            invokespecial org.bouncycastle.jce.provider.JCEECPublicKey.<init>:(Ljava/lang/String;Lorg/bouncycastle/crypto/params/ECPublicKeyParameters;Ljava/security/spec/ECParameterSpec;)V
            astore 5 /* pubKey */
        start local 5 // org.bouncycastle.jce.provider.JCEECPublicKey pubKey
        17: .line 268
            new java.security.KeyPair
            dup
            aload 5 /* pubKey */
            new org.bouncycastle.jce.provider.JCEECPrivateKey
            dup
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC.algorithm:Ljava/lang/String;
            aload 3 /* priv */
            aload 5 /* pubKey */
            aload 4 /* p */
            invokespecial org.bouncycastle.jce.provider.JCEECPrivateKey.<init>:(Ljava/lang/String;Lorg/bouncycastle/crypto/params/ECPrivateKeyParameters;Lorg/bouncycastle/jce/provider/JCEECPublicKey;Ljava/security/spec/ECParameterSpec;)V
            invokespecial java.security.KeyPair.<init>:(Ljava/security/PublicKey;Ljava/security/PrivateKey;)V
            areturn
        end local 5 // org.bouncycastle.jce.provider.JCEECPublicKey pubKey
        end local 4 // java.security.spec.ECParameterSpec p
        end local 3 // org.bouncycastle.crypto.params.ECPrivateKeyParameters priv
        end local 2 // org.bouncycastle.crypto.params.ECPublicKeyParameters pub
        end local 1 // org.bouncycastle.crypto.AsymmetricCipherKeyPair pair
        end local 0 // org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lorg/bouncycastle/jce/provider/asymmetric/ec/KeyPairGenerator$EC;
            3   18     1    pair  Lorg/bouncycastle/crypto/AsymmetricCipherKeyPair;
            4   18     2     pub  Lorg/bouncycastle/crypto/params/ECPublicKeyParameters;
            5   18     3    priv  Lorg/bouncycastle/crypto/params/ECPrivateKeyParameters;
            7   11     4       p  Lorg/bouncycastle/jce/spec/ECParameterSpec;
            8   11     5  pubKey  Lorg/bouncycastle/jce/provider/JCEECPublicKey;
           16   18     4       p  Ljava/security/spec/ECParameterSpec;
           17   18     5  pubKey  Lorg/bouncycastle/jce/provider/JCEECPublicKey;
}
SourceFile: "KeyPairGenerator.java"
NestHost: org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator
InnerClasses:
  public EC = org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator$EC of org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator