final class sun.security.ssl.EllipticCurvesExtension extends sun.security.ssl.HelloExtension
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.EllipticCurvesExtension
  super_class: sun.security.ssl.HelloExtension
{
  private static final sun.security.ssl.Debug debug;
    descriptor: Lsun/security/ssl/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  private static final java.util.Map<java.lang.String, java.lang.Integer> oidToIdMap;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;

  private static final java.util.Map<java.lang.Integer, java.lang.String> idToOidMap;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/String;>;

  private static final java.util.Map<java.lang.Integer, java.security.AlgorithmParameters> idToParams;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/security/AlgorithmParameters;>;

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

  private final int[] curveIds;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=9, args_size=0
         0: .line 47
            ldc "ssl"
            invokestatic sun.security.ssl.Debug.getInstance:(Ljava/lang/String;)Lsun/security/ssl/Debug;
            putstatic sun.security.ssl.EllipticCurvesExtension.debug:Lsun/security/ssl/Debug;
         1: .line 53
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic sun.security.ssl.EllipticCurvesExtension.oidToIdMap:Ljava/util/Map;
         2: .line 54
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic sun.security.ssl.EllipticCurvesExtension.idToOidMap:Ljava/util/Map;
         3: .line 58
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic sun.security.ssl.EllipticCurvesExtension.idToParams:Ljava/util/Map;
         4: .line 126
            invokestatic sun.security.ssl.SunJSSE.isFIPS:()Z
            istore 0 /* requireFips */
        start local 0 // boolean requireFips
         5: .line 130
            ldc "secp256r1"
            iconst_0
            invokestatic sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve.getCurve:(Ljava/lang/String;Z)Lsun/security/ssl/EllipticCurvesExtension$NamedEllipticCurve;
            pop
         6: .line 140
            new sun.security.action.GetPropertyAction
            dup
            ldc "jdk.tls.namedGroups"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         7: .line 139
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* property */
        start local 1 // java.lang.String property
         8: .line 141
            aload 1 /* property */
            ifnull 12
            aload 1 /* property */
            invokevirtual java.lang.String.length:()I
            ifeq 12
         9: .line 143
            aload 1 /* property */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 12
            aload 1 /* property */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 34
            if_icmpne 12
        10: .line 144
            aload 1 /* property */
            aload 1 /* property */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 34
            if_icmpne 12
        11: .line 145
            aload 1 /* property */
            iconst_1
            aload 1 /* property */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* property */
        12: .line 150
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 1 /* property */
            ifnull 32
            aload 1 /* property */
            invokevirtual java.lang.String.length:()I
            ifeq 32
        13: .line 151
            aload 1 /* property */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* curves */
        start local 3 // java.lang.String[] curves
        14: .line 152
            new java.util.ArrayList
            dup
            aload 3 /* curves */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* idList */
        start local 2 // java.util.ArrayList idList
        15: .line 153
            aload 3 /* curves */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 25
      StackMap locals: int java.lang.String java.util.ArrayList java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        16: aload 7
            iload 5
            aaload
            astore 4 /* curve */
        start local 4 // java.lang.String curve
        17: .line 154
            aload 4 /* curve */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 4 /* curve */
        18: .line 155
            aload 4 /* curve */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 24
        19: .line 157
            aload 4 /* curve */
            iload 0 /* requireFips */
            invokestatic sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve.getCurve:(Ljava/lang/String;Z)Lsun/security/ssl/EllipticCurvesExtension$NamedEllipticCurve;
        20: .line 156
            astore 8 /* namedCurve */
        start local 8 // sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve namedCurve
        21: .line 158
            aload 8 /* namedCurve */
            ifnull 24
        22: .line 159
            aload 8 /* namedCurve */
            getfield sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve.id:I
            invokestatic sun.security.ssl.EllipticCurvesExtension.isAvailableCurve:(I)Z
            ifeq 24
        23: .line 160
            aload 2 /* idList */
            aload 8 /* namedCurve */
            getfield sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve.id:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve namedCurve
        end local 4 // java.lang.String curve
        24: .line 153
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        25: iload 5
            iload 6
            if_icmplt 16
        26: .line 165
            aload 2 /* idList */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifeq 42
            invokestatic sun.security.ssl.JsseJce.isEcAvailable:()Z
            ifeq 42
        27: .line 166
            new java.lang.IllegalArgumentException
            dup
        28: .line 167
            new java.lang.StringBuilder
            dup
            ldc "System property jdk.tls.namedGroups("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* property */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 168
            ldc "contains no supported elliptic curves"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 167
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 166
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String[] curves
        end local 2 // java.util.ArrayList idList
        32: .line 171
      StackMap locals: int java.lang.String
      StackMap stack:
            iconst_3
            newarray 10
            dup
            iconst_0
        33: .line 174
            bipush 23
            iastore
            dup
            iconst_1
            bipush 24
            iastore
            dup
            iconst_2
            bipush 25
            iastore
        34: .line 171
            astore 3 /* ids */
        start local 3 // int[] ids
        35: .line 177
            new java.util.ArrayList
            dup
            aload 3 /* ids */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* idList */
        start local 2 // java.util.ArrayList idList
        36: .line 178
            aload 3 /* ids */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 41
      StackMap locals: int java.lang.String java.util.ArrayList int[] top int int int[]
      StackMap stack:
        37: aload 7
            iload 5
            iaload
            istore 4 /* curveId */
        start local 4 // int curveId
        38: .line 179
            iload 4 /* curveId */
            invokestatic sun.security.ssl.EllipticCurvesExtension.isAvailableCurve:(I)Z
            ifeq 40
        39: .line 180
            aload 2 /* idList */
            iload 4 /* curveId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // int curveId
        40: .line 178
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        41: iload 5
            iload 6
            if_icmplt 37
        end local 3 // int[] ids
        42: .line 185
      StackMap locals: int java.lang.String java.util.ArrayList
      StackMap stack:
            getstatic sun.security.ssl.EllipticCurvesExtension.debug:Lsun/security/ssl/Debug;
            ifnull 50
            aload 2 /* idList */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifeq 50
        43: .line 186
            getstatic sun.security.ssl.EllipticCurvesExtension.debug:Lsun/security/ssl/Debug;
        44: .line 187
            new java.lang.StringBuilder
            dup
            ldc "Initialized [jdk.tls.namedGroups|default] list contains no available elliptic curves. "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        45: .line 189
            aload 1 /* property */
            ifnull 46
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* property */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 47
      StackMap locals: int java.lang.String java.util.ArrayList
      StackMap stack: sun.security.ssl.Debug java.lang.StringBuilder
        46: ldc "[Default]"
      StackMap locals: int java.lang.String java.util.ArrayList
      StackMap stack: sun.security.ssl.Debug java.lang.StringBuilder java.lang.String
        47: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        48: .line 187
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        49: .line 186
            invokevirtual sun.security.ssl.Debug.println:(Ljava/lang/String;)V
        50: .line 192
      StackMap locals:
      StackMap stack:
            aload 2 /* idList */
            invokevirtual java.util.ArrayList.size:()I
            newarray 10
            putstatic sun.security.ssl.EllipticCurvesExtension.supportedCurveIds:[I
        51: .line 193
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        52: .line 194
            aload 2 /* idList */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 55
      StackMap locals: int java.lang.String java.util.ArrayList int top java.util.Iterator
      StackMap stack:
        53: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 4 /* id */
        start local 4 // java.lang.Integer id
        54: .line 195
            getstatic sun.security.ssl.EllipticCurvesExtension.supportedCurveIds:[I
            iload 3 /* i */
            iinc 3 /* i */ 1
            aload 4 /* id */
            invokevirtual java.lang.Integer.intValue:()I
            iastore
        end local 4 // java.lang.Integer id
        55: .line 194
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 53
        end local 3 // int i
        end local 2 // java.util.ArrayList idList
        end local 1 // java.lang.String property
        end local 0 // boolean requireFips
        56: .line 197
            return
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            5   56     0  requireFips  Z
            8   56     1     property  Ljava/lang/String;
           15   32     2       idList  Ljava/util/ArrayList<Ljava/lang/Integer;>;
           36   56     2       idList  Ljava/util/ArrayList<Ljava/lang/Integer;>;
           14   32     3       curves  [Ljava/lang/String;
           17   24     4        curve  Ljava/lang/String;
           21   24     8   namedCurve  Lsun/security/ssl/EllipticCurvesExtension$NamedEllipticCurve;
           35   42     3          ids  [I
           38   40     4      curveId  I
           52   56     3            i  I
           54   55     4           id  Ljava/lang/Integer;

  private static boolean isAvailableCurve(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // int curveId
         0: .line 201
            getstatic sun.security.ssl.EllipticCurvesExtension.idToOidMap:Ljava/util/Map;
            iload 0 /* curveId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* oid */
        start local 1 // java.lang.String oid
         1: .line 202
            aload 1 /* oid */
            ifnull 10
         2: .line 203
            aconst_null
            astore 2 /* params */
        start local 2 // java.security.AlgorithmParameters params
         3: .line 205
            ldc "EC"
            invokestatic sun.security.ssl.JsseJce.getAlgorithmParameters:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
            astore 2 /* params */
         4: .line 206
            aload 2 /* params */
            new java.security.spec.ECGenParameterSpec
            dup
            aload 1 /* oid */
            invokespecial java.security.spec.ECGenParameterSpec.<init>:(Ljava/lang/String;)V
            invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
         5: .line 207
            goto 8
      StackMap locals: int java.lang.String java.security.AlgorithmParameters
      StackMap stack: java.lang.Exception
         6: pop
         7: .line 208
            iconst_0
            ireturn
         8: .line 212
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.EllipticCurvesExtension.idToParams:Ljava/util/Map;
            iload 0 /* curveId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* params */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 214
            iconst_1
            ireturn
        end local 2 // java.security.AlgorithmParameters params
        10: .line 217
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String oid
        end local 0 // int curveId
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0  curveId  I
            1   11     1      oid  Ljava/lang/String;
            3   10     2   params  Ljava/security/AlgorithmParameters;
      Exception table:
        from    to  target  type
           3     5       6  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      curveId  

  private void <init>(int[]);
    descriptor: ([I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.EllipticCurvesExtension this
        start local 1 // int[] curveIds
         0: .line 221
            aload 0 /* this */
            getstatic sun.security.ssl.ExtensionType.EXT_ELLIPTIC_CURVES:Lsun/security/ssl/ExtensionType;
            invokespecial sun.security.ssl.HelloExtension.<init>:(Lsun/security/ssl/ExtensionType;)V
         1: .line 222
            aload 0 /* this */
            aload 1 /* curveIds */
            putfield sun.security.ssl.EllipticCurvesExtension.curveIds:[I
         2: .line 223
            return
        end local 1 // int[] curveIds
        end local 0 // sun.security.ssl.EllipticCurvesExtension this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lsun/security/ssl/EllipticCurvesExtension;
            0    3     1  curveIds  [I
    MethodParameters:
          Name  Flags
      curveIds  

  void <init>(sun.security.ssl.HandshakeInStream, int);
    descriptor: (Lsun/security/ssl/HandshakeInStream;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // sun.security.ssl.EllipticCurvesExtension this
        start local 1 // sun.security.ssl.HandshakeInStream s
        start local 2 // int len
         0: .line 227
            aload 0 /* this */
            getstatic sun.security.ssl.ExtensionType.EXT_ELLIPTIC_CURVES:Lsun/security/ssl/ExtensionType;
            invokespecial sun.security.ssl.HelloExtension.<init>:(Lsun/security/ssl/ExtensionType;)V
         1: .line 228
            aload 1 /* s */
            invokevirtual sun.security.ssl.HandshakeInStream.getInt16:()I
            istore 3 /* k */
        start local 3 // int k
         2: .line 229
            iload 2 /* len */
            iconst_1
            iand
            ifne 3
            iload 3 /* k */
            iconst_2
            iadd
            iload 2 /* len */
            if_icmpeq 4
         3: .line 230
      StackMap locals: sun.security.ssl.EllipticCurvesExtension sun.security.ssl.HandshakeInStream int int
      StackMap stack:
            new javax.net.ssl.SSLProtocolException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.EllipticCurvesExtension.type:Lsun/security/ssl/ExtensionType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " extension"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* k */
            iconst_1
            ishr
            newarray 10
            putfield sun.security.ssl.EllipticCurvesExtension.curveIds:[I
         5: .line 235
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 9
         7: .line 236
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.EllipticCurvesExtension.curveIds:[I
            iload 4 /* i */
            aload 1 /* s */
            invokevirtual sun.security.ssl.HandshakeInStream.getInt16:()I
            iastore
         8: .line 235
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 0 /* this */
            getfield sun.security.ssl.EllipticCurvesExtension.curveIds:[I
            arraylength
            if_icmplt 7
        end local 4 // int i
        10: .line 238
            return
        end local 3 // int k
        end local 2 // int len
        end local 1 // sun.security.ssl.HandshakeInStream s
        end local 0 // sun.security.ssl.EllipticCurvesExtension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/security/ssl/EllipticCurvesExtension;
            0   11     1     s  Lsun/security/ssl/HandshakeInStream;
            0   11     2   len  I
            2   11     3     k  I
            6   10     4     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     
      len   

  static int getActiveCurves(java.security.AlgorithmConstraints);
    descriptor: (Ljava/security/AlgorithmConstraints;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.security.AlgorithmConstraints constraints
         0: .line 242
            getstatic sun.security.ssl.EllipticCurvesExtension.supportedCurveIds:[I
            aload 0 /* constraints */
            invokestatic sun.security.ssl.EllipticCurvesExtension.getPreferredCurve:([ILjava/security/AlgorithmConstraints;)I
            ireturn
        end local 0 // java.security.AlgorithmConstraints constraints
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  constraints  Ljava/security/AlgorithmConstraints;
    MethodParameters:
             Name  Flags
      constraints  

  static boolean hasActiveCurves(java.security.AlgorithmConstraints);
    descriptor: (Ljava/security/AlgorithmConstraints;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.AlgorithmConstraints constraints
         0: .line 246
            aload 0 /* constraints */
            invokestatic sun.security.ssl.EllipticCurvesExtension.getActiveCurves:(Ljava/security/AlgorithmConstraints;)I
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.security.AlgorithmConstraints constraints
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  constraints  Ljava/security/AlgorithmConstraints;
    MethodParameters:
             Name  Flags
      constraints  

  static sun.security.ssl.EllipticCurvesExtension createExtension(java.security.AlgorithmConstraints);
    descriptor: (Ljava/security/AlgorithmConstraints;)Lsun/security/ssl/EllipticCurvesExtension;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.security.AlgorithmConstraints constraints
         0: .line 252
            new java.util.ArrayList
            dup
            getstatic sun.security.ssl.EllipticCurvesExtension.supportedCurveIds:[I
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* idList */
        start local 1 // java.util.ArrayList idList
         1: .line 253
            getstatic sun.security.ssl.EllipticCurvesExtension.supportedCurveIds:[I
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 10
      StackMap locals: java.security.AlgorithmConstraints java.util.ArrayList top int int int[]
      StackMap stack:
         2: aload 5
            iload 3
            iaload
            istore 2 /* curveId */
        start local 2 // int curveId
         3: .line 254
            aload 0 /* constraints */
         4: .line 255
            getstatic java.security.CryptoPrimitive.KEY_AGREEMENT:Ljava/security/CryptoPrimitive;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
         5: .line 256
            ldc "EC"
            getstatic sun.security.ssl.EllipticCurvesExtension.idToParams:Ljava/util/Map;
            iload 2 /* curveId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.AlgorithmParameters
         6: .line 254
            invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
         7: .line 256
            ifeq 9
         8: .line 257
            aload 1 /* idList */
            iload 2 /* curveId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // int curveId
         9: .line 253
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        10: iload 3
            iload 4
            if_icmplt 2
        11: .line 261
            aload 1 /* idList */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 19
        12: .line 262
            aload 1 /* idList */
            invokevirtual java.util.ArrayList.size:()I
            newarray 10
            astore 2 /* ids */
        start local 2 // int[] ids
        13: .line 263
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        14: .line 264
            aload 1 /* idList */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 17
      StackMap locals: java.security.AlgorithmConstraints java.util.ArrayList int[] int top java.util.Iterator
      StackMap stack:
        15: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 4 /* id */
        start local 4 // java.lang.Integer id
        16: .line 265
            aload 2 /* ids */
            iload 3 /* i */
            iinc 3 /* i */ 1
            aload 4 /* id */
            invokevirtual java.lang.Integer.intValue:()I
            iastore
        end local 4 // java.lang.Integer id
        17: .line 264
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 268
            new sun.security.ssl.EllipticCurvesExtension
            dup
            aload 2 /* ids */
            invokespecial sun.security.ssl.EllipticCurvesExtension.<init>:([I)V
            areturn
        end local 3 // int i
        end local 2 // int[] ids
        19: .line 271
      StackMap locals: java.security.AlgorithmConstraints java.util.ArrayList
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.util.ArrayList idList
        end local 0 // java.security.AlgorithmConstraints constraints
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0  constraints  Ljava/security/AlgorithmConstraints;
            1   20     1       idList  Ljava/util/ArrayList<Ljava/lang/Integer;>;
            3    9     2      curveId  I
           13   19     2          ids  [I
           14   19     3            i  I
           16   17     4           id  Ljava/lang/Integer;
    MethodParameters:
             Name  Flags
      constraints  

  int getPreferredCurve(java.security.AlgorithmConstraints);
    descriptor: (Ljava/security/AlgorithmConstraints;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.EllipticCurvesExtension this
        start local 1 // java.security.AlgorithmConstraints constraints
         0: .line 276
            aload 0 /* this */
            getfield sun.security.ssl.EllipticCurvesExtension.curveIds:[I
            aload 1 /* constraints */
            invokestatic sun.security.ssl.EllipticCurvesExtension.getPreferredCurve:([ILjava/security/AlgorithmConstraints;)I
            ireturn
        end local 1 // java.security.AlgorithmConstraints constraints
        end local 0 // sun.security.ssl.EllipticCurvesExtension this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/security/ssl/EllipticCurvesExtension;
            0    1     1  constraints  Ljava/security/AlgorithmConstraints;
    MethodParameters:
             Name  Flags
      constraints  

  private static int getPreferredCurve(int[], java.security.AlgorithmConstraints);
    descriptor: ([ILjava/security/AlgorithmConstraints;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // int[] curves
        start local 1 // java.security.AlgorithmConstraints constraints
         0: .line 282
            aload 0 /* curves */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: int[] java.security.AlgorithmConstraints top int int int[]
      StackMap stack:
         1: aload 5
            iload 3
            iaload
            istore 2 /* curveId */
        start local 2 // int curveId
         2: .line 283
            iload 2 /* curveId */
            invokestatic sun.security.ssl.EllipticCurvesExtension.isSupported:(I)Z
            ifeq 8
            aload 1 /* constraints */
         3: .line 284
            getstatic java.security.CryptoPrimitive.KEY_AGREEMENT:Ljava/security/CryptoPrimitive;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
         4: .line 285
            ldc "EC"
            getstatic sun.security.ssl.EllipticCurvesExtension.idToParams:Ljava/util/Map;
            iload 2 /* curveId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.AlgorithmParameters
         5: .line 283
            invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
         6: .line 285
            ifeq 8
         7: .line 286
            iload 2 /* curveId */
            ireturn
        end local 2 // int curveId
         8: .line 282
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 1
        10: .line 290
            iconst_m1
            ireturn
        end local 1 // java.security.AlgorithmConstraints constraints
        end local 0 // int[] curves
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0       curves  [I
            0   11     1  constraints  Ljava/security/AlgorithmConstraints;
            2    8     2      curveId  I
    MethodParameters:
             Name  Flags
      curves       
      constraints  

  boolean contains(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // sun.security.ssl.EllipticCurvesExtension this
        start local 1 // int index
         0: .line 294
            aload 0 /* this */
            getfield sun.security.ssl.EllipticCurvesExtension.curveIds:[I
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: sun.security.ssl.EllipticCurvesExtension int top int int int[]
      StackMap stack:
         1: aload 5
            iload 3
            iaload
            istore 2 /* curveId */
        start local 2 // int curveId
         2: .line 295
            iload 1 /* index */
            iload 2 /* curveId */
            if_icmpne 4
         3: .line 296
            iconst_1
            ireturn
        end local 2 // int curveId
         4: .line 294
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 299
            iconst_0
            ireturn
        end local 1 // int index
        end local 0 // sun.security.ssl.EllipticCurvesExtension this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lsun/security/ssl/EllipticCurvesExtension;
            0    7     1    index  I
            2    4     2  curveId  I
    MethodParameters:
       Name  Flags
      index  

  int length();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.ssl.EllipticCurvesExtension this
         0: .line 303
            bipush 6
            aload 0 /* this */
            getfield sun.security.ssl.EllipticCurvesExtension.curveIds:[I
            arraylength
            iconst_1
            ishl
            iadd
            ireturn
        end local 0 // sun.security.ssl.EllipticCurvesExtension this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/EllipticCurvesExtension;

  void send(sun.security.ssl.HandshakeOutStream);
    descriptor: (Lsun/security/ssl/HandshakeOutStream;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // sun.security.ssl.EllipticCurvesExtension this
        start local 1 // sun.security.ssl.HandshakeOutStream s
         0: .line 307
            aload 1 /* s */
            aload 0 /* this */
            getfield sun.security.ssl.EllipticCurvesExtension.type:Lsun/security/ssl/ExtensionType;
            getfield sun.security.ssl.ExtensionType.id:I
            invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
         1: .line 308
            aload 0 /* this */
            getfield sun.security.ssl.EllipticCurvesExtension.curveIds:[I
            arraylength
            iconst_1
            ishl
            istore 2 /* k */
        start local 2 // int k
         2: .line 309
            aload 1 /* s */
            iload 2 /* k */
            iconst_2
            iadd
            invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
         3: .line 310
            aload 1 /* s */
            iload 2 /* k */
            invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
         4: .line 311
            aload 0 /* this */
            getfield sun.security.ssl.EllipticCurvesExtension.curveIds:[I
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: sun.security.ssl.EllipticCurvesExtension sun.security.ssl.HandshakeOutStream int top int int int[]
      StackMap stack:
         5: aload 6
            iload 4
            iaload
            istore 3 /* curveId */
        start local 3 // int curveId
         6: .line 312
            aload 1 /* s */
            iload 3 /* curveId */
            invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
        end local 3 // int curveId
         7: .line 311
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 5
         9: .line 314
            return
        end local 2 // int k
        end local 1 // sun.security.ssl.HandshakeOutStream s
        end local 0 // sun.security.ssl.EllipticCurvesExtension this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lsun/security/ssl/EllipticCurvesExtension;
            0   10     1        s  Lsun/security/ssl/HandshakeOutStream;
            2   10     2        k  I
            6    7     3  curveId  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // sun.security.ssl.EllipticCurvesExtension this
         0: .line 317
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 318
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "Extension "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.EllipticCurvesExtension.type:Lsun/security/ssl/ExtensionType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", curve names: {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 319
            iconst_1
            istore 2 /* first */
        start local 2 // boolean first
         3: .line 320
            aload 0 /* this */
            getfield sun.security.ssl.EllipticCurvesExtension.curveIds:[I
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 21
      StackMap locals: sun.security.ssl.EllipticCurvesExtension java.lang.StringBuilder int top int int int[]
      StackMap stack:
         4: aload 6
            iload 4
            iaload
            istore 3 /* curveId */
        start local 3 // int curveId
         5: .line 321
            iload 2 /* first */
            ifeq 8
         6: .line 322
            iconst_0
            istore 2 /* first */
         7: .line 323
            goto 9
         8: .line 324
      StackMap locals: sun.security.ssl.EllipticCurvesExtension java.lang.StringBuilder int int int int int[]
      StackMap stack:
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 326
      StackMap locals:
      StackMap stack:
            iload 3 /* curveId */
            invokestatic sun.security.ssl.EllipticCurvesExtension.getCurveName:(I)Ljava/lang/String;
            astore 7 /* curveName */
        start local 7 // java.lang.String curveName
        10: .line 327
            aload 7 /* curveName */
            ifnull 13
        11: .line 328
            aload 1 /* sb */
            aload 7 /* curveName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 329
            goto 20
      StackMap locals: java.lang.String
      StackMap stack:
        13: iload 3 /* curveId */
            ldc 65281
            if_icmpne 16
        14: .line 330
            aload 1 /* sb */
            ldc "arbitrary_explicit_prime_curves"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 331
            goto 20
      StackMap locals:
      StackMap stack:
        16: iload 3 /* curveId */
            ldc 65282
            if_icmpne 19
        17: .line 332
            aload 1 /* sb */
            ldc "arbitrary_explicit_char2_curves"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 333
            goto 20
        19: .line 334
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "unknown curve "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* curveId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // java.lang.String curveName
        end local 3 // int curveId
        20: .line 320
      StackMap locals: sun.security.ssl.EllipticCurvesExtension java.lang.StringBuilder int top int int int[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        21: iload 4
            iload 5
            if_icmplt 4
        22: .line 337
            aload 1 /* sb */
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 338
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // boolean first
        end local 1 // java.lang.StringBuilder sb
        end local 0 // sun.security.ssl.EllipticCurvesExtension this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Lsun/security/ssl/EllipticCurvesExtension;
            1   24     1         sb  Ljava/lang/StringBuilder;
            3   24     2      first  Z
            5   20     3    curveId  I
           10   20     7  curveName  Ljava/lang/String;

  static boolean isSupported(int);
    descriptor: (I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // int index
         0: .line 343
            getstatic sun.security.ssl.EllipticCurvesExtension.supportedCurveIds:[I
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: int top int int int[]
      StackMap stack:
         1: aload 4
            iload 2
            iaload
            istore 1 /* curveId */
        start local 1 // int curveId
         2: .line 344
            iload 0 /* index */
            iload 1 /* curveId */
            if_icmpne 4
         3: .line 345
            iconst_1
            ireturn
        end local 1 // int curveId
         4: .line 343
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 349
            iconst_0
            ireturn
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0    index  I
            2    4     1  curveId  I
    MethodParameters:
       Name  Flags
      index  

  static int getCurveIndex(java.security.spec.ECParameterSpec);
    descriptor: (Ljava/security/spec/ECParameterSpec;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.security.spec.ECParameterSpec params
         0: .line 353
            aload 0 /* params */
            invokestatic sun.security.ssl.JsseJce.getNamedCurveOid:(Ljava/security/spec/ECParameterSpec;)Ljava/lang/String;
            astore 1 /* oid */
        start local 1 // java.lang.String oid
         1: .line 354
            aload 1 /* oid */
            ifnonnull 3
         2: .line 355
            iconst_m1
            ireturn
         3: .line 357
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic sun.security.ssl.EllipticCurvesExtension.oidToIdMap:Ljava/util/Map;
            aload 1 /* oid */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* n */
        start local 2 // java.lang.Integer n
         4: .line 358
            aload 2 /* n */
            ifnonnull 5
            iconst_m1
            goto 6
      StackMap locals: java.lang.Integer
      StackMap stack:
         5: aload 2 /* n */
            invokevirtual java.lang.Integer.intValue:()I
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 2 // java.lang.Integer n
        end local 1 // java.lang.String oid
        end local 0 // java.security.spec.ECParameterSpec params
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  params  Ljava/security/spec/ECParameterSpec;
            1    7     1     oid  Ljava/lang/String;
            4    7     2       n  Ljava/lang/Integer;
    MethodParameters:
        Name  Flags
      params  

  static java.lang.String getCurveOid(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int index
         0: .line 362
            getstatic sun.security.ssl.EllipticCurvesExtension.idToOidMap:Ljava/util/Map;
            iload 0 /* index */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  index  I
    MethodParameters:
       Name  Flags
      index  

  static java.security.spec.ECGenParameterSpec getECGenParamSpec(int);
    descriptor: (I)Ljava/security/spec/ECGenParameterSpec;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // int index
         0: .line 366
            getstatic sun.security.ssl.EllipticCurvesExtension.idToParams:Ljava/util/Map;
            iload 0 /* index */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.AlgorithmParameters
            astore 1 /* params */
        start local 1 // java.security.AlgorithmParameters params
         1: .line 368
            aload 1 /* params */
            ldc Ljava/security/spec/ECGenParameterSpec;
            invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
            checkcast java.security.spec.ECGenParameterSpec
         2: areturn
         3: .line 369
      StackMap locals: int java.security.AlgorithmParameters
      StackMap stack: java.security.spec.InvalidParameterSpecException
            pop
         4: .line 371
            iload 0 /* index */
            invokestatic sun.security.ssl.EllipticCurvesExtension.getCurveOid:(I)Ljava/lang/String;
            astore 2 /* curveOid */
        start local 2 // java.lang.String curveOid
         5: .line 372
            new java.security.spec.ECGenParameterSpec
            dup
            aload 2 /* curveOid */
            invokespecial java.security.spec.ECGenParameterSpec.<init>:(Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String curveOid
        end local 1 // java.security.AlgorithmParameters params
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0     index  I
            1    6     1    params  Ljava/security/AlgorithmParameters;
            5    6     2  curveOid  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.security.spec.InvalidParameterSpecException
    MethodParameters:
       Name  Flags
      index  

  private static java.lang.String getCurveName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // int index
         0: .line 377
            invokestatic sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve.values:()[Lsun/security/ssl/EllipticCurvesExtension$NamedEllipticCurve;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: int top int int sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* namedCurve */
        start local 1 // sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve namedCurve
         2: .line 378
            aload 1 /* namedCurve */
            getfield sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve.id:I
            iload 0 /* index */
            if_icmpne 4
         3: .line 379
            aload 1 /* namedCurve */
            getfield sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve.name:Ljava/lang/String;
            areturn
        end local 1 // sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve namedCurve
         4: .line 377
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 383
            aconst_null
            areturn
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0       index  I
            2    4     1  namedCurve  Lsun/security/ssl/EllipticCurvesExtension$NamedEllipticCurve;
    MethodParameters:
       Name  Flags
      index  
}
SourceFile: "EllipticCurvesExtension.java"
NestMembers:
  sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve
InnerClasses:
  private final NamedEllipticCurve = sun.security.ssl.EllipticCurvesExtension$NamedEllipticCurve of sun.security.ssl.EllipticCurvesExtension