public class java.security.cert.X509CertSelector implements java.security.cert.CertSelector
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.security.cert.X509CertSelector
  super_class: java.lang.Object
{
  private static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.util.ObjectIdentifier ANY_EXTENDED_KEY_USAGE;
    descriptor: Lsun/security/util/ObjectIdentifier;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.math.BigInteger serialNumber;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0002) ACC_PRIVATE

  private javax.security.auth.x500.X500Principal issuer;
    descriptor: Ljavax/security/auth/x500/X500Principal;
    flags: (0x0002) ACC_PRIVATE

  private javax.security.auth.x500.X500Principal subject;
    descriptor: Ljavax/security/auth/x500/X500Principal;
    flags: (0x0002) ACC_PRIVATE

  private byte[] subjectKeyID;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private byte[] authorityKeyID;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private java.util.Date certificateValid;
    descriptor: Ljava/util/Date;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Date privateKeyValid;
    descriptor: Ljava/util/Date;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.util.ObjectIdentifier subjectPublicKeyAlgID;
    descriptor: Lsun/security/util/ObjectIdentifier;
    flags: (0x0002) ACC_PRIVATE

  private java.security.PublicKey subjectPublicKey;
    descriptor: Ljava/security/PublicKey;
    flags: (0x0002) ACC_PRIVATE

  private byte[] subjectPublicKeyBytes;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private boolean[] keyUsage;
    descriptor: [Z
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set<java.lang.String> keyPurposeSet;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private java.util.Set<sun.security.util.ObjectIdentifier> keyPurposeOIDSet;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lsun/security/util/ObjectIdentifier;>;

  private java.util.Set<java.util.List<?>> subjectAlternativeNames;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/util/List<*>;>;

  private java.util.Set<sun.security.x509.GeneralNameInterface> subjectAlternativeGeneralNames;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lsun/security/x509/GeneralNameInterface;>;

  private sun.security.x509.CertificatePolicySet policy;
    descriptor: Lsun/security/x509/CertificatePolicySet;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set<java.lang.String> policySet;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private java.util.Set<java.util.List<?>> pathToNames;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/util/List<*>;>;

  private java.util.Set<sun.security.x509.GeneralNameInterface> pathToGeneralNames;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lsun/security/x509/GeneralNameInterface;>;

  private sun.security.x509.NameConstraintsExtension nc;
    descriptor: Lsun/security/x509/NameConstraintsExtension;
    flags: (0x0002) ACC_PRIVATE

  private byte[] ncBytes;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private int basicConstraints;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.security.cert.X509Certificate x509Cert;
    descriptor: Ljava/security/cert/X509Certificate;
    flags: (0x0002) ACC_PRIVATE

  private boolean matchAllSubjectAltNames;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.Boolean FALSE;
    descriptor: Ljava/lang/Boolean;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

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

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

  private static final java.lang.String[] EXTENSION_OIDS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final int NAME_ANY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int NAME_RFC822;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int NAME_DNS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int NAME_X400;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int NAME_DIRECTORY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int NAME_EDI;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final int NAME_URI;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int NAME_IP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  static final int NAME_OID;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 88
            ldc "certpath"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
         1: .line 91
            iconst_5
            newarray 10
            dup
            iconst_0
            iconst_2
            iastore
            dup
            iconst_1
            iconst_5
            iastore
            dup
            iconst_2
            bipush 29
            iastore
            dup
            iconst_3
            bipush 37
            iastore
            invokestatic sun.security.util.ObjectIdentifier.newInternal:([I)Lsun/security/util/ObjectIdentifier;
         2: .line 90
            putstatic java.security.cert.X509CertSelector.ANY_EXTENDED_KEY_USAGE:Lsun/security/util/ObjectIdentifier;
         3: .line 94
            invokestatic java.security.cert.CertPathHelperImpl.initialize:()V
         4: .line 122
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            putstatic java.security.cert.X509CertSelector.FALSE:Ljava/lang/Boolean;
         5: .line 130
            iconst_5
            anewarray java.lang.String
            putstatic java.security.cert.X509CertSelector.EXTENSION_OIDS:[Ljava/lang/String;
         6: .line 133
            getstatic java.security.cert.X509CertSelector.EXTENSION_OIDS:[Ljava/lang/String;
            iconst_0
            ldc "2.5.29.16"
            aastore
         7: .line 134
            getstatic java.security.cert.X509CertSelector.EXTENSION_OIDS:[Ljava/lang/String;
            iconst_1
            ldc "2.5.29.17"
            aastore
         8: .line 135
            getstatic java.security.cert.X509CertSelector.EXTENSION_OIDS:[Ljava/lang/String;
            iconst_2
            ldc "2.5.29.30"
            aastore
         9: .line 136
            getstatic java.security.cert.X509CertSelector.EXTENSION_OIDS:[Ljava/lang/String;
            iconst_3
            ldc "2.5.29.32"
            aastore
        10: .line 137
            getstatic java.security.cert.X509CertSelector.EXTENSION_OIDS:[Ljava/lang/String;
            iconst_4
            ldc "2.5.29.37"
            aastore
        11: .line 149
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 155
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 118
            aload 0 /* this */
            iconst_m1
            putfield java.security.cert.X509CertSelector.basicConstraints:I
         2: .line 120
            aload 0 /* this */
            iconst_1
            putfield java.security.cert.X509CertSelector.matchAllSubjectAltNames:Z
         3: .line 157
            return
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/security/cert/X509CertSelector;

  public void setCertificate(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.X509Certificate cert
         0: .line 175
            aload 0 /* this */
            aload 1 /* cert */
            putfield java.security.cert.X509CertSelector.x509Cert:Ljava/security/cert/X509Certificate;
         1: .line 176
            return
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/security/cert/X509CertSelector;
            0    2     1  cert  Ljava/security/cert/X509Certificate;
    MethodParameters:
      Name  Flags
      cert  

  public void setSerialNumber(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.math.BigInteger serial
         0: .line 189
            aload 0 /* this */
            aload 1 /* serial */
            putfield java.security.cert.X509CertSelector.serialNumber:Ljava/math/BigInteger;
         1: .line 190
            return
        end local 1 // java.math.BigInteger serial
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/security/cert/X509CertSelector;
            0    2     1  serial  Ljava/math/BigInteger;
    MethodParameters:
        Name  Flags
      serial  

  public void setIssuer(javax.security.auth.x500.X500Principal);
    descriptor: (Ljavax/security/auth/x500/X500Principal;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // javax.security.auth.x500.X500Principal issuer
         0: .line 203
            aload 0 /* this */
            aload 1 /* issuer */
            putfield java.security.cert.X509CertSelector.issuer:Ljavax/security/auth/x500/X500Principal;
         1: .line 204
            return
        end local 1 // javax.security.auth.x500.X500Principal issuer
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/security/cert/X509CertSelector;
            0    2     1  issuer  Ljavax/security/auth/x500/X500Principal;
    MethodParameters:
        Name  Flags
      issuer  

  public void setIssuer(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.lang.String issuerDN
         0: .line 227
            aload 1 /* issuerDN */
            ifnonnull 3
         1: .line 228
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.issuer:Ljavax/security/auth/x500/X500Principal;
         2: .line 229
            goto 4
         3: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.security.x509.X500Name
            dup
            aload 1 /* issuerDN */
            invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
            invokevirtual sun.security.x509.X500Name.asX500Principal:()Ljavax/security/auth/x500/X500Principal;
            putfield java.security.cert.X509CertSelector.issuer:Ljavax/security/auth/x500/X500Principal;
         4: .line 232
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String issuerDN
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljava/security/cert/X509CertSelector;
            0    5     1  issuerDN  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      issuerDN  

  public void setIssuer(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // byte[] issuerDN
         0: .line 278
            aload 0 /* this */
            aload 1 /* issuerDN */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack: java.security.cert.X509CertSelector
         1: new javax.security.auth.x500.X500Principal
            dup
            aload 1 /* issuerDN */
            invokespecial javax.security.auth.x500.X500Principal.<init>:([B)V
      StackMap locals: java.security.cert.X509CertSelector byte[]
      StackMap stack: java.security.cert.X509CertSelector javax.security.auth.x500.X500Principal
         2: putfield java.security.cert.X509CertSelector.issuer:Ljavax/security/auth/x500/X500Principal;
         3: .line 279
            goto 6
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         4: astore 2 /* e */
        start local 2 // java.lang.IllegalArgumentException e
         5: .line 280
            new java.io.IOException
            dup
            ldc "Invalid name"
            aload 2 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.IllegalArgumentException e
         6: .line 282
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] issuerDN
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljava/security/cert/X509CertSelector;
            0    7     1  issuerDN  [B
            5    6     2         e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      issuerDN  

  public void setSubject(javax.security.auth.x500.X500Principal);
    descriptor: (Ljavax/security/auth/x500/X500Principal;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // javax.security.auth.x500.X500Principal subject
         0: .line 295
            aload 0 /* this */
            aload 1 /* subject */
            putfield java.security.cert.X509CertSelector.subject:Ljavax/security/auth/x500/X500Principal;
         1: .line 296
            return
        end local 1 // javax.security.auth.x500.X500Principal subject
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljava/security/cert/X509CertSelector;
            0    2     1  subject  Ljavax/security/auth/x500/X500Principal;
    MethodParameters:
         Name  Flags
      subject  

  public void setSubject(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.lang.String subjectDN
         0: .line 318
            aload 1 /* subjectDN */
            ifnonnull 3
         1: .line 319
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.subject:Ljavax/security/auth/x500/X500Principal;
         2: .line 320
            goto 4
         3: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.security.x509.X500Name
            dup
            aload 1 /* subjectDN */
            invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
            invokevirtual sun.security.x509.X500Name.asX500Principal:()Ljavax/security/auth/x500/X500Principal;
            putfield java.security.cert.X509CertSelector.subject:Ljavax/security/auth/x500/X500Principal;
         4: .line 323
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String subjectDN
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljava/security/cert/X509CertSelector;
            0    5     1  subjectDN  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      subjectDN  

  public void setSubject(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // byte[] subjectDN
         0: .line 342
            aload 0 /* this */
            aload 1 /* subjectDN */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack: java.security.cert.X509CertSelector
         1: new javax.security.auth.x500.X500Principal
            dup
            aload 1 /* subjectDN */
            invokespecial javax.security.auth.x500.X500Principal.<init>:([B)V
      StackMap locals: java.security.cert.X509CertSelector byte[]
      StackMap stack: java.security.cert.X509CertSelector javax.security.auth.x500.X500Principal
         2: putfield java.security.cert.X509CertSelector.subject:Ljavax/security/auth/x500/X500Principal;
         3: .line 343
            goto 6
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         4: astore 2 /* e */
        start local 2 // java.lang.IllegalArgumentException e
         5: .line 344
            new java.io.IOException
            dup
            ldc "Invalid name"
            aload 2 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.IllegalArgumentException e
         6: .line 346
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] subjectDN
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljava/security/cert/X509CertSelector;
            0    7     1  subjectDN  [B
            5    6     2          e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      subjectDN  

  public void setSubjectKeyIdentifier(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // byte[] subjectKeyID
         0: .line 381
            aload 1 /* subjectKeyID */
            ifnonnull 3
         1: .line 382
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.subjectKeyID:[B
         2: .line 383
            goto 4
         3: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* subjectKeyID */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield java.security.cert.X509CertSelector.subjectKeyID:[B
         4: .line 386
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] subjectKeyID
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Ljava/security/cert/X509CertSelector;
            0    5     1  subjectKeyID  [B
    MethodParameters:
              Name  Flags
      subjectKeyID  

  public void setAuthorityKeyIdentifier(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // byte[] authorityKeyID
         0: .line 442
            aload 1 /* authorityKeyID */
            ifnonnull 3
         1: .line 443
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.authorityKeyID:[B
         2: .line 444
            goto 4
         3: .line 445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* authorityKeyID */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield java.security.cert.X509CertSelector.authorityKeyID:[B
         4: .line 447
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] authorityKeyID
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljava/security/cert/X509CertSelector;
            0    5     1  authorityKeyID  [B
    MethodParameters:
                Name  Flags
      authorityKeyID  

  public void setCertificateValid(java.util.Date);
    descriptor: (Ljava/util/Date;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.util.Date certValid
         0: .line 462
            aload 1 /* certValid */
            ifnonnull 3
         1: .line 463
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.certificateValid:Ljava/util/Date;
         2: .line 464
            goto 4
         3: .line 465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* certValid */
            invokevirtual java.util.Date.clone:()Ljava/lang/Object;
            checkcast java.util.Date
            putfield java.security.cert.X509CertSelector.certificateValid:Ljava/util/Date;
         4: .line 467
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Date certValid
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljava/security/cert/X509CertSelector;
            0    5     1  certValid  Ljava/util/Date;
    MethodParameters:
           Name  Flags
      certValid  

  public void setPrivateKeyValid(java.util.Date);
    descriptor: (Ljava/util/Date;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.util.Date privateKeyValid
         0: .line 483
            aload 1 /* privateKeyValid */
            ifnonnull 3
         1: .line 484
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.privateKeyValid:Ljava/util/Date;
         2: .line 485
            goto 4
         3: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* privateKeyValid */
            invokevirtual java.util.Date.clone:()Ljava/lang/Object;
            checkcast java.util.Date
            putfield java.security.cert.X509CertSelector.privateKeyValid:Ljava/util/Date;
         4: .line 488
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Date privateKeyValid
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Ljava/security/cert/X509CertSelector;
            0    5     1  privateKeyValid  Ljava/util/Date;
    MethodParameters:
                 Name  Flags
      privateKeyValid  

  public void setSubjectPublicKeyAlgID(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.lang.String oid
         0: .line 506
            aload 1 /* oid */
            ifnonnull 3
         1: .line 507
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.subjectPublicKeyAlgID:Lsun/security/util/ObjectIdentifier;
         2: .line 508
            goto 4
         3: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.security.util.ObjectIdentifier
            dup
            aload 1 /* oid */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            putfield java.security.cert.X509CertSelector.subjectPublicKeyAlgID:Lsun/security/util/ObjectIdentifier;
         4: .line 511
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String oid
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/security/cert/X509CertSelector;
            0    5     1   oid  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oid   

  public void setSubjectPublicKey(java.security.PublicKey);
    descriptor: (Ljava/security/PublicKey;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.PublicKey key
         0: .line 522
            aload 1 /* key */
            ifnonnull 4
         1: .line 523
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.subjectPublicKey:Ljava/security/PublicKey;
         2: .line 524
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.subjectPublicKeyBytes:[B
         3: .line 525
            goto 6
         4: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            putfield java.security.cert.X509CertSelector.subjectPublicKey:Ljava/security/PublicKey;
         5: .line 527
            aload 0 /* this */
            aload 1 /* key */
            invokeinterface java.security.PublicKey.getEncoded:()[B
            putfield java.security.cert.X509CertSelector.subjectPublicKeyBytes:[B
         6: .line 529
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.PublicKey key
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/security/cert/X509CertSelector;
            0    7     1   key  Ljava/security/PublicKey;
    MethodParameters:
      Name  Flags
      key   

  public void setSubjectPublicKey(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // byte[] key
         0: .line 565
            aload 1 /* key */
            ifnonnull 4
         1: .line 566
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.subjectPublicKey:Ljava/security/PublicKey;
         2: .line 567
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.subjectPublicKeyBytes:[B
         3: .line 568
            goto 6
         4: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield java.security.cert.X509CertSelector.subjectPublicKeyBytes:[B
         5: .line 570
            aload 0 /* this */
            new sun.security.util.DerValue
            dup
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKeyBytes:[B
            invokespecial sun.security.util.DerValue.<init>:([B)V
            invokestatic sun.security.x509.X509Key.parse:(Lsun/security/util/DerValue;)Ljava/security/PublicKey;
            putfield java.security.cert.X509CertSelector.subjectPublicKey:Ljava/security/PublicKey;
         6: .line 572
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] key
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/security/cert/X509CertSelector;
            0    7     1   key  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      key   

  public void setKeyUsage(boolean[]);
    descriptor: ([Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // boolean[] keyUsage
         0: .line 590
            aload 1 /* keyUsage */
            ifnonnull 3
         1: .line 591
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.keyUsage:[Z
         2: .line 592
            goto 4
         3: .line 593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyUsage */
            invokevirtual boolean[].clone:()Ljava/lang/Object;
            checkcast boolean[]
            putfield java.security.cert.X509CertSelector.keyUsage:[Z
         4: .line 595
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean[] keyUsage
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljava/security/cert/X509CertSelector;
            0    5     1  keyUsage  [Z
    MethodParameters:
          Name  Flags
      keyUsage  

  public void setExtendedKeyUsage(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.util.Set keyPurposeSet
         0: .line 617
            aload 1 /* keyPurposeSet */
            ifnull 1
            aload 1 /* keyPurposeSet */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 4
         1: .line 618
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.keyPurposeSet:Ljava/util/Set;
         2: .line 619
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.keyPurposeOIDSet:Ljava/util/Set;
         3: .line 620
            goto 12
         4: .line 621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         5: .line 622
            new java.util.HashSet
            dup
            aload 1 /* keyPurposeSet */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
         6: .line 621
            putfield java.security.cert.X509CertSelector.keyPurposeSet:Ljava/util/Set;
         7: .line 623
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield java.security.cert.X509CertSelector.keyPurposeOIDSet:Ljava/util/Set;
         8: .line 624
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyPurposeSet:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals: java.security.cert.X509CertSelector java.util.Set top java.util.Iterator
      StackMap stack:
         9: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* s */
        start local 2 // java.lang.String s
        10: .line 625
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyPurposeOIDSet:Ljava/util/Set;
            new sun.security.util.ObjectIdentifier
            dup
            aload 2 /* s */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.String s
        11: .line 624
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 628
      StackMap locals: java.security.cert.X509CertSelector java.util.Set
      StackMap stack:
            return
        end local 1 // java.util.Set keyPurposeSet
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Ljava/security/cert/X509CertSelector;
            0   13     1  keyPurposeSet  Ljava/util/Set<Ljava/lang/String;>;
           10   11     2              s  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
               Name  Flags
      keyPurposeSet  

  public void setMatchAllSubjectAltNames(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // boolean matchAllNames
         0: .line 647
            aload 0 /* this */
            iload 1 /* matchAllNames */
            putfield java.security.cert.X509CertSelector.matchAllSubjectAltNames:Z
         1: .line 648
            return
        end local 1 // boolean matchAllNames
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ljava/security/cert/X509CertSelector;
            0    2     1  matchAllNames  Z
    MethodParameters:
               Name  Flags
      matchAllNames  

  public void setSubjectAlternativeNames(java.util.Collection<java.util.List<?>>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.util.Collection names
         0: .line 699
            aload 1 /* names */
            ifnonnull 4
         1: .line 700
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
         2: .line 701
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.subjectAlternativeGeneralNames:Ljava/util/Set;
         3: .line 702
            goto 11
         4: .line 703
      StackMap locals:
      StackMap stack:
            aload 1 /* names */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 8
         5: .line 704
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
         6: .line 705
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.subjectAlternativeGeneralNames:Ljava/util/Set;
         7: .line 706
            return
         8: .line 708
      StackMap locals:
      StackMap stack:
            aload 1 /* names */
            invokestatic java.security.cert.X509CertSelector.cloneAndCheckNames:(Ljava/util/Collection;)Ljava/util/Set;
            astore 2 /* tempNames */
        start local 2 // java.util.Set tempNames
         9: .line 710
            aload 0 /* this */
            aload 2 /* tempNames */
            invokestatic java.security.cert.X509CertSelector.parseNames:(Ljava/util/Collection;)Ljava/util/Set;
            putfield java.security.cert.X509CertSelector.subjectAlternativeGeneralNames:Ljava/util/Set;
        10: .line 711
            aload 0 /* this */
            aload 2 /* tempNames */
            putfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
        end local 2 // java.util.Set tempNames
        11: .line 713
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Collection names
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/security/cert/X509CertSelector;
            0   12     1      names  Ljava/util/Collection<Ljava/util/List<*>;>;
            9   11     2  tempNames  Ljava/util/Set<Ljava/util/List<*>;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Collection<Ljava/util/List<*>;>;)V
    MethodParameters:
       Name  Flags
      names  

  public void addSubjectAlternativeName(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // int type
        start local 2 // java.lang.String name
         0: .line 755
            aload 0 /* this */
            iload 1 /* type */
            aload 2 /* name */
            invokevirtual java.security.cert.X509CertSelector.addSubjectAlternativeNameInternal:(ILjava/lang/Object;)V
         1: .line 756
            return
        end local 2 // java.lang.String name
        end local 1 // int type
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/security/cert/X509CertSelector;
            0    2     1  type  I
            0    2     2  name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      type  
      name  

  public void addSubjectAlternativeName(int, byte[]);
    descriptor: (I[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // int type
        start local 2 // byte[] name
         0: .line 800
            aload 0 /* this */
            iload 1 /* type */
            aload 2 /* name */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            invokevirtual java.security.cert.X509CertSelector.addSubjectAlternativeNameInternal:(ILjava/lang/Object;)V
         1: .line 801
            return
        end local 2 // byte[] name
        end local 1 // int type
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/security/cert/X509CertSelector;
            0    2     1  type  I
            0    2     2  name  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      type  
      name  

  private void addSubjectAlternativeNameInternal(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // int type
        start local 2 // java.lang.Object name
         0: .line 816
            iload 1 /* type */
            aload 2 /* name */
            invokestatic java.security.cert.X509CertSelector.makeGeneralNameInterface:(ILjava/lang/Object;)Lsun/security/x509/GeneralNameInterface;
            astore 3 /* tempName */
        start local 3 // sun.security.x509.GeneralNameInterface tempName
         1: .line 817
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
            ifnonnull 3
         2: .line 818
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
         3: .line 820
      StackMap locals: sun.security.x509.GeneralNameInterface
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeGeneralNames:Ljava/util/Set;
            ifnonnull 5
         4: .line 821
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield java.security.cert.X509CertSelector.subjectAlternativeGeneralNames:Ljava/util/Set;
         5: .line 823
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* list */
        start local 4 // java.util.List list
         6: .line 824
            aload 4 /* list */
            iload 1 /* type */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 825
            aload 4 /* list */
            aload 2 /* name */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 826
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
            aload 4 /* list */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 827
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeGeneralNames:Ljava/util/Set;
            aload 3 /* tempName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 828
            return
        end local 4 // java.util.List list
        end local 3 // sun.security.x509.GeneralNameInterface tempName
        end local 2 // java.lang.Object name
        end local 1 // int type
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Ljava/security/cert/X509CertSelector;
            0   11     1      type  I
            0   11     2      name  Ljava/lang/Object;
            1   11     3  tempName  Lsun/security/x509/GeneralNameInterface;
            6   11     4      list  Ljava/util/List<Ljava/lang/Object;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      type  
      name  

  private static java.util.Set<sun.security.x509.GeneralNameInterface> parseNames(java.util.Collection<java.util.List<?>>);
    descriptor: (Ljava/util/Collection;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.util.Collection names
         0: .line 848
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* genNames */
        start local 1 // java.util.Set genNames
         1: .line 849
            aload 0 /* names */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals: java.util.Collection java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* nameList */
        start local 2 // java.util.List nameList
         3: .line 850
            aload 2 /* nameList */
            invokeinterface java.util.List.size:()I
            iconst_2
            if_icmpeq 5
         4: .line 851
            new java.io.IOException
            dup
            ldc "name list size not 2"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 853
      StackMap locals: java.util.Collection java.util.Set java.util.List java.util.Iterator
      StackMap stack:
            aload 2 /* nameList */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 4 /* o */
        start local 4 // java.lang.Object o
         6: .line 854
            aload 4 /* o */
            instanceof java.lang.Integer
            ifne 8
         7: .line 855
            new java.io.IOException
            dup
            ldc "expected an Integer"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 857
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* o */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* nameType */
        start local 5 // int nameType
         9: .line 858
            aload 2 /* nameList */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 4 /* o */
        10: .line 859
            aload 1 /* genNames */
            iload 5 /* nameType */
            aload 4 /* o */
            invokestatic java.security.cert.X509CertSelector.makeGeneralNameInterface:(ILjava/lang/Object;)Lsun/security/x509/GeneralNameInterface;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // int nameType
        end local 4 // java.lang.Object o
        end local 2 // java.util.List nameList
        11: .line 849
      StackMap locals: java.util.Collection java.util.Set top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        12: .line 862
            aload 1 /* genNames */
            areturn
        end local 1 // java.util.Set genNames
        end local 0 // java.util.Collection names
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0     names  Ljava/util/Collection<Ljava/util/List<*>;>;
            1   13     1  genNames  Ljava/util/Set<Lsun/security/x509/GeneralNameInterface;>;
            3   11     2  nameList  Ljava/util/List<*>;
            6   11     4         o  Ljava/lang/Object;
            9   11     5  nameType  I
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Collection<Ljava/util/List<*>;>;)Ljava/util/Set<Lsun/security/x509/GeneralNameInterface;>;
    MethodParameters:
       Name  Flags
      names  

  static boolean equalNames(java.util.Collection<?>, java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.Collection object1
        start local 1 // java.util.Collection object2
         0: .line 876
            aload 0 /* object1 */
            ifnull 1
            aload 1 /* object2 */
            ifnonnull 3
         1: .line 877
      StackMap locals:
      StackMap stack:
            aload 0 /* object1 */
            aload 1 /* object2 */
            if_acmpne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 879
      StackMap locals:
      StackMap stack:
            aload 0 /* object1 */
            aload 1 /* object2 */
            invokeinterface java.util.Collection.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.util.Collection object2
        end local 0 // java.util.Collection object1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  object1  Ljava/util/Collection<*>;
            0    4     1  object2  Ljava/util/Collection<*>;
    Signature: (Ljava/util/Collection<*>;Ljava/util/Collection<*>;)Z
    MethodParameters:
         Name  Flags
      object1  
      object2  

  static sun.security.x509.GeneralNameInterface makeGeneralNameInterface(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)Lsun/security/x509/GeneralNameInterface;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // int type
        start local 1 // java.lang.Object name
         0: .line 900
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 4
         1: .line 901
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.makeGeneralNameInterface("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 902
            iload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 901
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         4: .line 905
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            instanceof java.lang.String
            ifeq 30
         5: .line 906
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 9
         6: .line 907
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.makeGeneralNameInterface() name is String: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 908
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 907
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 910
      StackMap locals:
      StackMap stack:
            iload 0 /* type */
            tableswitch { // 1 - 8
                    1: 10
                    2: 12
                    3: 22
                    4: 14
                    5: 22
                    6: 16
                    7: 18
                    8: 20
              default: 22
          }
        10: .line 912
      StackMap locals:
      StackMap stack:
            new sun.security.x509.RFC822Name
            dup
            aload 1 /* name */
            checkcast java.lang.String
            invokespecial sun.security.x509.RFC822Name.<init>:(Ljava/lang/String;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        11: .line 913
            goto 25
        end local 2 // sun.security.x509.GeneralNameInterface result
        12: .line 915
      StackMap locals:
      StackMap stack:
            new sun.security.x509.DNSName
            dup
            aload 1 /* name */
            checkcast java.lang.String
            invokespecial sun.security.x509.DNSName.<init>:(Ljava/lang/String;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        13: .line 916
            goto 25
        end local 2 // sun.security.x509.GeneralNameInterface result
        14: .line 918
      StackMap locals:
      StackMap stack:
            new sun.security.x509.X500Name
            dup
            aload 1 /* name */
            checkcast java.lang.String
            invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        15: .line 919
            goto 25
        end local 2 // sun.security.x509.GeneralNameInterface result
        16: .line 921
      StackMap locals:
      StackMap stack:
            new sun.security.x509.URIName
            dup
            aload 1 /* name */
            checkcast java.lang.String
            invokespecial sun.security.x509.URIName.<init>:(Ljava/lang/String;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        17: .line 922
            goto 25
        end local 2 // sun.security.x509.GeneralNameInterface result
        18: .line 924
      StackMap locals:
      StackMap stack:
            new sun.security.x509.IPAddressName
            dup
            aload 1 /* name */
            checkcast java.lang.String
            invokespecial sun.security.x509.IPAddressName.<init>:(Ljava/lang/String;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        19: .line 925
            goto 25
        end local 2 // sun.security.x509.GeneralNameInterface result
        20: .line 927
      StackMap locals:
      StackMap stack:
            new sun.security.x509.OIDName
            dup
            aload 1 /* name */
            checkcast java.lang.String
            invokespecial sun.security.x509.OIDName.<init>:(Ljava/lang/String;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        21: .line 928
            goto 25
        end local 2 // sun.security.x509.GeneralNameInterface result
        22: .line 930
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unable to parse String names of type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        23: .line 931
            iload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 930
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // sun.security.x509.GeneralNameInterface result
        25: .line 933
      StackMap locals: sun.security.x509.GeneralNameInterface
      StackMap stack:
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 66
        26: .line 934
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.makeGeneralNameInterface() result: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 935
            aload 2 /* result */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 934
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        29: .line 937
            goto 66
        end local 2 // sun.security.x509.GeneralNameInterface result
      StackMap locals:
      StackMap stack:
        30: aload 1 /* name */
            instanceof byte[]
            ifeq 63
        31: .line 938
            new sun.security.util.DerValue
            dup
            aload 1 /* name */
            checkcast byte[]
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 3 /* val */
        start local 3 // sun.security.util.DerValue val
        32: .line 939
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 36
        33: .line 940
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
        34: .line 941
            ldc "X509CertSelector.makeGeneralNameInterface() is byte[]"
        35: .line 940
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        36: .line 944
      StackMap locals: int java.lang.Object top sun.security.util.DerValue
      StackMap stack:
            iload 0 /* type */
            tableswitch { // 0 - 8
                    0: 37
                    1: 39
                    2: 41
                    3: 43
                    4: 45
                    5: 47
                    6: 49
                    7: 51
                    8: 53
              default: 55
          }
        37: .line 946
      StackMap locals:
      StackMap stack:
            new sun.security.x509.OtherName
            dup
            aload 3 /* val */
            invokespecial sun.security.x509.OtherName.<init>:(Lsun/security/util/DerValue;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        38: .line 947
            goto 58
        end local 2 // sun.security.x509.GeneralNameInterface result
        39: .line 949
      StackMap locals:
      StackMap stack:
            new sun.security.x509.RFC822Name
            dup
            aload 3 /* val */
            invokespecial sun.security.x509.RFC822Name.<init>:(Lsun/security/util/DerValue;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        40: .line 950
            goto 58
        end local 2 // sun.security.x509.GeneralNameInterface result
        41: .line 952
      StackMap locals:
      StackMap stack:
            new sun.security.x509.DNSName
            dup
            aload 3 /* val */
            invokespecial sun.security.x509.DNSName.<init>:(Lsun/security/util/DerValue;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        42: .line 953
            goto 58
        end local 2 // sun.security.x509.GeneralNameInterface result
        43: .line 955
      StackMap locals:
      StackMap stack:
            new sun.security.x509.X400Address
            dup
            aload 3 /* val */
            invokespecial sun.security.x509.X400Address.<init>:(Lsun/security/util/DerValue;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        44: .line 956
            goto 58
        end local 2 // sun.security.x509.GeneralNameInterface result
        45: .line 958
      StackMap locals:
      StackMap stack:
            new sun.security.x509.X500Name
            dup
            aload 3 /* val */
            invokespecial sun.security.x509.X500Name.<init>:(Lsun/security/util/DerValue;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        46: .line 959
            goto 58
        end local 2 // sun.security.x509.GeneralNameInterface result
        47: .line 961
      StackMap locals:
      StackMap stack:
            new sun.security.x509.EDIPartyName
            dup
            aload 3 /* val */
            invokespecial sun.security.x509.EDIPartyName.<init>:(Lsun/security/util/DerValue;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        48: .line 962
            goto 58
        end local 2 // sun.security.x509.GeneralNameInterface result
        49: .line 964
      StackMap locals:
      StackMap stack:
            new sun.security.x509.URIName
            dup
            aload 3 /* val */
            invokespecial sun.security.x509.URIName.<init>:(Lsun/security/util/DerValue;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        50: .line 965
            goto 58
        end local 2 // sun.security.x509.GeneralNameInterface result
        51: .line 967
      StackMap locals:
      StackMap stack:
            new sun.security.x509.IPAddressName
            dup
            aload 3 /* val */
            invokespecial sun.security.x509.IPAddressName.<init>:(Lsun/security/util/DerValue;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        52: .line 968
            goto 58
        end local 2 // sun.security.x509.GeneralNameInterface result
        53: .line 970
      StackMap locals:
      StackMap stack:
            new sun.security.x509.OIDName
            dup
            aload 3 /* val */
            invokespecial sun.security.x509.OIDName.<init>:(Lsun/security/util/DerValue;)V
            astore 2 /* result */
        start local 2 // sun.security.x509.GeneralNameInterface result
        54: .line 971
            goto 58
        end local 2 // sun.security.x509.GeneralNameInterface result
        55: .line 973
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unable to parse byte array names of type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        56: .line 974
            iload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        57: .line 973
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // sun.security.x509.GeneralNameInterface result
        58: .line 976
      StackMap locals: int java.lang.Object sun.security.x509.GeneralNameInterface sun.security.util.DerValue
      StackMap stack:
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 66
        59: .line 977
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.makeGeneralNameInterface() result: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        60: .line 978
            aload 2 /* result */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        61: .line 977
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 3 // sun.security.util.DerValue val
        62: .line 980
            goto 66
        end local 2 // sun.security.x509.GeneralNameInterface result
        63: .line 981
      StackMap locals:
      StackMap stack:
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 65
        64: .line 982
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.makeGeneralName() input name not String or byte array"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        65: .line 985
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "name not String or byte array"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // sun.security.x509.GeneralNameInterface result
        66: .line 987
      StackMap locals: sun.security.x509.GeneralNameInterface
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // sun.security.x509.GeneralNameInterface result
        end local 1 // java.lang.Object name
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   67     0    type  I
            0   67     1    name  Ljava/lang/Object;
           11   12     2  result  Lsun/security/x509/GeneralNameInterface;
           13   14     2  result  Lsun/security/x509/GeneralNameInterface;
           15   16     2  result  Lsun/security/x509/GeneralNameInterface;
           17   18     2  result  Lsun/security/x509/GeneralNameInterface;
           19   20     2  result  Lsun/security/x509/GeneralNameInterface;
           21   22     2  result  Lsun/security/x509/GeneralNameInterface;
           25   30     2  result  Lsun/security/x509/GeneralNameInterface;
           38   39     2  result  Lsun/security/x509/GeneralNameInterface;
           40   41     2  result  Lsun/security/x509/GeneralNameInterface;
           42   43     2  result  Lsun/security/x509/GeneralNameInterface;
           44   45     2  result  Lsun/security/x509/GeneralNameInterface;
           46   47     2  result  Lsun/security/x509/GeneralNameInterface;
           48   49     2  result  Lsun/security/x509/GeneralNameInterface;
           50   51     2  result  Lsun/security/x509/GeneralNameInterface;
           52   53     2  result  Lsun/security/x509/GeneralNameInterface;
           54   55     2  result  Lsun/security/x509/GeneralNameInterface;
           58   63     2  result  Lsun/security/x509/GeneralNameInterface;
           66   67     2  result  Lsun/security/x509/GeneralNameInterface;
           32   62     3     val  Lsun/security/util/DerValue;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      type  
      name  

  public void setNameConstraints(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // byte[] bytes
         0: .line 1040
            aload 1 /* bytes */
            ifnonnull 4
         1: .line 1041
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.ncBytes:[B
         2: .line 1042
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.nc:Lsun/security/x509/NameConstraintsExtension;
         3: .line 1043
            goto 6
         4: .line 1044
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bytes */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield java.security.cert.X509CertSelector.ncBytes:[B
         5: .line 1045
            aload 0 /* this */
            new sun.security.x509.NameConstraintsExtension
            dup
            getstatic java.security.cert.X509CertSelector.FALSE:Ljava/lang/Boolean;
            aload 1 /* bytes */
            invokespecial sun.security.x509.NameConstraintsExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
            putfield java.security.cert.X509CertSelector.nc:Lsun/security/x509/NameConstraintsExtension;
         6: .line 1047
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] bytes
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljava/security/cert/X509CertSelector;
            0    7     1  bytes  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      bytes  

  public void setBasicConstraints(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // int minMaxPathLen
         0: .line 1066
            iload 1 /* minMaxPathLen */
            bipush -2
            if_icmpge 2
         1: .line 1067
            new java.lang.IllegalArgumentException
            dup
            ldc "basic constraints less than -2"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1069
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* minMaxPathLen */
            putfield java.security.cert.X509CertSelector.basicConstraints:I
         3: .line 1070
            return
        end local 1 // int minMaxPathLen
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Ljava/security/cert/X509CertSelector;
            0    4     1  minMaxPathLen  I
    MethodParameters:
               Name  Flags
      minMaxPathLen  

  public void setPolicy(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.util.Set certPolicySet
         0: .line 1093
            aload 1 /* certPolicySet */
            ifnonnull 4
         1: .line 1094
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.policySet:Ljava/util/Set;
         2: .line 1095
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.policy:Lsun/security/x509/CertificatePolicySet;
         3: .line 1096
            goto 18
         4: .line 1099
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            aload 1 /* certPolicySet */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
         5: .line 1098
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            astore 2 /* tempSet */
        start local 2 // java.util.Set tempSet
         6: .line 1101
            aload 2 /* tempSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* i */
        start local 3 // java.util.Iterator i
         7: .line 1102
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 4 /* polIdVector */
        start local 4 // java.util.Vector polIdVector
         8: .line 1103
            goto 15
         9: .line 1104
      StackMap locals: java.util.Set java.util.Iterator java.util.Vector
      StackMap stack:
            aload 3 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* o */
        start local 5 // java.lang.Object o
        10: .line 1105
            aload 5 /* o */
            instanceof java.lang.String
            ifne 12
        11: .line 1106
            new java.io.IOException
            dup
            ldc "non String in certPolicySet"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 1108
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* polIdVector */
            new sun.security.x509.CertificatePolicyId
            dup
            new sun.security.util.ObjectIdentifier
            dup
        13: .line 1109
            aload 5 /* o */
            checkcast java.lang.String
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokespecial sun.security.x509.CertificatePolicyId.<init>:(Lsun/security/util/ObjectIdentifier;)V
        14: .line 1108
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.Object o
        15: .line 1103
      StackMap locals:
      StackMap stack:
            aload 3 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        16: .line 1112
            aload 0 /* this */
            aload 2 /* tempSet */
            putfield java.security.cert.X509CertSelector.policySet:Ljava/util/Set;
        17: .line 1113
            aload 0 /* this */
            new sun.security.x509.CertificatePolicySet
            dup
            aload 4 /* polIdVector */
            invokespecial sun.security.x509.CertificatePolicySet.<init>:(Ljava/util/Vector;)V
            putfield java.security.cert.X509CertSelector.policy:Lsun/security/x509/CertificatePolicySet;
        end local 4 // java.util.Vector polIdVector
        end local 3 // java.util.Iterator i
        end local 2 // java.util.Set tempSet
        18: .line 1115
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Set certPolicySet
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Ljava/security/cert/X509CertSelector;
            0   19     1  certPolicySet  Ljava/util/Set<Ljava/lang/String;>;
            6   18     2        tempSet  Ljava/util/Set<Ljava/lang/String;>;
            7   18     3              i  Ljava/util/Iterator<Ljava/lang/String;>;
            8   18     4    polIdVector  Ljava/util/Vector<Lsun/security/x509/CertificatePolicyId;>;
           10   15     5              o  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
               Name  Flags
      certPolicySet  

  public void setPathToNames(java.util.Collection<java.util.List<?>>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.util.Collection names
         0: .line 1169
            aload 1 /* names */
            ifnull 1
            aload 1 /* names */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 4
         1: .line 1170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.pathToNames:Ljava/util/Set;
         2: .line 1171
            aload 0 /* this */
            aconst_null
            putfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
         3: .line 1172
            goto 7
         4: .line 1173
      StackMap locals:
      StackMap stack:
            aload 1 /* names */
            invokestatic java.security.cert.X509CertSelector.cloneAndCheckNames:(Ljava/util/Collection;)Ljava/util/Set;
            astore 2 /* tempNames */
        start local 2 // java.util.Set tempNames
         5: .line 1174
            aload 0 /* this */
            aload 2 /* tempNames */
            invokestatic java.security.cert.X509CertSelector.parseNames:(Ljava/util/Collection;)Ljava/util/Set;
            putfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
         6: .line 1176
            aload 0 /* this */
            aload 2 /* tempNames */
            putfield java.security.cert.X509CertSelector.pathToNames:Ljava/util/Set;
        end local 2 // java.util.Set tempNames
         7: .line 1178
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Collection names
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljava/security/cert/X509CertSelector;
            0    8     1      names  Ljava/util/Collection<Ljava/util/List<*>;>;
            5    7     2  tempNames  Ljava/util/Set<Ljava/util/List<*>;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Collection<Ljava/util/List<*>;>;)V
    MethodParameters:
       Name  Flags
      names  

  void setPathToNamesInternal(java.util.Set<sun.security.x509.GeneralNameInterface>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.util.Set names
         0: .line 1184
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield java.security.cert.X509CertSelector.pathToNames:Ljava/util/Set;
         1: .line 1185
            aload 0 /* this */
            aload 1 /* names */
            putfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
         2: .line 1186
            return
        end local 1 // java.util.Set names
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/security/cert/X509CertSelector;
            0    3     1  names  Ljava/util/Set<Lsun/security/x509/GeneralNameInterface;>;
    Signature: (Ljava/util/Set<Lsun/security/x509/GeneralNameInterface;>;)V
    MethodParameters:
       Name  Flags
      names  

  public void addPathToName(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // int type
        start local 2 // java.lang.String name
         0: .line 1222
            aload 0 /* this */
            iload 1 /* type */
            aload 2 /* name */
            invokevirtual java.security.cert.X509CertSelector.addPathToNameInternal:(ILjava/lang/Object;)V
         1: .line 1223
            return
        end local 2 // java.lang.String name
        end local 1 // int type
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/security/cert/X509CertSelector;
            0    2     1  type  I
            0    2     2  name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      type  
      name  

  public void addPathToName(int, byte[]);
    descriptor: (I[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // int type
        start local 2 // byte[] name
         0: .line 1252
            aload 0 /* this */
            iload 1 /* type */
            aload 2 /* name */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            invokevirtual java.security.cert.X509CertSelector.addPathToNameInternal:(ILjava/lang/Object;)V
         1: .line 1253
            return
        end local 2 // byte[] name
        end local 1 // int type
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/security/cert/X509CertSelector;
            0    2     1  type  I
            0    2     2  name  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      type  
      name  

  private void addPathToNameInternal(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // int type
        start local 2 // java.lang.Object name
         0: .line 1268
            iload 1 /* type */
            aload 2 /* name */
            invokestatic java.security.cert.X509CertSelector.makeGeneralNameInterface:(ILjava/lang/Object;)Lsun/security/x509/GeneralNameInterface;
            astore 3 /* tempName */
        start local 3 // sun.security.x509.GeneralNameInterface tempName
         1: .line 1269
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
            ifnonnull 4
         2: .line 1270
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield java.security.cert.X509CertSelector.pathToNames:Ljava/util/Set;
         3: .line 1271
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
         4: .line 1273
      StackMap locals: sun.security.x509.GeneralNameInterface
      StackMap stack:
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* list */
        start local 4 // java.util.List list
         5: .line 1274
            aload 4 /* list */
            iload 1 /* type */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1275
            aload 4 /* list */
            aload 2 /* name */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1276
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToNames:Ljava/util/Set;
            aload 4 /* list */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1277
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
            aload 3 /* tempName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1278
            return
        end local 4 // java.util.List list
        end local 3 // sun.security.x509.GeneralNameInterface tempName
        end local 2 // java.lang.Object name
        end local 1 // int type
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljava/security/cert/X509CertSelector;
            0   10     1      type  I
            0   10     2      name  Ljava/lang/Object;
            1   10     3  tempName  Lsun/security/x509/GeneralNameInterface;
            5   10     4      list  Ljava/util/List<Ljava/lang/Object;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      type  
      name  

  public java.security.cert.X509Certificate getCertificate();
    descriptor: ()Ljava/security/cert/X509Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1290
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.x509Cert:Ljava/security/cert/X509Certificate;
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/cert/X509CertSelector;

  public java.math.BigInteger getSerialNumber();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1304
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.serialNumber:Ljava/math/BigInteger;
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/cert/X509CertSelector;

  public javax.security.auth.x500.X500Principal getIssuer();
    descriptor: ()Ljavax/security/auth/x500/X500Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1318
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.issuer:Ljavax/security/auth/x500/X500Principal;
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/cert/X509CertSelector;

  public java.lang.String getIssuerAsString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1340
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.issuer:Ljavax/security/auth/x500/X500Principal;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield java.security.cert.X509CertSelector.issuer:Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;

  public byte[] getIssuerAsBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1363
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.issuer:Ljavax/security/auth/x500/X500Principal;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield java.security.cert.X509CertSelector.issuer:Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
      StackMap locals:
      StackMap stack: byte[]
         2: areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;
    Exceptions:
      throws java.io.IOException

  public javax.security.auth.x500.X500Principal getSubject();
    descriptor: ()Ljavax/security/auth/x500/X500Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1377
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subject:Ljavax/security/auth/x500/X500Principal;
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/cert/X509CertSelector;

  public java.lang.String getSubjectAsString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1399
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subject:Ljavax/security/auth/x500/X500Principal;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subject:Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;

  public byte[] getSubjectAsBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1422
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subject:Ljavax/security/auth/x500/X500Principal;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subject:Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
      StackMap locals:
      StackMap stack: byte[]
         2: areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;
    Exceptions:
      throws java.io.IOException

  public byte[] getSubjectKeyIdentifier();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1438
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectKeyID:[B
            ifnonnull 2
         1: .line 1439
            aconst_null
            areturn
         2: .line 1441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectKeyID:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;

  public byte[] getAuthorityKeyIdentifier();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1457
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.authorityKeyID:[B
            ifnonnull 2
         1: .line 1458
            aconst_null
            areturn
         2: .line 1460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.authorityKeyID:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;

  public java.util.Date getCertificateValid();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1476
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.certificateValid:Ljava/util/Date;
            ifnonnull 2
         1: .line 1477
            aconst_null
            areturn
         2: .line 1479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.certificateValid:Ljava/util/Date;
            invokevirtual java.util.Date.clone:()Ljava/lang/Object;
            checkcast java.util.Date
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;

  public java.util.Date getPrivateKeyValid();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1495
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.privateKeyValid:Ljava/util/Date;
            ifnonnull 2
         1: .line 1496
            aconst_null
            areturn
         2: .line 1498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.privateKeyValid:Ljava/util/Date;
            invokevirtual java.util.Date.clone:()Ljava/lang/Object;
            checkcast java.util.Date
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;

  public java.lang.String getSubjectPublicKeyAlgID();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1513
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKeyAlgID:Lsun/security/util/ObjectIdentifier;
            ifnonnull 2
         1: .line 1514
            aconst_null
            areturn
         2: .line 1516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKeyAlgID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;

  public java.security.PublicKey getSubjectPublicKey();
    descriptor: ()Ljava/security/PublicKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1528
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKey:Ljava/security/PublicKey;
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/cert/X509CertSelector;

  public boolean[] getKeyUsage();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1546
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyUsage:[Z
            ifnonnull 2
         1: .line 1547
            aconst_null
            areturn
         2: .line 1549
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyUsage:[Z
            invokevirtual boolean[].clone:()Ljava/lang/Object;
            checkcast boolean[]
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;

  public java.util.Set<java.lang.String> getExtendedKeyUsage();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1565
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyPurposeSet:Ljava/util/Set;
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/cert/X509CertSelector;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public boolean getMatchAllSubjectAltNames();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1585
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.matchAllSubjectAltNames:Z
            ireturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/cert/X509CertSelector;

  public java.util.Collection<java.util.List<?>> getSubjectAlternativeNames();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1622
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
            ifnonnull 2
         1: .line 1623
            aconst_null
            areturn
         2: .line 1625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
            invokestatic java.security.cert.X509CertSelector.cloneNames:(Ljava/util/Collection;)Ljava/util/Set;
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;
    Signature: ()Ljava/util/Collection<Ljava/util/List<*>;>;

  private static java.util.Set<java.util.List<?>> cloneNames(java.util.Collection<java.util.List<?>>);
    descriptor: (Ljava/util/Collection;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.util.Collection names
         0: .line 1650
            aload 0 /* names */
            invokestatic java.security.cert.X509CertSelector.cloneAndCheckNames:(Ljava/util/Collection;)Ljava/util/Set;
         1: areturn
         2: .line 1651
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 1652
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cloneNames encountered IOException: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 1653
            aload 1 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 1652
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.io.IOException e
        end local 0 // java.util.Collection names
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  names  Ljava/util/Collection<Ljava/util/List<*>;>;
            3    6     1      e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    Signature: (Ljava/util/Collection<Ljava/util/List<*>;>;)Ljava/util/Set<Ljava/util/List<*>;>;
    MethodParameters:
       Name  Flags
      names  

  private static java.util.Set<java.util.List<?>> cloneAndCheckNames(java.util.Collection<java.util.List<?>>);
    descriptor: (Ljava/util/Collection;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.util.Collection names
         0: .line 1674
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* namesCopy */
        start local 1 // java.util.Set namesCopy
         1: .line 1675
            aload 0 /* names */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.util.Collection java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* o */
        start local 2 // java.util.List o
         3: .line 1677
            aload 1 /* namesCopy */
            new java.util.ArrayList
            dup
            aload 2 /* o */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.util.List o
         4: .line 1675
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 1681
            aload 1 /* namesCopy */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 24
      StackMap locals:
      StackMap stack:
         6: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* list */
        start local 2 // java.util.List list
         7: .line 1683
            aload 2 /* list */
            astore 4 /* nameList */
        start local 4 // java.util.List nameList
         8: .line 1684
            aload 4 /* nameList */
            invokeinterface java.util.List.size:()I
            iconst_2
            if_icmpeq 10
         9: .line 1685
            new java.io.IOException
            dup
            ldc "name list size not 2"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 1687
      StackMap locals: java.util.Collection java.util.Set java.util.List java.util.Iterator java.util.List
      StackMap stack:
            aload 4 /* nameList */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 5 /* o */
        start local 5 // java.lang.Object o
        11: .line 1688
            aload 5 /* o */
            instanceof java.lang.Integer
            ifne 13
        12: .line 1689
            new java.io.IOException
            dup
            ldc "expected an Integer"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1691
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* o */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 6 /* nameType */
        start local 6 // int nameType
        14: .line 1692
            iload 6 /* nameType */
            iflt 15
            iload 6 /* nameType */
            bipush 8
            if_icmple 16
        15: .line 1693
      StackMap locals: int
      StackMap stack:
            new java.io.IOException
            dup
            ldc "name type not 0-8"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 1695
      StackMap locals:
      StackMap stack:
            aload 4 /* nameList */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 7 /* nameObject */
        start local 7 // java.lang.Object nameObject
        17: .line 1696
            aload 7 /* nameObject */
            instanceof byte[]
            ifne 22
        18: .line 1697
            aload 7 /* nameObject */
            instanceof java.lang.String
            ifne 22
        19: .line 1698
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 21
        20: .line 1699
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.cloneAndCheckNames() name not byte array"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        21: .line 1702
      StackMap locals: java.lang.Object
      StackMap stack:
            new java.io.IOException
            dup
            ldc "name not byte array or String"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 1704
      StackMap locals:
      StackMap stack:
            aload 7 /* nameObject */
            instanceof byte[]
            ifeq 24
        23: .line 1705
            aload 4 /* nameList */
            iconst_1
            aload 7 /* nameObject */
            checkcast byte[]
            invokevirtual byte[].clone:()Ljava/lang/Object;
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.lang.Object nameObject
        end local 6 // int nameType
        end local 5 // java.lang.Object o
        end local 4 // java.util.List nameList
        end local 2 // java.util.List list
        24: .line 1681
      StackMap locals: java.util.Collection java.util.Set top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        25: .line 1708
            aload 1 /* namesCopy */
            areturn
        end local 1 // java.util.Set namesCopy
        end local 0 // java.util.Collection names
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0       names  Ljava/util/Collection<Ljava/util/List<*>;>;
            1   26     1   namesCopy  Ljava/util/Set<Ljava/util/List<*>;>;
            3    4     2           o  Ljava/util/List<*>;
            7   24     2        list  Ljava/util/List<*>;
            8   24     4    nameList  Ljava/util/List<Ljava/lang/Object;>;
           11   24     5           o  Ljava/lang/Object;
           14   24     6    nameType  I
           17   24     7  nameObject  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Collection<Ljava/util/List<*>;>;)Ljava/util/Set<Ljava/util/List<*>;>;
    MethodParameters:
       Name  Flags
      names  

  public byte[] getNameConstraints();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1732
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.ncBytes:[B
            ifnonnull 2
         1: .line 1733
            aconst_null
            areturn
         2: .line 1735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.ncBytes:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;

  public int getBasicConstraints();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1750
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.basicConstraints:I
            ireturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/cert/X509CertSelector;

  public java.util.Set<java.lang.String> getPolicy();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1766
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.policySet:Ljava/util/Set;
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/cert/X509CertSelector;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.util.Collection<java.util.List<?>> getPathToNames();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1801
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToNames:Ljava/util/Set;
            ifnonnull 2
         1: .line 1802
            aconst_null
            areturn
         2: .line 1804
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToNames:Ljava/util/Set;
            invokestatic java.security.cert.X509CertSelector.cloneNames:(Ljava/util/Collection;)Ljava/util/Set;
            areturn
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/cert/X509CertSelector;
    Signature: ()Ljava/util/Collection<Ljava/util/List<*>;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 1814
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 1815
            aload 1 /* sb */
            ldc "X509CertSelector: [\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 1816
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.x509Cert:Ljava/security/cert/X509Certificate;
            ifnull 4
         3: .line 1817
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Certificate: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.x509Cert:Ljava/security/cert/X509Certificate;
            invokevirtual java.security.cert.X509Certificate.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 1819
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.serialNumber:Ljava/math/BigInteger;
            ifnull 6
         5: .line 1820
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Serial Number: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.serialNumber:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 1822
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.issuer:Ljavax/security/auth/x500/X500Principal;
            ifnull 8
         7: .line 1823
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Issuer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.security.cert.X509CertSelector.getIssuerAsString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 1825
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subject:Ljavax/security/auth/x500/X500Principal;
            ifnull 10
         9: .line 1826
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Subject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.security.cert.X509CertSelector.getSubjectAsString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 1828
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  matchAllSubjectAltNames flag: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 1829
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.matchAllSubjectAltNames:Z
            invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 1828
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 1830
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
            ifnull 22
        14: .line 1831
            aload 1 /* sb */
            ldc "  SubjectAlternativeNames:\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 1832
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
        16: .line 1833
            goto 21
        17: .line 1834
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* list */
        start local 3 // java.util.List list
        18: .line 1835
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "    type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* list */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        19: .line 1836
            ldc ", name "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* list */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 1835
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 3 // java.util.List list
        21: .line 1833
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        end local 2 // java.util.Iterator i
        22: .line 1839
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectKeyID:[B
            ifnull 27
        23: .line 1840
            new sun.misc.HexDumpEncoder
            dup
            invokespecial sun.misc.HexDumpEncoder.<init>:()V
            astore 2 /* enc */
        start local 2 // sun.misc.HexDumpEncoder enc
        24: .line 1841
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Subject Key Identifier: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 1842
            aload 2 /* enc */
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectKeyID:[B
            invokevirtual sun.misc.HexDumpEncoder.encodeBuffer:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 1841
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 2 // sun.misc.HexDumpEncoder enc
        27: .line 1844
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.authorityKeyID:[B
            ifnull 32
        28: .line 1845
            new sun.misc.HexDumpEncoder
            dup
            invokespecial sun.misc.HexDumpEncoder.<init>:()V
            astore 2 /* enc */
        start local 2 // sun.misc.HexDumpEncoder enc
        29: .line 1846
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Authority Key Identifier: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        30: .line 1847
            aload 2 /* enc */
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.authorityKeyID:[B
            invokevirtual sun.misc.HexDumpEncoder.encodeBuffer:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 1846
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 2 // sun.misc.HexDumpEncoder enc
        32: .line 1849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.certificateValid:Ljava/util/Date;
            ifnull 36
        33: .line 1850
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Certificate Valid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        34: .line 1851
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.certificateValid:Ljava/util/Date;
            invokevirtual java.util.Date.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        35: .line 1850
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        36: .line 1853
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.privateKeyValid:Ljava/util/Date;
            ifnull 40
        37: .line 1854
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Private Key Valid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        38: .line 1855
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.privateKeyValid:Ljava/util/Date;
            invokevirtual java.util.Date.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        39: .line 1854
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        40: .line 1857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKeyAlgID:Lsun/security/util/ObjectIdentifier;
            ifnull 44
        41: .line 1858
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Subject Public Key AlgID: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        42: .line 1859
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKeyAlgID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 1858
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        44: .line 1861
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKey:Ljava/security/PublicKey;
            ifnull 48
        45: .line 1862
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Subject Public Key: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        46: .line 1863
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKey:Ljava/security/PublicKey;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        47: .line 1862
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        48: .line 1865
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyUsage:[Z
            ifnull 50
        49: .line 1866
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Key Usage: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyUsage:[Z
            invokestatic java.security.cert.X509CertSelector.keyUsageToString:([Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        50: .line 1868
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyPurposeSet:Ljava/util/Set;
            ifnull 54
        51: .line 1869
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Extended Key Usage: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        52: .line 1870
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyPurposeSet:Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        53: .line 1869
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        54: .line 1872
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.policy:Lsun/security/x509/CertificatePolicySet;
            ifnull 56
        55: .line 1873
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "  Policy: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.policy:Lsun/security/x509/CertificatePolicySet;
            invokevirtual sun.security.x509.CertificatePolicySet.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        56: .line 1875
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
            ifnull 62
        57: .line 1876
            aload 1 /* sb */
            ldc "  Path to names:\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        58: .line 1877
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
        59: .line 1878
            goto 61
        60: .line 1879
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "    "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        61: .line 1878
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 60
        end local 2 // java.util.Iterator i
        62: .line 1882
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        63: .line 1883
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   64     0  this  Ljava/security/cert/X509CertSelector;
            1   64     1    sb  Ljava/lang/StringBuffer;
           16   22     2     i  Ljava/util/Iterator<Ljava/util/List<*>;>;
           18   21     3  list  Ljava/util/List<*>;
           24   27     2   enc  Lsun/misc/HexDumpEncoder;
           29   32     2   enc  Lsun/misc/HexDumpEncoder;
           59   62     2     i  Ljava/util/Iterator<Lsun/security/x509/GeneralNameInterface;>;

  private static java.lang.String keyUsageToString(boolean[]);
    descriptor: ([Z)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // boolean[] k
         0: .line 1892
            ldc "KeyUsage [\n"
            astore 1 /* s */
        start local 1 // java.lang.String s
         1: .line 1894
            aload 0 /* k */
            iconst_0
            baload
            ifeq 3
         2: .line 1895
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  DigitalSignature\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
         3: .line 1897
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* k */
            iconst_1
            baload
            ifeq 5
         4: .line 1898
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Non_repudiation\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
         5: .line 1900
      StackMap locals:
      StackMap stack:
            aload 0 /* k */
            iconst_2
            baload
            ifeq 7
         6: .line 1901
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Key_Encipherment\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
         7: .line 1903
      StackMap locals:
      StackMap stack:
            aload 0 /* k */
            iconst_3
            baload
            ifeq 9
         8: .line 1904
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Data_Encipherment\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
         9: .line 1906
      StackMap locals:
      StackMap stack:
            aload 0 /* k */
            iconst_4
            baload
            ifeq 11
        10: .line 1907
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Key_Agreement\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
        11: .line 1909
      StackMap locals:
      StackMap stack:
            aload 0 /* k */
            iconst_5
            baload
            ifeq 13
        12: .line 1910
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Key_CertSign\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
        13: .line 1912
      StackMap locals:
      StackMap stack:
            aload 0 /* k */
            bipush 6
            baload
            ifeq 15
        14: .line 1913
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Crl_Sign\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
        15: .line 1915
      StackMap locals:
      StackMap stack:
            aload 0 /* k */
            bipush 7
            baload
            ifeq 17
        16: .line 1916
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Encipher_Only\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
        17: .line 1918
      StackMap locals:
      StackMap stack:
            aload 0 /* k */
            bipush 8
            baload
            ifeq 21
        18: .line 1919
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Decipher_Only\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
        19: .line 1921
            goto 21
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        20: pop
        21: .line 1923
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "]\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
        22: .line 1925
            aload 1 /* s */
            areturn
        end local 1 // java.lang.String s
        end local 0 // boolean[] k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0     k  [Z
            1   23     1     s  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1    19      20  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
      Name  Flags
      k     

  private static java.security.cert.Extension getExtensionObject(java.security.cert.X509Certificate, int);
    descriptor: (Ljava/security/cert/X509Certificate;I)Ljava/security/cert/Extension;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.security.cert.X509Certificate cert
        start local 1 // int extId
         0: .line 1949
            aload 0 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 9
         1: .line 1950
            aload 0 /* cert */
            checkcast sun.security.x509.X509CertImpl
            astore 2 /* impl */
        start local 2 // sun.security.x509.X509CertImpl impl
         2: .line 1951
            iload 1 /* extId */
            tableswitch { // 0 - 4
                    0: 3
                    1: 4
                    2: 5
                    3: 6
                    4: 7
              default: 8
          }
         3: .line 1953
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack:
            aload 2 /* impl */
            invokevirtual sun.security.x509.X509CertImpl.getPrivateKeyUsageExtension:()Lsun/security/x509/PrivateKeyUsageExtension;
            areturn
         4: .line 1955
      StackMap locals:
      StackMap stack:
            aload 2 /* impl */
            invokevirtual sun.security.x509.X509CertImpl.getSubjectAlternativeNameExtension:()Lsun/security/x509/SubjectAlternativeNameExtension;
            areturn
         5: .line 1957
      StackMap locals:
      StackMap stack:
            aload 2 /* impl */
            invokevirtual sun.security.x509.X509CertImpl.getNameConstraintsExtension:()Lsun/security/x509/NameConstraintsExtension;
            areturn
         6: .line 1959
      StackMap locals:
      StackMap stack:
            aload 2 /* impl */
            invokevirtual sun.security.x509.X509CertImpl.getCertificatePoliciesExtension:()Lsun/security/x509/CertificatePoliciesExtension;
            areturn
         7: .line 1961
      StackMap locals:
      StackMap stack:
            aload 2 /* impl */
            invokevirtual sun.security.x509.X509CertImpl.getExtendedKeyUsageExtension:()Lsun/security/x509/ExtendedKeyUsageExtension;
            areturn
         8: .line 1963
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // sun.security.x509.X509CertImpl impl
         9: .line 1966
      StackMap locals:
      StackMap stack:
            aload 0 /* cert */
            getstatic java.security.cert.X509CertSelector.EXTENSION_OIDS:[Ljava/lang/String;
            iload 1 /* extId */
            aaload
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 2 /* rawExtVal */
        start local 2 // byte[] rawExtVal
        10: .line 1967
            aload 2 /* rawExtVal */
            ifnonnull 12
        11: .line 1968
            aconst_null
            areturn
        12: .line 1970
      StackMap locals: byte[]
      StackMap stack:
            new sun.security.util.DerInputStream
            dup
            aload 2 /* rawExtVal */
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 3 /* in */
        start local 3 // sun.security.util.DerInputStream in
        13: .line 1971
            aload 3 /* in */
            invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
            astore 4 /* encoded */
        start local 4 // byte[] encoded
        14: .line 1972
            iload 1 /* extId */
            tableswitch { // 0 - 4
                    0: 15
                    1: 19
                    2: 20
                    3: 21
                    4: 22
              default: 23
          }
        15: .line 1975
      StackMap locals: sun.security.util.DerInputStream byte[]
      StackMap stack:
            new sun.security.x509.PrivateKeyUsageExtension
            dup
            getstatic java.security.cert.X509CertSelector.FALSE:Ljava/lang/Boolean;
            aload 4 /* encoded */
            invokespecial sun.security.x509.PrivateKeyUsageExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
        16: areturn
        17: .line 1976
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 5 /* ex */
        start local 5 // java.security.cert.CertificateException ex
        18: .line 1977
            new java.io.IOException
            dup
            aload 5 /* ex */
            invokevirtual java.security.cert.CertificateException.getMessage:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.security.cert.CertificateException ex
        19: .line 1980
      StackMap locals:
      StackMap stack:
            new sun.security.x509.SubjectAlternativeNameExtension
            dup
            getstatic java.security.cert.X509CertSelector.FALSE:Ljava/lang/Boolean;
            aload 4 /* encoded */
            invokespecial sun.security.x509.SubjectAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
            areturn
        20: .line 1982
      StackMap locals:
      StackMap stack:
            new sun.security.x509.NameConstraintsExtension
            dup
            getstatic java.security.cert.X509CertSelector.FALSE:Ljava/lang/Boolean;
            aload 4 /* encoded */
            invokespecial sun.security.x509.NameConstraintsExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
            areturn
        21: .line 1984
      StackMap locals:
      StackMap stack:
            new sun.security.x509.CertificatePoliciesExtension
            dup
            getstatic java.security.cert.X509CertSelector.FALSE:Ljava/lang/Boolean;
            aload 4 /* encoded */
            invokespecial sun.security.x509.CertificatePoliciesExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
            areturn
        22: .line 1986
      StackMap locals:
      StackMap stack:
            new sun.security.x509.ExtendedKeyUsageExtension
            dup
            getstatic java.security.cert.X509CertSelector.FALSE:Ljava/lang/Boolean;
            aload 4 /* encoded */
            invokespecial sun.security.x509.ExtendedKeyUsageExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
            areturn
        23: .line 1988
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // byte[] encoded
        end local 3 // sun.security.util.DerInputStream in
        end local 2 // byte[] rawExtVal
        end local 1 // int extId
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       cert  Ljava/security/cert/X509Certificate;
            0   24     1      extId  I
            2    9     2       impl  Lsun/security/x509/X509CertImpl;
           10   24     2  rawExtVal  [B
           13   24     3         in  Lsun/security/util/DerInputStream;
           14   24     4    encoded  [B
           18   19     5         ex  Ljava/security/cert/CertificateException;
      Exception table:
        from    to  target  type
          15    16      17  Class java.security.cert.CertificateException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      cert   
      extId  

  public boolean match(java.security.cert.Certificate);
    descriptor: (Ljava/security/cert/Certificate;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.Certificate cert
         0: .line 2000
            aload 1 /* cert */
            instanceof java.security.cert.X509Certificate
            ifne 2
         1: .line 2001
            iconst_0
            ireturn
         2: .line 2003
      StackMap locals:
      StackMap stack:
            aload 1 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 2 /* xcert */
        start local 2 // java.security.cert.X509Certificate xcert
         3: .line 2005
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 9
         4: .line 2006
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.match(SN: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 2007
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            bipush 16
            invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n  Issuer: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 2008
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n  Subject: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         7: .line 2009
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 2006
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2013
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.x509Cert:Ljava/security/cert/X509Certificate;
            ifnull 14
        10: .line 2014
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.x509Cert:Ljava/security/cert/X509Certificate;
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifne 14
        11: .line 2015
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 13
        12: .line 2016
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: certs don't match"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 2019
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        14: .line 2024
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.serialNumber:Ljava/math/BigInteger;
            ifnull 19
        15: .line 2025
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.serialNumber:Ljava/math/BigInteger;
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifne 19
        16: .line 2026
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 18
        17: .line 2027
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: serial numbers don't match"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        18: .line 2030
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        19: .line 2035
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.issuer:Ljavax/security/auth/x500/X500Principal;
            ifnull 24
        20: .line 2036
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.issuer:Ljavax/security/auth/x500/X500Principal;
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
            ifne 24
        21: .line 2037
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 23
        22: .line 2038
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: issuer DNs don't match"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        23: .line 2041
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        24: .line 2046
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subject:Ljavax/security/auth/x500/X500Principal;
            ifnull 29
        25: .line 2047
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subject:Ljavax/security/auth/x500/X500Principal;
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
            ifne 29
        26: .line 2048
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 28
        27: .line 2049
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: subject DNs don't match"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 2052
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        29: .line 2057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.certificateValid:Ljava/util/Date;
            ifnull 36
        30: .line 2059
            aload 2 /* xcert */
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.certificateValid:Ljava/util/Date;
            invokevirtual java.security.cert.X509Certificate.checkValidity:(Ljava/util/Date;)V
        31: .line 2060
            goto 36
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        32: pop
        33: .line 2061
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 35
        34: .line 2062
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: certificate not within validity period"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        35: .line 2065
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        36: .line 2070
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKeyBytes:[B
            ifnull 42
        37: .line 2071
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokeinterface java.security.PublicKey.getEncoded:()[B
            astore 3 /* certKey */
        start local 3 // byte[] certKey
        38: .line 2072
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKeyBytes:[B
            aload 3 /* certKey */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 42
        39: .line 2073
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 41
        40: .line 2074
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: subject public keys don't match"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        41: .line 2077
      StackMap locals: byte[]
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // byte[] certKey
        42: .line 2081
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509CertSelector.matchBasicConstraints:(Ljava/security/cert/X509Certificate;)Z
            ifeq 54
        43: .line 2082
            aload 0 /* this */
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509CertSelector.matchKeyUsage:(Ljava/security/cert/X509Certificate;)Z
            ifeq 54
        44: .line 2083
            aload 0 /* this */
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509CertSelector.matchExtendedKeyUsage:(Ljava/security/cert/X509Certificate;)Z
            ifeq 54
        45: .line 2084
            aload 0 /* this */
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509CertSelector.matchSubjectKeyID:(Ljava/security/cert/X509Certificate;)Z
            ifeq 54
        46: .line 2085
            aload 0 /* this */
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509CertSelector.matchAuthorityKeyID:(Ljava/security/cert/X509Certificate;)Z
            ifeq 54
        47: .line 2086
            aload 0 /* this */
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509CertSelector.matchPrivateKeyValid:(Ljava/security/cert/X509Certificate;)Z
            ifeq 54
        48: .line 2087
            aload 0 /* this */
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509CertSelector.matchSubjectPublicKeyAlgID:(Ljava/security/cert/X509Certificate;)Z
            ifeq 54
        49: .line 2088
            aload 0 /* this */
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509CertSelector.matchPolicy:(Ljava/security/cert/X509Certificate;)Z
            ifeq 54
        50: .line 2089
            aload 0 /* this */
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509CertSelector.matchSubjectAlternativeNames:(Ljava/security/cert/X509Certificate;)Z
            ifeq 54
        51: .line 2090
            aload 0 /* this */
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509CertSelector.matchPathToNames:(Ljava/security/cert/X509Certificate;)Z
            ifeq 54
        52: .line 2091
            aload 0 /* this */
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509CertSelector.matchNameConstraints:(Ljava/security/cert/X509Certificate;)Z
            ifeq 54
        53: .line 2081
            iconst_1
            goto 55
      StackMap locals:
      StackMap stack:
        54: iconst_0
      StackMap locals:
      StackMap stack: int
        55: istore 3 /* result */
        start local 3 // boolean result
        56: .line 2093
            iload 3 /* result */
            ifeq 58
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 58
        57: .line 2094
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match returning: true"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        58: .line 2096
      StackMap locals: int
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // boolean result
        end local 2 // java.security.cert.X509Certificate xcert
        end local 1 // java.security.cert.Certificate cert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   59     0     this  Ljava/security/cert/X509CertSelector;
            0   59     1     cert  Ljava/security/cert/Certificate;
            3   59     2    xcert  Ljava/security/cert/X509Certificate;
           38   42     3  certKey  [B
           56   59     3   result  Z
      Exception table:
        from    to  target  type
          30    31      32  Class java.security.cert.CertificateException
    MethodParameters:
      Name  Flags
      cert  

  private boolean matchSubjectKeyID(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.X509Certificate xcert
         0: .line 2101
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectKeyID:[B
            ifnonnull 2
         1: .line 2102
            iconst_1
            ireturn
         2: .line 2105
      StackMap locals:
      StackMap stack:
            aload 1 /* xcert */
            ldc "2.5.29.14"
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 2 /* extVal */
        start local 2 // byte[] extVal
         3: .line 2106
            aload 2 /* extVal */
            ifnonnull 7
         4: .line 2107
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 6
         5: .line 2108
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: no subject key ID extension"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         6: .line 2111
      StackMap locals: byte[]
      StackMap stack:
            iconst_0
            ireturn
         7: .line 2113
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerInputStream
            dup
            aload 2 /* extVal */
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 3 /* in */
        start local 3 // sun.security.util.DerInputStream in
         8: .line 2114
            aload 3 /* in */
            invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
            astore 4 /* certSubjectKeyID */
        start local 4 // byte[] certSubjectKeyID
         9: .line 2115
            aload 4 /* certSubjectKeyID */
            ifnull 11
        10: .line 2116
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectKeyID:[B
            aload 4 /* certSubjectKeyID */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 22
        11: .line 2117
      StackMap locals: sun.security.util.DerInputStream byte[]
      StackMap stack:
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 17
        12: .line 2118
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.match: subject key IDs don't match\nX509CertSelector.match: subjectKeyID: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 2120
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectKeyID:[B
            invokestatic java.util.Arrays.toString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 2121
            ldc "\nX509CertSelector.match: certSubjectKeyID: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 2122
            aload 4 /* certSubjectKeyID */
            invokestatic java.util.Arrays.toString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 2118
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        17: .line 2124
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // byte[] certSubjectKeyID
        end local 3 // sun.security.util.DerInputStream in
        end local 2 // byte[] extVal
        18: .line 2126
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            pop
        19: .line 2127
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 21
        20: .line 2128
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: exception in subject key ID check"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        21: .line 2131
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        22: .line 2133
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0              this  Ljava/security/cert/X509CertSelector;
            0   23     1             xcert  Ljava/security/cert/X509Certificate;
            3   18     2            extVal  [B
            8   18     3                in  Lsun/security/util/DerInputStream;
            9   18     4  certSubjectKeyID  [B
      Exception table:
        from    to  target  type
           2     6      18  Class java.io.IOException
           7    17      18  Class java.io.IOException
    MethodParameters:
       Name  Flags
      xcert  

  private boolean matchAuthorityKeyID(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.X509Certificate xcert
         0: .line 2138
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.authorityKeyID:[B
            ifnonnull 2
         1: .line 2139
            iconst_1
            ireturn
         2: .line 2142
      StackMap locals:
      StackMap stack:
            aload 1 /* xcert */
            ldc "2.5.29.35"
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 2 /* extVal */
        start local 2 // byte[] extVal
         3: .line 2143
            aload 2 /* extVal */
            ifnonnull 7
         4: .line 2144
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 6
         5: .line 2145
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: no authority key ID extension"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         6: .line 2148
      StackMap locals: byte[]
      StackMap stack:
            iconst_0
            ireturn
         7: .line 2150
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerInputStream
            dup
            aload 2 /* extVal */
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 3 /* in */
        start local 3 // sun.security.util.DerInputStream in
         8: .line 2151
            aload 3 /* in */
            invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
            astore 4 /* certAuthKeyID */
        start local 4 // byte[] certAuthKeyID
         9: .line 2152
            aload 4 /* certAuthKeyID */
            ifnull 11
        10: .line 2153
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.authorityKeyID:[B
            aload 4 /* certAuthKeyID */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 18
        11: .line 2154
      StackMap locals: sun.security.util.DerInputStream byte[]
      StackMap stack:
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 13
        12: .line 2155
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: authority key IDs don't match"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 2158
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // byte[] certAuthKeyID
        end local 3 // sun.security.util.DerInputStream in
        end local 2 // byte[] extVal
        14: .line 2160
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            pop
        15: .line 2161
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 17
        16: .line 2162
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: exception in authority key ID check"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        17: .line 2165
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        18: .line 2167
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Ljava/security/cert/X509CertSelector;
            0   19     1          xcert  Ljava/security/cert/X509Certificate;
            3   14     2         extVal  [B
            8   14     3             in  Lsun/security/util/DerInputStream;
            9   14     4  certAuthKeyID  [B
      Exception table:
        from    to  target  type
           2     6      14  Class java.io.IOException
           7    13      14  Class java.io.IOException
    MethodParameters:
       Name  Flags
      xcert  

  private boolean matchPrivateKeyValid(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.X509Certificate xcert
         0: .line 2172
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.privateKeyValid:Ljava/util/Date;
            ifnonnull 2
         1: .line 2173
            iconst_1
            ireturn
         2: .line 2175
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* ext */
        start local 2 // sun.security.x509.PrivateKeyUsageExtension ext
         3: .line 2178
            aload 1 /* xcert */
            iconst_0
            invokestatic java.security.cert.X509CertSelector.getExtensionObject:(Ljava/security/cert/X509Certificate;I)Ljava/security/cert/Extension;
         4: .line 2177
            checkcast sun.security.x509.PrivateKeyUsageExtension
            astore 2 /* ext */
         5: .line 2179
            aload 2 /* ext */
            ifnull 41
         6: .line 2180
            aload 2 /* ext */
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.privateKeyValid:Ljava/util/Date;
            invokevirtual sun.security.x509.PrivateKeyUsageExtension.valid:(Ljava/util/Date;)V
         7: .line 2182
            goto 41
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate sun.security.x509.PrivateKeyUsageExtension
      StackMap stack: java.security.cert.CertificateExpiredException
         8: astore 3 /* e1 */
        start local 3 // java.security.cert.CertificateExpiredException e1
         9: .line 2183
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 20
        10: .line 2184
            ldc "n/a"
            astore 4 /* time */
        start local 4 // java.lang.String time
        11: .line 2186
            aload 2 /* ext */
            ldc "not_after"
            invokevirtual sun.security.x509.PrivateKeyUsageExtension.get:(Ljava/lang/String;)Ljava/util/Date;
            astore 5 /* notAfter */
        start local 5 // java.util.Date notAfter
        12: .line 2187
            aload 5 /* notAfter */
            invokevirtual java.util.Date.toString:()Ljava/lang/String;
            astore 4 /* time */
        end local 5 // java.util.Date notAfter
        13: .line 2188
            goto 15
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate sun.security.x509.PrivateKeyUsageExtension java.security.cert.CertificateExpiredException java.lang.String
      StackMap stack: java.security.cert.CertificateException
        14: pop
        15: .line 2191
      StackMap locals:
      StackMap stack:
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.match: private key usage not within validity date; ext.NOT_After: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 2193
            aload 4 /* time */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; X509CertSelector: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 2194
            aload 0 /* this */
            invokevirtual java.security.cert.X509CertSelector.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 2191
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        19: .line 2195
            aload 3 /* e1 */
            invokevirtual java.security.cert.CertificateExpiredException.printStackTrace:()V
        end local 4 // java.lang.String time
        20: .line 2197
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.security.cert.CertificateExpiredException e1
        21: .line 2198
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate sun.security.x509.PrivateKeyUsageExtension
      StackMap stack: java.security.cert.CertificateNotYetValidException
            astore 3 /* e2 */
        start local 3 // java.security.cert.CertificateNotYetValidException e2
        22: .line 2199
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 33
        23: .line 2200
            ldc "n/a"
            astore 4 /* time */
        start local 4 // java.lang.String time
        24: .line 2202
            aload 2 /* ext */
            ldc "not_before"
            invokevirtual sun.security.x509.PrivateKeyUsageExtension.get:(Ljava/lang/String;)Ljava/util/Date;
            astore 5 /* notBefore */
        start local 5 // java.util.Date notBefore
        25: .line 2203
            aload 5 /* notBefore */
            invokevirtual java.util.Date.toString:()Ljava/lang/String;
            astore 4 /* time */
        end local 5 // java.util.Date notBefore
        26: .line 2204
            goto 28
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate sun.security.x509.PrivateKeyUsageExtension java.security.cert.CertificateNotYetValidException java.lang.String
      StackMap stack: java.security.cert.CertificateException
        27: pop
        28: .line 2207
      StackMap locals:
      StackMap stack:
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.match: private key usage not within validity date; ext.NOT_BEFORE: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        29: .line 2209
            aload 4 /* time */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; X509CertSelector: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 2210
            aload 0 /* this */
            invokevirtual java.security.cert.X509CertSelector.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 2207
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        32: .line 2211
            aload 3 /* e2 */
            invokevirtual java.security.cert.CertificateNotYetValidException.printStackTrace:()V
        end local 4 // java.lang.String time
        33: .line 2213
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.security.cert.CertificateNotYetValidException e2
        34: .line 2214
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate sun.security.x509.PrivateKeyUsageExtension
      StackMap stack: java.io.IOException
            astore 3 /* e4 */
        start local 3 // java.io.IOException e4
        35: .line 2215
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 40
        36: .line 2216
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.match: IOException in private key usage check; X509CertSelector: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        37: .line 2218
            aload 0 /* this */
            invokevirtual java.security.cert.X509CertSelector.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        38: .line 2216
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        39: .line 2219
            aload 3 /* e4 */
            invokevirtual java.io.IOException.printStackTrace:()V
        40: .line 2221
      StackMap locals: java.io.IOException
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.io.IOException e4
        41: .line 2223
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // sun.security.x509.PrivateKeyUsageExtension ext
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   42     0       this  Ljava/security/cert/X509CertSelector;
            0   42     1      xcert  Ljava/security/cert/X509Certificate;
            3   42     2        ext  Lsun/security/x509/PrivateKeyUsageExtension;
            9   21     3         e1  Ljava/security/cert/CertificateExpiredException;
           11   20     4       time  Ljava/lang/String;
           12   13     5   notAfter  Ljava/util/Date;
           22   34     3         e2  Ljava/security/cert/CertificateNotYetValidException;
           24   33     4       time  Ljava/lang/String;
           25   26     5  notBefore  Ljava/util/Date;
           35   41     3         e4  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     7       8  Class java.security.cert.CertificateExpiredException
          11    13      14  Class java.security.cert.CertificateException
           3     7      21  Class java.security.cert.CertificateNotYetValidException
          24    26      27  Class java.security.cert.CertificateException
           3     7      34  Class java.io.IOException
    MethodParameters:
       Name  Flags
      xcert  

  private boolean matchSubjectPublicKeyAlgID(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.X509Certificate xcert
         0: .line 2228
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKeyAlgID:Lsun/security/util/ObjectIdentifier;
            ifnonnull 2
         1: .line 2229
            iconst_1
            ireturn
         2: .line 2232
      StackMap locals:
      StackMap stack:
            aload 1 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokeinterface java.security.PublicKey.getEncoded:()[B
            astore 2 /* encodedKey */
        start local 2 // byte[] encodedKey
         3: .line 2233
            new sun.security.util.DerValue
            dup
            aload 2 /* encodedKey */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 3 /* val */
        start local 3 // sun.security.util.DerValue val
         4: .line 2234
            aload 3 /* val */
            getfield sun.security.util.DerValue.tag:B
            bipush 48
            if_icmpeq 6
         5: .line 2235
            new java.io.IOException
            dup
            ldc "invalid key format"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2238
      StackMap locals: byte[] sun.security.util.DerValue
      StackMap stack:
            aload 3 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
            astore 4 /* algID */
        start local 4 // sun.security.x509.AlgorithmId algID
         7: .line 2239
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 12
         8: .line 2240
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.match: subjectPublicKeyAlgID = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 2241
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKeyAlgID:Lsun/security/util/ObjectIdentifier;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", xcert subjectPublicKeyAlgID = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 2242
            aload 4 /* algID */
            invokevirtual sun.security.x509.AlgorithmId.getOID:()Lsun/security/util/ObjectIdentifier;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 2240
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 2244
      StackMap locals: sun.security.x509.AlgorithmId
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectPublicKeyAlgID:Lsun/security/util/ObjectIdentifier;
            aload 4 /* algID */
            invokevirtual sun.security.x509.AlgorithmId.getOID:()Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifne 20
        13: .line 2245
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 15
        14: .line 2246
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: subject public key alg IDs don't match"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        15: .line 2249
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // sun.security.x509.AlgorithmId algID
        end local 3 // sun.security.util.DerValue val
        end local 2 // byte[] encodedKey
        16: .line 2251
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            pop
        17: .line 2252
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 19
        18: .line 2253
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: IOException in subject public key algorithm OID check"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        19: .line 2256
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        20: .line 2258
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Ljava/security/cert/X509CertSelector;
            0   21     1       xcert  Ljava/security/cert/X509Certificate;
            3   16     2  encodedKey  [B
            4   16     3         val  Lsun/security/util/DerValue;
            7   16     4       algID  Lsun/security/x509/AlgorithmId;
      Exception table:
        from    to  target  type
           2    15      16  Class java.io.IOException
    MethodParameters:
       Name  Flags
      xcert  

  private boolean matchKeyUsage(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.X509Certificate xcert
         0: .line 2263
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyUsage:[Z
            ifnonnull 2
         1: .line 2264
            iconst_1
            ireturn
         2: .line 2266
      StackMap locals:
      StackMap stack:
            aload 1 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
            astore 2 /* certKeyUsage */
        start local 2 // boolean[] certKeyUsage
         3: .line 2267
            aload 2 /* certKeyUsage */
            ifnull 13
         4: .line 2268
            iconst_0
            istore 3 /* keyBit */
        start local 3 // int keyBit
         5: goto 12
         6: .line 2269
      StackMap locals: boolean[] int
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyUsage:[Z
            iload 3 /* keyBit */
            baload
            ifeq 11
         7: .line 2270
            iload 3 /* keyBit */
            aload 2 /* certKeyUsage */
            arraylength
            if_icmpge 8
            aload 2 /* certKeyUsage */
            iload 3 /* keyBit */
            baload
            ifne 11
         8: .line 2271
      StackMap locals:
      StackMap stack:
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 10
         9: .line 2272
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: key usage bits don't match"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 2275
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 2268
      StackMap locals:
      StackMap stack:
            iinc 3 /* keyBit */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* keyBit */
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyUsage:[Z
            arraylength
            if_icmplt 6
        end local 3 // int keyBit
        13: .line 2279
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // boolean[] certKeyUsage
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Ljava/security/cert/X509CertSelector;
            0   14     1         xcert  Ljava/security/cert/X509Certificate;
            3   14     2  certKeyUsage  [Z
            5   13     3        keyBit  I
    MethodParameters:
       Name  Flags
      xcert  

  private boolean matchExtendedKeyUsage(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.X509Certificate xcert
         0: .line 2284
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyPurposeSet:Ljava/util/Set;
            ifnull 1
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyPurposeSet:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 2285
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 2289
      StackMap locals:
      StackMap stack:
            aload 1 /* xcert */
         3: .line 2290
            iconst_4
         4: .line 2289
            invokestatic java.security.cert.X509CertSelector.getExtensionObject:(Ljava/security/cert/X509Certificate;I)Ljava/security/cert/Extension;
            checkcast sun.security.x509.ExtendedKeyUsageExtension
         5: .line 2288
            astore 2 /* ext */
        start local 2 // sun.security.x509.ExtendedKeyUsageExtension ext
         6: .line 2291
            aload 2 /* ext */
            ifnull 18
         7: .line 2293
            aload 2 /* ext */
            ldc "usages"
            invokevirtual sun.security.x509.ExtendedKeyUsageExtension.get:(Ljava/lang/String;)Ljava/util/Vector;
         8: .line 2292
            astore 3 /* certKeyPurposeVector */
        start local 3 // java.util.Vector certKeyPurposeVector
         9: .line 2294
            aload 3 /* certKeyPurposeVector */
            getstatic java.security.cert.X509CertSelector.ANY_EXTENDED_KEY_USAGE:Lsun/security/util/ObjectIdentifier;
            invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
            ifne 18
        10: .line 2295
            aload 3 /* certKeyPurposeVector */
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.keyPurposeOIDSet:Ljava/util/Set;
            invokevirtual java.util.Vector.containsAll:(Ljava/util/Collection;)Z
            ifne 18
        11: .line 2296
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 13
        12: .line 2297
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: cert failed extendedKeyUsage criterion"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 2300
      StackMap locals: sun.security.x509.ExtendedKeyUsageExtension java.util.Vector
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.util.Vector certKeyPurposeVector
        end local 2 // sun.security.x509.ExtendedKeyUsageExtension ext
        14: .line 2303
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            pop
        15: .line 2304
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 17
        16: .line 2305
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: IOException in extended key usage check"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        17: .line 2308
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        18: .line 2310
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   19     0                  this  Ljava/security/cert/X509CertSelector;
            0   19     1                 xcert  Ljava/security/cert/X509Certificate;
            6   14     2                   ext  Lsun/security/x509/ExtendedKeyUsageExtension;
            9   14     3  certKeyPurposeVector  Ljava/util/Vector<Lsun/security/util/ObjectIdentifier;>;
      Exception table:
        from    to  target  type
           2    13      14  Class java.io.IOException
    MethodParameters:
       Name  Flags
      xcert  

  private boolean matchSubjectAlternativeNames(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.X509Certificate xcert
         0: .line 2315
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
            ifnull 1
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 2316
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 2320
      StackMap locals:
      StackMap stack:
            aload 1 /* xcert */
         3: .line 2321
            iconst_1
         4: .line 2320
            invokestatic java.security.cert.X509CertSelector.getExtensionObject:(Ljava/security/cert/X509Certificate;I)Ljava/security/cert/Extension;
            checkcast sun.security.x509.SubjectAlternativeNameExtension
         5: .line 2319
            astore 2 /* sanExt */
        start local 2 // sun.security.x509.SubjectAlternativeNameExtension sanExt
         6: .line 2322
            aload 2 /* sanExt */
            ifnonnull 10
         7: .line 2323
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 9
         8: .line 2324
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: no subject alternative name extension"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2327
      StackMap locals: sun.security.x509.SubjectAlternativeNameExtension
      StackMap stack:
            iconst_0
            ireturn
        10: .line 2330
      StackMap locals:
      StackMap stack:
            aload 2 /* sanExt */
            ldc "subject_name"
            invokevirtual sun.security.x509.SubjectAlternativeNameExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralNames;
        11: .line 2329
            astore 3 /* certNames */
        start local 3 // sun.security.x509.GeneralNames certNames
        12: .line 2332
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeGeneralNames:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
        13: .line 2331
            astore 4 /* i */
        start local 4 // java.util.Iterator i
        14: .line 2333
            goto 30
        15: .line 2334
      StackMap locals: sun.security.x509.GeneralNames java.util.Iterator
      StackMap stack:
            aload 4 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralNameInterface
            astore 5 /* matchName */
        start local 5 // sun.security.x509.GeneralNameInterface matchName
        16: .line 2335
            iconst_0
            istore 6 /* found */
        start local 6 // boolean found
        17: .line 2336
            aload 3 /* certNames */
            invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
            astore 7 /* t */
        start local 7 // java.util.Iterator t
        18: .line 2337
            goto 21
        19: .line 2338
      StackMap locals: sun.security.x509.GeneralNameInterface int java.util.Iterator
      StackMap stack:
            aload 7 /* t */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralName
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            astore 8 /* certName */
        start local 8 // sun.security.x509.GeneralNameInterface certName
        20: .line 2339
            aload 8 /* certName */
            aload 5 /* matchName */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            istore 6 /* found */
        end local 8 // sun.security.x509.GeneralNameInterface certName
        21: .line 2337
      StackMap locals:
      StackMap stack:
            aload 7 /* t */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 22
            iload 6 /* found */
            ifeq 19
        end local 7 // java.util.Iterator t
        22: .line 2341
      StackMap locals:
      StackMap stack:
            iload 6 /* found */
            ifne 28
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.matchAllSubjectAltNames:Z
            ifne 23
            aload 4 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        23: .line 2342
      StackMap locals:
      StackMap stack:
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 27
        24: .line 2343
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.match: subject alternative name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 2344
            aload 5 /* matchName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 2343
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        27: .line 2346
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        28: .line 2347
      StackMap locals:
      StackMap stack:
            iload 6 /* found */
            ifeq 30
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.matchAllSubjectAltNames:Z
            ifne 30
        29: .line 2348
            goto 36
        end local 6 // boolean found
        end local 5 // sun.security.x509.GeneralNameInterface matchName
        30: .line 2333
      StackMap locals:
      StackMap stack:
            aload 4 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        end local 4 // java.util.Iterator i
        end local 3 // sun.security.x509.GeneralNames certNames
        end local 2 // sun.security.x509.SubjectAlternativeNameExtension sanExt
        31: .line 2351
            goto 36
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
        32: pop
        33: .line 2352
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 35
        34: .line 2353
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: IOException in subject alternative name check"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        35: .line 2355
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        36: .line 2357
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   37     0       this  Ljava/security/cert/X509CertSelector;
            0   37     1      xcert  Ljava/security/cert/X509Certificate;
            6   31     2     sanExt  Lsun/security/x509/SubjectAlternativeNameExtension;
           12   31     3  certNames  Lsun/security/x509/GeneralNames;
           14   31     4          i  Ljava/util/Iterator<Lsun/security/x509/GeneralNameInterface;>;
           16   30     5  matchName  Lsun/security/x509/GeneralNameInterface;
           17   30     6      found  Z
           18   22     7          t  Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
           20   21     8   certName  Lsun/security/x509/GeneralNameInterface;
      Exception table:
        from    to  target  type
           2     9      32  Class java.io.IOException
          10    27      32  Class java.io.IOException
          28    31      32  Class java.io.IOException
    MethodParameters:
       Name  Flags
      xcert  

  private boolean matchNameConstraints(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.X509Certificate xcert
         0: .line 2362
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.nc:Lsun/security/x509/NameConstraintsExtension;
            ifnonnull 2
         1: .line 2363
            iconst_1
            ireturn
         2: .line 2366
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.nc:Lsun/security/x509/NameConstraintsExtension;
            aload 1 /* xcert */
            invokevirtual sun.security.x509.NameConstraintsExtension.verify:(Ljava/security/cert/X509Certificate;)Z
            ifne 10
         3: .line 2367
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 5
         4: .line 2368
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: name constraints not satisfied"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         5: .line 2371
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         6: .line 2373
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         7: .line 2374
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 9
         8: .line 2375
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: IOException in name constraints check"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2378
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        10: .line 2380
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Ljava/security/cert/X509CertSelector;
            0   11     1  xcert  Ljava/security/cert/X509Certificate;
      Exception table:
        from    to  target  type
           2     5       6  Class java.io.IOException
    MethodParameters:
       Name  Flags
      xcert  

  private boolean matchPolicy(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.X509Certificate xcert
         0: .line 2385
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.policy:Lsun/security/x509/CertificatePolicySet;
            ifnonnull 2
         1: .line 2386
            iconst_1
            ireturn
         2: .line 2390
      StackMap locals:
      StackMap stack:
            aload 1 /* xcert */
            iconst_3
            invokestatic java.security.cert.X509CertSelector.getExtensionObject:(Ljava/security/cert/X509Certificate;I)Ljava/security/cert/Extension;
         3: .line 2389
            checkcast sun.security.x509.CertificatePoliciesExtension
            astore 2 /* ext */
        start local 2 // sun.security.x509.CertificatePoliciesExtension ext
         4: .line 2391
            aload 2 /* ext */
            ifnonnull 8
         5: .line 2392
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 7
         6: .line 2393
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: no certificate policy extension"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         7: .line 2396
      StackMap locals: sun.security.x509.CertificatePoliciesExtension
      StackMap stack:
            iconst_0
            ireturn
         8: .line 2398
      StackMap locals:
      StackMap stack:
            aload 2 /* ext */
            ldc "policies"
            invokevirtual sun.security.x509.CertificatePoliciesExtension.get:(Ljava/lang/String;)Ljava/util/List;
            astore 3 /* policies */
        start local 3 // java.util.List policies
         9: .line 2403
            new java.util.ArrayList
            dup
            aload 3 /* policies */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* policyIDs */
        start local 4 // java.util.List policyIDs
        10: .line 2404
            aload 3 /* policies */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate sun.security.x509.CertificatePoliciesExtension java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        11: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.PolicyInformation
            astore 5 /* info */
        start local 5 // sun.security.x509.PolicyInformation info
        12: .line 2405
            aload 4 /* policyIDs */
            aload 5 /* info */
            invokevirtual sun.security.x509.PolicyInformation.getPolicyIdentifier:()Lsun/security/x509/CertificatePolicyId;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // sun.security.x509.PolicyInformation info
        13: .line 2404
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 2407
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.policy:Lsun/security/x509/CertificatePolicySet;
            ifnull 35
        15: .line 2408
            iconst_0
            istore 5 /* foundOne */
        start local 5 // boolean foundOne
        16: .line 2414
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.policy:Lsun/security/x509/CertificatePolicySet;
            invokevirtual sun.security.x509.CertificatePolicySet.getCertPolicyIds:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 21
        17: .line 2415
            aload 4 /* policyIDs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 35
        18: .line 2416
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 20
        19: .line 2417
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: cert failed policyAny criterion"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 2420
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate sun.security.x509.CertificatePoliciesExtension java.util.List java.util.List int
      StackMap stack:
            iconst_0
            ireturn
        21: .line 2423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.policy:Lsun/security/x509/CertificatePolicySet;
            invokevirtual sun.security.x509.CertificatePolicySet.getCertPolicyIds:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 26
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate sun.security.x509.CertificatePoliciesExtension java.util.List java.util.List int top java.util.Iterator
      StackMap stack:
        22: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.CertificatePolicyId
            astore 6 /* id */
        start local 6 // sun.security.x509.CertificatePolicyId id
        23: .line 2424
            aload 4 /* policyIDs */
            aload 6 /* id */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 26
        24: .line 2425
            iconst_1
            istore 5 /* foundOne */
        25: .line 2426
            goto 27
        end local 6 // sun.security.x509.CertificatePolicyId id
        26: .line 2423
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        27: .line 2429
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate sun.security.x509.CertificatePoliciesExtension java.util.List java.util.List int
      StackMap stack:
            iload 5 /* foundOne */
            ifne 35
        28: .line 2430
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 30
        29: .line 2431
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: cert failed policyAny criterion"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        30: .line 2434
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // boolean foundOne
        end local 4 // java.util.List policyIDs
        end local 3 // java.util.List policies
        end local 2 // sun.security.x509.CertificatePoliciesExtension ext
        31: .line 2438
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            pop
        32: .line 2439
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 34
        33: .line 2440
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: IOException in certificate policy ID check"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        34: .line 2443
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        35: .line 2445
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   36     0       this  Ljava/security/cert/X509CertSelector;
            0   36     1      xcert  Ljava/security/cert/X509Certificate;
            4   31     2        ext  Lsun/security/x509/CertificatePoliciesExtension;
            9   31     3   policies  Ljava/util/List<Lsun/security/x509/PolicyInformation;>;
           10   31     4  policyIDs  Ljava/util/List<Lsun/security/x509/CertificatePolicyId;>;
           12   13     5       info  Lsun/security/x509/PolicyInformation;
           16   31     5   foundOne  Z
           23   26     6         id  Lsun/security/x509/CertificatePolicyId;
      Exception table:
        from    to  target  type
           2     7      31  Class java.io.IOException
           8    20      31  Class java.io.IOException
          21    30      31  Class java.io.IOException
    MethodParameters:
       Name  Flags
      xcert  

  private boolean matchPathToNames(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.X509Certificate xcert
         0: .line 2450
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
            ifnonnull 2
         1: .line 2451
            iconst_1
            ireturn
         2: .line 2455
      StackMap locals:
      StackMap stack:
            aload 1 /* xcert */
            iconst_2
            invokestatic java.security.cert.X509CertSelector.getExtensionObject:(Ljava/security/cert/X509Certificate;I)Ljava/security/cert/Extension;
         3: .line 2454
            checkcast sun.security.x509.NameConstraintsExtension
            astore 2 /* ext */
        start local 2 // sun.security.x509.NameConstraintsExtension ext
         4: .line 2456
            aload 2 /* ext */
            ifnonnull 6
         5: .line 2457
            iconst_1
            ireturn
         6: .line 2459
      StackMap locals: sun.security.x509.NameConstraintsExtension
      StackMap stack:
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 13
            ldc "certpath"
            invokestatic sun.security.util.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 13
         7: .line 2460
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match pathToNames:\n"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         8: .line 2462
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
         9: .line 2461
            astore 3 /* i */
        start local 3 // java.util.Iterator i
        10: .line 2463
            goto 12
        11: .line 2464
      StackMap locals: java.util.Iterator
      StackMap stack:
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "    "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 2463
      StackMap locals:
      StackMap stack:
            aload 3 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // java.util.Iterator i
        13: .line 2469
      StackMap locals:
      StackMap stack:
            aload 2 /* ext */
            ldc "permitted_subtrees"
            invokevirtual sun.security.x509.NameConstraintsExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralSubtrees;
        14: .line 2468
            astore 3 /* permitted */
        start local 3 // sun.security.x509.GeneralSubtrees permitted
        15: .line 2471
            aload 2 /* ext */
            ldc "excluded_subtrees"
            invokevirtual sun.security.x509.NameConstraintsExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralSubtrees;
        16: .line 2470
            astore 4 /* excluded */
        start local 4 // sun.security.x509.GeneralSubtrees excluded
        17: .line 2472
            aload 4 /* excluded */
            ifnull 20
        18: .line 2473
            aload 0 /* this */
            aload 4 /* excluded */
            invokevirtual java.security.cert.X509CertSelector.matchExcluded:(Lsun/security/x509/GeneralSubtrees;)Z
            ifne 20
        19: .line 2474
            iconst_0
            ireturn
        20: .line 2477
      StackMap locals: sun.security.x509.GeneralSubtrees sun.security.x509.GeneralSubtrees
      StackMap stack:
            aload 3 /* permitted */
            ifnull 27
        21: .line 2478
            aload 0 /* this */
            aload 3 /* permitted */
            invokevirtual java.security.cert.X509CertSelector.matchPermitted:(Lsun/security/x509/GeneralSubtrees;)Z
            ifne 27
        22: .line 2479
            iconst_0
            ireturn
        end local 4 // sun.security.x509.GeneralSubtrees excluded
        end local 3 // sun.security.x509.GeneralSubtrees permitted
        end local 2 // sun.security.x509.NameConstraintsExtension ext
        23: .line 2482
      StackMap locals: java.security.cert.X509CertSelector java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            pop
        24: .line 2483
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 26
        25: .line 2484
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: IOException in name constraints check"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        26: .line 2487
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        27: .line 2489
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   28     0       this  Ljava/security/cert/X509CertSelector;
            0   28     1      xcert  Ljava/security/cert/X509Certificate;
            4   23     2        ext  Lsun/security/x509/NameConstraintsExtension;
           10   13     3          i  Ljava/util/Iterator<Lsun/security/x509/GeneralNameInterface;>;
           15   23     3  permitted  Lsun/security/x509/GeneralSubtrees;
           17   23     4   excluded  Lsun/security/x509/GeneralSubtrees;
      Exception table:
        from    to  target  type
           2     5      23  Class java.io.IOException
           6    19      23  Class java.io.IOException
          20    22      23  Class java.io.IOException
    MethodParameters:
       Name  Flags
      xcert  

  private boolean matchExcluded(sun.security.x509.GeneralSubtrees);
    descriptor: (Lsun/security/x509/GeneralSubtrees;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // sun.security.x509.GeneralSubtrees excluded
         0: .line 2498
            aload 1 /* excluded */
            invokevirtual sun.security.x509.GeneralSubtrees.iterator:()Ljava/util/Iterator;
            astore 2 /* t */
        start local 2 // java.util.Iterator t
         1: goto 16
         2: .line 2499
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* t */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralSubtree
            astore 3 /* tree */
        start local 3 // sun.security.x509.GeneralSubtree tree
         3: .line 2500
            aload 3 /* tree */
            invokevirtual sun.security.x509.GeneralSubtree.getName:()Lsun/security/x509/GeneralName;
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            astore 4 /* excludedName */
        start local 4 // sun.security.x509.GeneralNameInterface excludedName
         4: .line 2501
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* i */
        start local 5 // java.util.Iterator i
         5: .line 2502
            goto 15
         6: .line 2503
      StackMap locals: sun.security.x509.GeneralSubtree sun.security.x509.GeneralNameInterface java.util.Iterator
      StackMap stack:
            aload 5 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralNameInterface
            astore 6 /* pathToName */
        start local 6 // sun.security.x509.GeneralNameInterface pathToName
         7: .line 2504
            aload 4 /* excludedName */
            invokeinterface sun.security.x509.GeneralNameInterface.getType:()I
            aload 6 /* pathToName */
            invokeinterface sun.security.x509.GeneralNameInterface.getType:()I
            if_icmpne 15
         8: .line 2505
            aload 6 /* pathToName */
            aload 4 /* excludedName */
            invokeinterface sun.security.x509.GeneralNameInterface.constrains:(Lsun/security/x509/GeneralNameInterface;)I
            tableswitch { // 0 - 2
                    0: 9
                    1: 15
                    2: 9
              default: 15
          }
         9: .line 2508
      StackMap locals: sun.security.x509.GeneralNameInterface
      StackMap stack:
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 14
        10: .line 2509
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: name constraints inhibit path to specified name"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        11: .line 2511
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.match: excluded name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 2512
            aload 6 /* pathToName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 2511
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        14: .line 2514
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // sun.security.x509.GeneralNameInterface pathToName
        15: .line 2502
      StackMap locals:
      StackMap stack:
            aload 5 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 5 // java.util.Iterator i
        end local 4 // sun.security.x509.GeneralNameInterface excludedName
        end local 3 // sun.security.x509.GeneralSubtree tree
        16: .line 2498
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        end local 2 // java.util.Iterator t
        17: .line 2520
            iconst_1
            ireturn
        end local 1 // sun.security.x509.GeneralSubtrees excluded
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Ljava/security/cert/X509CertSelector;
            0   18     1      excluded  Lsun/security/x509/GeneralSubtrees;
            1   17     2             t  Ljava/util/Iterator<Lsun/security/x509/GeneralSubtree;>;
            3   16     3          tree  Lsun/security/x509/GeneralSubtree;
            4   16     4  excludedName  Lsun/security/x509/GeneralNameInterface;
            5   16     5             i  Ljava/util/Iterator<Lsun/security/x509/GeneralNameInterface;>;
            7   15     6    pathToName  Lsun/security/x509/GeneralNameInterface;
    MethodParameters:
          Name  Flags
      excluded  

  private boolean matchPermitted(sun.security.x509.GeneralSubtrees);
    descriptor: (Lsun/security/x509/GeneralSubtrees;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // sun.security.x509.GeneralSubtrees permitted
         0: .line 2530
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         1: .line 2531
            goto 23
         2: .line 2532
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralNameInterface
            astore 3 /* pathToName */
        start local 3 // sun.security.x509.GeneralNameInterface pathToName
         3: .line 2533
            aload 1 /* permitted */
            invokevirtual sun.security.x509.GeneralSubtrees.iterator:()Ljava/util/Iterator;
            astore 4 /* t */
        start local 4 // java.util.Iterator t
         4: .line 2534
            iconst_0
            istore 5 /* permittedNameFound */
        start local 5 // boolean permittedNameFound
         5: .line 2535
            iconst_0
            istore 6 /* nameTypeFound */
        start local 6 // boolean nameTypeFound
         6: .line 2536
            ldc ""
            astore 7 /* names */
        start local 7 // java.lang.String names
         7: .line 2537
            goto 15
         8: .line 2538
      StackMap locals: java.security.cert.X509CertSelector sun.security.x509.GeneralSubtrees java.util.Iterator sun.security.x509.GeneralNameInterface java.util.Iterator int int java.lang.String
      StackMap stack:
            aload 4 /* t */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralSubtree
            astore 8 /* tree */
        start local 8 // sun.security.x509.GeneralSubtree tree
         9: .line 2539
            aload 8 /* tree */
            invokevirtual sun.security.x509.GeneralSubtree.getName:()Lsun/security/x509/GeneralName;
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            astore 9 /* permittedName */
        start local 9 // sun.security.x509.GeneralNameInterface permittedName
        10: .line 2540
            aload 9 /* permittedName */
            invokeinterface sun.security.x509.GeneralNameInterface.getType:()I
            aload 3 /* pathToName */
            invokeinterface sun.security.x509.GeneralNameInterface.getType:()I
            if_icmpne 15
        11: .line 2541
            iconst_1
            istore 6 /* nameTypeFound */
        12: .line 2542
            new java.lang.StringBuilder
            dup
            aload 7 /* names */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* permittedName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* names */
        13: .line 2543
            aload 3 /* pathToName */
            aload 9 /* permittedName */
            invokeinterface sun.security.x509.GeneralNameInterface.constrains:(Lsun/security/x509/GeneralNameInterface;)I
            tableswitch { // 0 - 2
                    0: 14
                    1: 15
                    2: 14
              default: 15
          }
        14: .line 2546
      StackMap locals: sun.security.x509.GeneralSubtree sun.security.x509.GeneralNameInterface
      StackMap stack:
            iconst_1
            istore 5 /* permittedNameFound */
        end local 9 // sun.security.x509.GeneralNameInterface permittedName
        end local 8 // sun.security.x509.GeneralSubtree tree
        15: .line 2537
      StackMap locals:
      StackMap stack:
            aload 4 /* t */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 16
            iload 5 /* permittedNameFound */
            ifeq 8
        16: .line 2552
      StackMap locals:
      StackMap stack:
            iload 5 /* permittedNameFound */
            ifne 23
            iload 6 /* nameTypeFound */
            ifeq 23
        17: .line 2553
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 22
        18: .line 2554
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.match: name constraints inhibit path to specified name; permitted names of type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 2556
            aload 3 /* pathToName */
            invokeinterface sun.security.x509.GeneralNameInterface.getType:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        20: .line 2557
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* names */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 2554
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        22: .line 2558
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // java.lang.String names
        end local 6 // boolean nameTypeFound
        end local 5 // boolean permittedNameFound
        end local 4 // java.util.Iterator t
        end local 3 // sun.security.x509.GeneralNameInterface pathToName
        23: .line 2531
      StackMap locals: java.security.cert.X509CertSelector sun.security.x509.GeneralSubtrees java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        24: .line 2561
            iconst_1
            ireturn
        end local 2 // java.util.Iterator i
        end local 1 // sun.security.x509.GeneralSubtrees permitted
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   25     0                this  Ljava/security/cert/X509CertSelector;
            0   25     1           permitted  Lsun/security/x509/GeneralSubtrees;
            1   25     2                   i  Ljava/util/Iterator<Lsun/security/x509/GeneralNameInterface;>;
            3   23     3          pathToName  Lsun/security/x509/GeneralNameInterface;
            4   23     4                   t  Ljava/util/Iterator<Lsun/security/x509/GeneralSubtree;>;
            5   23     5  permittedNameFound  Z
            6   23     6       nameTypeFound  Z
            7   23     7               names  Ljava/lang/String;
            9   15     8                tree  Lsun/security/x509/GeneralSubtree;
           10   15     9       permittedName  Lsun/security/x509/GeneralNameInterface;
    MethodParameters:
           Name  Flags
      permitted  

  private boolean matchBasicConstraints(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.security.cert.X509CertSelector this
        start local 1 // java.security.cert.X509Certificate xcert
         0: .line 2566
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.basicConstraints:I
            iconst_m1
            if_icmpne 2
         1: .line 2567
            iconst_1
            ireturn
         2: .line 2569
      StackMap locals:
      StackMap stack:
            aload 1 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getBasicConstraints:()I
            istore 2 /* maxPathLen */
        start local 2 // int maxPathLen
         3: .line 2570
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.basicConstraints:I
            bipush -2
            if_icmpne 8
         4: .line 2571
            iload 2 /* maxPathLen */
            iconst_m1
            if_icmpeq 14
         5: .line 2572
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 7
         6: .line 2573
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ldc "X509CertSelector.match: not an EE cert"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         7: .line 2575
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
         8: .line 2578
      StackMap locals:
      StackMap stack:
            iload 2 /* maxPathLen */
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.basicConstraints:I
            if_icmpge 14
         9: .line 2579
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 13
        10: .line 2580
            getstatic java.security.cert.X509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "X509CertSelector.match: cert's maxPathLen is less than the min maxPathLen set by basicConstraints. ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 2583
            iload 2 /* maxPathLen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " < "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.basicConstraints:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 2580
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 2585
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        14: .line 2588
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // int maxPathLen
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Ljava/security/cert/X509CertSelector;
            0   15     1       xcert  Ljava/security/cert/X509Certificate;
            3   15     2  maxPathLen  I
    MethodParameters:
       Name  Flags
      xcert  

  private static <T> java.util.Set<T> cloneSet(java.util.Set<T>);
    descriptor: (Ljava/util/Set;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.Set set
         0: .line 2593
            aload 0 /* set */
            instanceof java.util.HashSet
            ifeq 3
         1: .line 2594
            aload 0 /* set */
            checkcast java.util.HashSet
            invokevirtual java.util.HashSet.clone:()Ljava/lang/Object;
            astore 1 /* clone */
        start local 1 // java.lang.Object clone
         2: .line 2595
            aload 1 /* clone */
            checkcast java.util.Set
            areturn
        end local 1 // java.lang.Object clone
         3: .line 2597
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            aload 0 /* set */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // java.util.Set set
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0    set  Ljava/util/Set<TT;>;
            2    3     1  clone  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Set<TT;>;)Ljava/util/Set<TT;>;
    MethodParameters:
      Name  Flags
      set   

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.security.cert.X509CertSelector this
         0: .line 2608
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast java.security.cert.X509CertSelector
            astore 1 /* copy */
        start local 1 // java.security.cert.X509CertSelector copy
         1: .line 2610
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
            ifnull 8
         2: .line 2611
            aload 1 /* copy */
         3: .line 2612
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
            invokestatic java.security.cert.X509CertSelector.cloneSet:(Ljava/util/Set;)Ljava/util/Set;
         4: .line 2611
            putfield java.security.cert.X509CertSelector.subjectAlternativeNames:Ljava/util/Set;
         5: .line 2613
            aload 1 /* copy */
         6: .line 2614
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.subjectAlternativeGeneralNames:Ljava/util/Set;
            invokestatic java.security.cert.X509CertSelector.cloneSet:(Ljava/util/Set;)Ljava/util/Set;
         7: .line 2613
            putfield java.security.cert.X509CertSelector.subjectAlternativeGeneralNames:Ljava/util/Set;
         8: .line 2616
      StackMap locals: java.security.cert.X509CertSelector
      StackMap stack:
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
            ifnull 11
         9: .line 2617
            aload 1 /* copy */
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToNames:Ljava/util/Set;
            invokestatic java.security.cert.X509CertSelector.cloneSet:(Ljava/util/Set;)Ljava/util/Set;
            putfield java.security.cert.X509CertSelector.pathToNames:Ljava/util/Set;
        10: .line 2618
            aload 1 /* copy */
            aload 0 /* this */
            getfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
            invokestatic java.security.cert.X509CertSelector.cloneSet:(Ljava/util/Set;)Ljava/util/Set;
            putfield java.security.cert.X509CertSelector.pathToGeneralNames:Ljava/util/Set;
        11: .line 2620
      StackMap locals:
      StackMap stack:
            aload 1 /* copy */
        12: areturn
        end local 1 // java.security.cert.X509CertSelector copy
        13: .line 2621
      StackMap locals: java.security.cert.X509CertSelector
      StackMap stack: java.lang.CloneNotSupportedException
            astore 1 /* e */
        start local 1 // java.lang.CloneNotSupportedException e
        14: .line 2623
            new java.lang.InternalError
            dup
            aload 1 /* e */
            invokevirtual java.lang.CloneNotSupportedException.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.CloneNotSupportedException e
        end local 0 // java.security.cert.X509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Ljava/security/cert/X509CertSelector;
            1   13     1  copy  Ljava/security/cert/X509CertSelector;
           14   15     1     e  Ljava/lang/CloneNotSupportedException;
      Exception table:
        from    to  target  type
           0    12      13  Class java.lang.CloneNotSupportedException
}
SourceFile: "X509CertSelector.java"