interface sun.security.ssl.NamedGroup$NamedGroupScheme
  minor version: 0
  major version: 59
  flags: flags: (0x0600) ACC_INTERFACE, ACC_ABSTRACT
  this_class: sun.security.ssl.NamedGroup$NamedGroupScheme
  super_class: java.lang.Object
{
  public void checkConstraints(java.security.PublicKey, java.security.AlgorithmConstraints, sun.security.ssl.NamedGroup$ExceptionSupplier);
    descriptor: (Ljava/security/PublicKey;Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroup$ExceptionSupplier;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.security.ssl.NamedGroup$NamedGroupScheme this
        start local 1 // java.security.PublicKey publicKey
        start local 2 // java.security.AlgorithmConstraints constraints
        start local 3 // sun.security.ssl.NamedGroup$ExceptionSupplier onConstraintFail
         0: .line 448
            aload 2 /* constraints */
         1: .line 449
            getstatic java.security.CryptoPrimitive.KEY_AGREEMENT:Ljava/security/CryptoPrimitive;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            aload 1 /* publicKey */
         2: .line 448
            invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
         3: .line 449
            ifne 5
         4: .line 450
            aload 3 /* onConstraintFail */
            ldc "key share entry does not comply with algorithm constraints"
            invokeinterface sun.security.ssl.NamedGroup$ExceptionSupplier.apply:(Ljava/lang/String;)V
         5: .line 453
      StackMap locals:
      StackMap stack:
            return
        end local 3 // sun.security.ssl.NamedGroup$ExceptionSupplier onConstraintFail
        end local 2 // java.security.AlgorithmConstraints constraints
        end local 1 // java.security.PublicKey publicKey
        end local 0 // sun.security.ssl.NamedGroup$NamedGroupScheme this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lsun/security/ssl/NamedGroup$NamedGroupScheme;
            0    6     1         publicKey  Ljava/security/PublicKey;
            0    6     2       constraints  Ljava/security/AlgorithmConstraints;
            0    6     3  onConstraintFail  Lsun/security/ssl/NamedGroup$ExceptionSupplier;
    Exceptions:
      throws javax.net.ssl.SSLException
    MethodParameters:
                  Name  Flags
      publicKey         
      constraints       
      onConstraintFail  

  public abstract byte[] encodePossessionPublicKey(sun.security.ssl.NamedGroupPossession);
    descriptor: (Lsun/security/ssl/NamedGroupPossession;)[B
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                      Name  Flags
      namedGroupPossession  

  public abstract sun.security.ssl.SSLCredentials decodeCredentials(sun.security.ssl.NamedGroup, byte[], java.security.AlgorithmConstraints, sun.security.ssl.NamedGroup$ExceptionSupplier);
    descriptor: (Lsun/security/ssl/NamedGroup;[BLjava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroup$ExceptionSupplier;)Lsun/security/ssl/SSLCredentials;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException, java.security.GeneralSecurityException
    MethodParameters:
                  Name  Flags
      ng                
      encoded           
      constraints       
      onConstraintFail  

  public abstract sun.security.ssl.SSLPossession createPossession(sun.security.ssl.NamedGroup, java.security.SecureRandom);
    descriptor: (Lsun/security/ssl/NamedGroup;Ljava/security/SecureRandom;)Lsun/security/ssl/SSLPossession;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      ng      
      random  

  public abstract sun.security.ssl.SSLKeyDerivation createKeyDerivation(sun.security.ssl.HandshakeContext);
    descriptor: (Lsun/security/ssl/HandshakeContext;)Lsun/security/ssl/SSLKeyDerivation;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      hc    
}
SourceFile: "NamedGroup.java"
NestHost: sun.security.ssl.NamedGroup
InnerClasses:
  abstract ExceptionSupplier = sun.security.ssl.NamedGroup$ExceptionSupplier of sun.security.ssl.NamedGroup
  private abstract NamedGroupScheme = sun.security.ssl.NamedGroup$NamedGroupScheme of sun.security.ssl.NamedGroup