public final class sun.security.pkcs11.SunPKCS11 extends java.security.AuthProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.security.pkcs11.SunPKCS11
  super_class: java.security.AuthProvider
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1354835039035306505

  static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  final sun.security.pkcs11.wrapper.PKCS11 p11;
    descriptor: Lsun/security/pkcs11/wrapper/PKCS11;
    flags: (0x0010) ACC_FINAL

  final sun.security.pkcs11.Config config;
    descriptor: Lsun/security/pkcs11/Config;
    flags: (0x0010) ACC_FINAL

  final long slotID;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  private javax.security.auth.callback.CallbackHandler pHandler;
    descriptor: Ljavax/security/auth/callback/CallbackHandler;
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.Object LOCK_HANDLER;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final boolean removable;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  final sun.security.pkcs11.Secmod$Module nssModule;
    descriptor: Lsun/security/pkcs11/Secmod$Module;
    flags: (0x0010) ACC_FINAL

  final boolean nssUseSecmodTrust;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  private volatile sun.security.pkcs11.Token token;
    descriptor: Lsun/security/pkcs11/Token;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private sun.security.pkcs11.SunPKCS11$TokenPoller poller;
    descriptor: Lsun/security/pkcs11/SunPKCS11$TokenPoller;
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.Map<java.lang.Integer, java.util.List<sun.security.pkcs11.SunPKCS11$Descriptor>> descriptors;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/util/List<Lsun/security/pkcs11/SunPKCS11$Descriptor;>;>;

  private static final java.lang.String MD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "MessageDigest"

  private static final java.lang.String SIG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Signature"

  private static final java.lang.String KPG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "KeyPairGenerator"

  private static final java.lang.String KG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "KeyGenerator"

  private static final java.lang.String AGP;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "AlgorithmParameters"

  private static final java.lang.String KF;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "KeyFactory"

  private static final java.lang.String SKF;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "SecretKeyFactory"

  private static final java.lang.String CIP;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Cipher"

  private static final java.lang.String MAC;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Mac"

  private static final java.lang.String KA;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "KeyAgreement"

  private static final java.lang.String KS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "KeyStore"

  private static final java.lang.String SR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "SecureRandom"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=12, locals=12, args_size=0
         0: .line 64
            ldc "sunpkcs11"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
         1: .line 440
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
         2: .line 439
            putstatic sun.security.pkcs11.SunPKCS11.descriptors:Ljava/util/Map;
         3: .line 508
            ldc "sun.security.pkcs11.P11Digest"
            astore 0 /* P11Digest */
        start local 0 // java.lang.String P11Digest
         4: .line 509
            ldc "sun.security.pkcs11.P11MAC"
            astore 1 /* P11MAC */
        start local 1 // java.lang.String P11MAC
         5: .line 510
            ldc "sun.security.pkcs11.P11KeyPairGenerator"
            astore 2 /* P11KeyPairGenerator */
        start local 2 // java.lang.String P11KeyPairGenerator
         6: .line 511
            ldc "sun.security.pkcs11.P11KeyGenerator"
            astore 3 /* P11KeyGenerator */
        start local 3 // java.lang.String P11KeyGenerator
         7: .line 512
            ldc "sun.security.pkcs11.P11RSAKeyFactory"
            astore 4 /* P11RSAKeyFactory */
        start local 4 // java.lang.String P11RSAKeyFactory
         8: .line 513
            ldc "sun.security.pkcs11.P11DSAKeyFactory"
            astore 5 /* P11DSAKeyFactory */
        start local 5 // java.lang.String P11DSAKeyFactory
         9: .line 514
            ldc "sun.security.pkcs11.P11DHKeyFactory"
            astore 6 /* P11DHKeyFactory */
        start local 6 // java.lang.String P11DHKeyFactory
        10: .line 515
            ldc "sun.security.pkcs11.P11KeyAgreement"
            astore 7 /* P11KeyAgreement */
        start local 7 // java.lang.String P11KeyAgreement
        11: .line 516
            ldc "sun.security.pkcs11.P11SecretKeyFactory"
            astore 8 /* P11SecretKeyFactory */
        start local 8 // java.lang.String P11SecretKeyFactory
        12: .line 517
            ldc "sun.security.pkcs11.P11Cipher"
            astore 9 /* P11Cipher */
        start local 9 // java.lang.String P11Cipher
        13: .line 518
            ldc "sun.security.pkcs11.P11RSACipher"
            astore 10 /* P11RSACipher */
        start local 10 // java.lang.String P11RSACipher
        14: .line 519
            ldc "sun.security.pkcs11.P11Signature"
            astore 11 /* P11Signature */
        start local 11 // java.lang.String P11Signature
        15: .line 523
            ldc "MessageDigest"
            ldc "MD2"
            aload 0 /* P11Digest */
        16: .line 524
            ldc 512
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        17: .line 523
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        18: .line 525
            ldc "MessageDigest"
            ldc "MD5"
            aload 0 /* P11Digest */
        19: .line 526
            ldc 528
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        20: .line 525
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        21: .line 527
            ldc "MessageDigest"
            ldc "SHA1"
            aload 0 /* P11Digest */
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
        22: .line 528
            ldc "SHA"
            aastore
            dup
            iconst_1
            ldc "SHA-1"
            aastore
            dup
            iconst_2
            ldc "1.3.14.3.2.26"
            aastore
            dup
            iconst_3
            ldc "OID.1.3.14.3.2.26"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        23: .line 529
            ldc 544
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        24: .line 527
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        25: .line 531
            ldc "MessageDigest"
            ldc "SHA-224"
            aload 0 /* P11Digest */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        26: .line 532
            ldc "2.16.840.1.101.3.4.2.4"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.2.4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        27: .line 533
            ldc 597
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        28: .line 531
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        29: .line 534
            ldc "MessageDigest"
            ldc "SHA-256"
            aload 0 /* P11Digest */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        30: .line 535
            ldc "2.16.840.1.101.3.4.2.1"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.2.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        31: .line 536
            ldc 592
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        32: .line 534
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        33: .line 537
            ldc "MessageDigest"
            ldc "SHA-384"
            aload 0 /* P11Digest */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        34: .line 538
            ldc "2.16.840.1.101.3.4.2.2"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.2.2"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        35: .line 539
            ldc 608
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        36: .line 537
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        37: .line 540
            ldc "MessageDigest"
            ldc "SHA-512"
            aload 0 /* P11Digest */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        38: .line 541
            ldc "2.16.840.1.101.3.4.2.3"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.2.3"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        39: .line 542
            ldc 624
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        40: .line 540
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        41: .line 544
            ldc "Mac"
            ldc "HmacMD5"
            aload 1 /* P11MAC */
        42: .line 545
            ldc 529
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        43: .line 544
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        44: .line 546
            ldc "Mac"
            ldc "HmacSHA1"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        45: .line 547
            ldc "1.2.840.113549.2.7"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.7"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        46: .line 548
            ldc 545
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        47: .line 546
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        48: .line 549
            ldc "Mac"
            ldc "HmacSHA224"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        49: .line 550
            ldc "1.2.840.113549.2.8"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.8"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        50: .line 551
            ldc 598
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        51: .line 549
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        52: .line 552
            ldc "Mac"
            ldc "HmacSHA256"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        53: .line 553
            ldc "1.2.840.113549.2.9"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.9"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        54: .line 554
            ldc 593
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        55: .line 552
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        56: .line 555
            ldc "Mac"
            ldc "HmacSHA384"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        57: .line 556
            ldc "1.2.840.113549.2.10"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.10"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        58: .line 557
            ldc 609
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        59: .line 555
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        60: .line 558
            ldc "Mac"
            ldc "HmacSHA512"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        61: .line 559
            ldc "1.2.840.113549.2.11"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.11"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        62: .line 560
            ldc 625
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        63: .line 558
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        64: .line 561
            ldc "Mac"
            ldc "SslMacMD5"
            aload 1 /* P11MAC */
        65: .line 562
            ldc 896
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        66: .line 561
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        67: .line 563
            ldc "Mac"
            ldc "SslMacSHA1"
            aload 1 /* P11MAC */
        68: .line 564
            ldc 897
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        69: .line 563
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        70: .line 566
            ldc "KeyPairGenerator"
            ldc "RSA"
            aload 2 /* P11KeyPairGenerator */
        71: .line 567
            lconst_0
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        72: .line 566
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        73: .line 568
            ldc "KeyPairGenerator"
            ldc "DSA"
            aload 2 /* P11KeyPairGenerator */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
        74: .line 569
            ldc "1.3.14.3.2.12"
            aastore
            dup
            iconst_1
            ldc "1.2.840.10040.4.1"
            aastore
            dup
            iconst_2
            ldc "OID.1.2.840.10040.4.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        75: .line 570
            ldc 16
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        76: .line 568
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        77: .line 571
            ldc "KeyPairGenerator"
            ldc "DH"
            aload 2 /* P11KeyPairGenerator */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DiffieHellman"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        78: .line 572
            ldc 32
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        79: .line 571
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        80: .line 573
            ldc "KeyPairGenerator"
            ldc "EC"
            aload 2 /* P11KeyPairGenerator */
        81: .line 574
            ldc 4160
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        82: .line 573
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        83: .line 576
            ldc "KeyGenerator"
            ldc "ARCFOUR"
            aload 3 /* P11KeyGenerator */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "RC4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        84: .line 577
            ldc 272
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        85: .line 576
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        86: .line 578
            ldc "KeyGenerator"
            ldc "DES"
            aload 3 /* P11KeyGenerator */
        87: .line 579
            ldc 288
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        88: .line 578
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        89: .line 580
            ldc "KeyGenerator"
            ldc "DESede"
            aload 3 /* P11KeyGenerator */
        90: .line 581
            ldc 305
            ldc 304
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
        91: .line 580
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        92: .line 582
            ldc "KeyGenerator"
            ldc "AES"
            aload 3 /* P11KeyGenerator */
        93: .line 583
            ldc 4224
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        94: .line 582
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        95: .line 584
            ldc "KeyGenerator"
            ldc "Blowfish"
            aload 3 /* P11KeyGenerator */
        96: .line 585
            ldc 4240
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        97: .line 584
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        98: .line 589
            ldc "KeyFactory"
            ldc "RSA"
            aload 4 /* P11RSAKeyFactory */
        99: .line 590
            lconst_0
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       100: .line 589
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       101: .line 591
            ldc "KeyFactory"
            ldc "DSA"
            aload 5 /* P11DSAKeyFactory */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
       102: .line 592
            ldc "1.3.14.3.2.12"
            aastore
            dup
            iconst_1
            ldc "1.2.840.10040.4.1"
            aastore
            dup
            iconst_2
            ldc "OID.1.2.840.10040.4.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       103: .line 593
            ldc 16
            ldc 17
            ldc 18
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       104: .line 591
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       105: .line 594
            ldc "KeyFactory"
            ldc "DH"
            aload 6 /* P11DHKeyFactory */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DiffieHellman"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       106: .line 595
            ldc 32
            ldc 33
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       107: .line 594
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       108: .line 596
            ldc "KeyFactory"
            ldc "EC"
            aload 6 /* P11DHKeyFactory */
       109: .line 597
            ldc 4160
            ldc 4176
       110: .line 598
            ldc 4161
            ldc 4162
       111: .line 597
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJJ)[I
       112: .line 596
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       113: .line 602
            ldc "AlgorithmParameters"
            ldc "EC"
            ldc "sun.security.util.ECParameters"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
       114: .line 603
            ldc "1.2.840.10045.2.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       115: .line 604
            ldc 4160
            ldc 4176
       116: .line 605
            ldc 4161
            ldc 4162
       117: .line 604
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJJ)[I
       118: .line 602
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       119: .line 607
            ldc "KeyAgreement"
            ldc "DH"
            aload 7 /* P11KeyAgreement */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DiffieHellman"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       120: .line 608
            ldc 33
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       121: .line 607
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       122: .line 609
            ldc "KeyAgreement"
            ldc "ECDH"
            ldc "sun.security.pkcs11.P11ECDHKeyAgreement"
       123: .line 610
            ldc 4176
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       124: .line 609
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       125: .line 612
            ldc "SecretKeyFactory"
            ldc "ARCFOUR"
            aload 8 /* P11SecretKeyFactory */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "RC4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       126: .line 613
            ldc 273
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       127: .line 612
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       128: .line 614
            ldc "SecretKeyFactory"
            ldc "DES"
            aload 8 /* P11SecretKeyFactory */
       129: .line 615
            ldc 290
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       130: .line 614
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       131: .line 616
            ldc "SecretKeyFactory"
            ldc "DESede"
            aload 8 /* P11SecretKeyFactory */
       132: .line 617
            ldc 307
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       133: .line 616
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       134: .line 618
            ldc "SecretKeyFactory"
            ldc "AES"
            aload 8 /* P11SecretKeyFactory */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       135: .line 619
            ldc "2.16.840.1.101.3.4.1"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       136: .line 620
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       137: .line 618
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       138: .line 621
            ldc "SecretKeyFactory"
            ldc "Blowfish"
            aload 8 /* P11SecretKeyFactory */
       139: .line 622
            ldc 4241
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       140: .line 621
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       141: .line 625
            ldc "Cipher"
            ldc "ARCFOUR"
            aload 9 /* P11Cipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "RC4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       142: .line 626
            ldc 273
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       143: .line 625
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       144: .line 627
            ldc "Cipher"
            ldc "DES/CBC/NoPadding"
            aload 9 /* P11Cipher */
       145: .line 628
            ldc 290
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       146: .line 627
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       147: .line 629
            ldc "Cipher"
            ldc "DES/CBC/PKCS5Padding"
            aload 9 /* P11Cipher */
       148: .line 630
            ldc 293
            ldc 290
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       149: .line 629
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       150: .line 631
            ldc "Cipher"
            ldc "DES/ECB/NoPadding"
            aload 9 /* P11Cipher */
       151: .line 632
            ldc 289
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       152: .line 631
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       153: .line 633
            ldc "Cipher"
            ldc "DES/ECB/PKCS5Padding"
            aload 9 /* P11Cipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DES"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       154: .line 634
            ldc 289
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       155: .line 633
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       156: .line 636
            ldc "Cipher"
            ldc "DESede/CBC/NoPadding"
            aload 9 /* P11Cipher */
       157: .line 637
            ldc 307
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       158: .line 636
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       159: .line 638
            ldc "Cipher"
            ldc "DESede/CBC/PKCS5Padding"
            aload 9 /* P11Cipher */
       160: .line 639
            ldc 310
            ldc 307
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       161: .line 638
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       162: .line 640
            ldc "Cipher"
            ldc "DESede/ECB/NoPadding"
            aload 9 /* P11Cipher */
       163: .line 641
            ldc 306
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       164: .line 640
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       165: .line 642
            ldc "Cipher"
            ldc "DESede/ECB/PKCS5Padding"
            aload 9 /* P11Cipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DESede"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       166: .line 643
            ldc 306
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       167: .line 642
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       168: .line 644
            ldc "Cipher"
            ldc "AES/CBC/NoPadding"
            aload 9 /* P11Cipher */
       169: .line 645
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       170: .line 644
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       171: .line 646
            ldc "Cipher"
            ldc "AES_128/CBC/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       172: .line 647
            ldc "2.16.840.1.101.3.4.1.2"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.2"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       173: .line 648
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       174: .line 646
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       175: .line 649
            ldc "Cipher"
            ldc "AES_192/CBC/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       176: .line 650
            ldc "2.16.840.1.101.3.4.1.22"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.22"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       177: .line 651
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       178: .line 649
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       179: .line 652
            ldc "Cipher"
            ldc "AES_256/CBC/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       180: .line 653
            ldc "2.16.840.1.101.3.4.1.42"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.42"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       181: .line 654
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       182: .line 652
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       183: .line 655
            ldc "Cipher"
            ldc "AES/CBC/PKCS5Padding"
            aload 9 /* P11Cipher */
       184: .line 656
            ldc 4229
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       185: .line 655
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       186: .line 657
            ldc "Cipher"
            ldc "AES/ECB/NoPadding"
            aload 9 /* P11Cipher */
       187: .line 658
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       188: .line 657
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       189: .line 659
            ldc "Cipher"
            ldc "AES_128/ECB/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       190: .line 660
            ldc "2.16.840.1.101.3.4.1.1"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       191: .line 661
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       192: .line 659
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       193: .line 662
            ldc "Cipher"
            ldc "AES_192/ECB/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       194: .line 663
            ldc "2.16.840.1.101.3.4.1.21"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.21"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       195: .line 664
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       196: .line 662
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       197: .line 665
            ldc "Cipher"
            ldc "AES_256/ECB/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       198: .line 666
            ldc "2.16.840.1.101.3.4.1.41"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.41"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       199: .line 667
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       200: .line 665
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       201: .line 668
            ldc "Cipher"
            ldc "AES/ECB/PKCS5Padding"
            aload 9 /* P11Cipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AES"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       202: .line 669
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       203: .line 668
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       204: .line 670
            ldc "Cipher"
            ldc "AES/CTR/NoPadding"
            aload 9 /* P11Cipher */
       205: .line 671
            ldc 4230
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       206: .line 670
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       207: .line 672
            ldc "Cipher"
            ldc "Blowfish/CBC/NoPadding"
            aload 9 /* P11Cipher */
       208: .line 673
            ldc 4241
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       209: .line 672
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       210: .line 674
            ldc "Cipher"
            ldc "Blowfish/CBC/PKCS5Padding"
            aload 9 /* P11Cipher */
       211: .line 675
            ldc 4241
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       212: .line 674
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       213: .line 678
            ldc "Cipher"
            ldc "RSA/ECB/PKCS1Padding"
            aload 10 /* P11RSACipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "RSA"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       214: .line 679
            lconst_1
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       215: .line 678
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       216: .line 680
            ldc "Cipher"
            ldc "RSA/ECB/NoPadding"
            aload 10 /* P11RSACipher */
       217: .line 681
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       218: .line 680
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       219: .line 683
            ldc "Signature"
            ldc "RawDSA"
            aload 11 /* P11Signature */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "NONEwithDSA"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       220: .line 684
            ldc 17
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       221: .line 683
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       222: .line 685
            ldc "Signature"
            ldc "DSA"
            aload 11 /* P11Signature */
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
       223: .line 686
            ldc "SHA1withDSA"
            aastore
            dup
            iconst_1
            ldc "1.3.14.3.2.13"
            aastore
            dup
            iconst_2
            ldc "1.3.14.3.2.27"
            aastore
            dup
            iconst_3
       224: .line 687
            ldc "1.2.840.10040.4.3"
            aastore
            dup
            iconst_4
            ldc "OID.1.2.840.10040.4.3"
            aastore
       225: .line 686
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       226: .line 688
            ldc 18
            ldc 17
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       227: .line 685
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       228: .line 689
            ldc "Signature"
            ldc "RawDSAinP1363Format"
            aload 11 /* P11Signature */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
       229: .line 690
            ldc "NONEwithDSAinP1363Format"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       230: .line 691
            ldc 17
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       231: .line 689
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       232: .line 692
            ldc "Signature"
            ldc "DSAinP1363Format"
            aload 11 /* P11Signature */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
       233: .line 693
            ldc "SHA1withDSAinP1363Format"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       234: .line 694
            ldc 18
            ldc 17
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       235: .line 692
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       236: .line 695
            ldc "Signature"
            ldc "NONEwithECDSA"
            aload 11 /* P11Signature */
       237: .line 696
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       238: .line 695
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       239: .line 697
            ldc "Signature"
            ldc "SHA1withECDSA"
            aload 11 /* P11Signature */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
       240: .line 698
            ldc "ECDSA"
            aastore
            dup
            iconst_1
            ldc "1.2.840.10045.4.1"
            aastore
            dup
            iconst_2
            ldc "OID.1.2.840.10045.4.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       241: .line 699
            ldc 4162
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       242: .line 697
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       243: .line 700
            ldc "Signature"
            ldc "SHA224withECDSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       244: .line 701
            ldc "1.2.840.10045.4.3.1"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.10045.4.3.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       245: .line 702
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       246: .line 700
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       247: .line 703
            ldc "Signature"
            ldc "SHA256withECDSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       248: .line 704
            ldc "1.2.840.10045.4.3.2"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.10045.4.3.2"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       249: .line 705
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       250: .line 703
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       251: .line 706
            ldc "Signature"
            ldc "SHA384withECDSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       252: .line 707
            ldc "1.2.840.10045.4.3.3"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.10045.4.3.3"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       253: .line 708
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       254: .line 706
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       255: .line 709
            ldc "Signature"
            ldc "SHA512withECDSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       256: .line 710
            ldc "1.2.840.10045.4.3.4"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.10045.4.3.4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       257: .line 711
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       258: .line 709
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       259: .line 712
            ldc "Signature"
            ldc "NONEwithECDSAinP1363Format"
            aload 11 /* P11Signature */
       260: .line 713
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       261: .line 712
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       262: .line 714
            ldc "Signature"
            ldc "SHA1withECDSAinP1363Format"
            aload 11 /* P11Signature */
       263: .line 715
            ldc 4162
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       264: .line 714
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       265: .line 716
            ldc "Signature"
            ldc "SHA224withECDSAinP1363Format"
            aload 11 /* P11Signature */
       266: .line 717
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       267: .line 716
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       268: .line 718
            ldc "Signature"
            ldc "SHA256withECDSAinP1363Format"
            aload 11 /* P11Signature */
       269: .line 719
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       270: .line 718
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       271: .line 720
            ldc "Signature"
            ldc "SHA384withECDSAinP1363Format"
            aload 11 /* P11Signature */
       272: .line 721
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       273: .line 720
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       274: .line 722
            ldc "Signature"
            ldc "SHA512withECDSAinP1363Format"
            aload 11 /* P11Signature */
       275: .line 723
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       276: .line 722
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       277: .line 724
            ldc "Signature"
            ldc "MD2withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       278: .line 725
            ldc "1.2.840.113549.1.1.2"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.2"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       279: .line 726
            ldc 4
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       280: .line 724
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       281: .line 727
            ldc "Signature"
            ldc "MD5withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       282: .line 728
            ldc "1.2.840.113549.1.1.4"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       283: .line 729
            ldc 5
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       284: .line 727
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       285: .line 730
            ldc "Signature"
            ldc "SHA1withRSA"
            aload 11 /* P11Signature */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
       286: .line 731
            ldc "1.2.840.113549.1.1.5"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.5"
            aastore
            dup
            iconst_2
       287: .line 732
            ldc "1.3.14.3.2.29"
            aastore
       288: .line 731
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       289: .line 733
            ldc 6
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       290: .line 730
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       291: .line 734
            ldc "Signature"
            ldc "SHA224withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       292: .line 735
            ldc "1.2.840.113549.1.1.14"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.14"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       293: .line 736
            ldc 70
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       294: .line 734
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       295: .line 737
            ldc "Signature"
            ldc "SHA256withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       296: .line 738
            ldc "1.2.840.113549.1.1.11"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.11"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       297: .line 739
            ldc 64
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       298: .line 737
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       299: .line 740
            ldc "Signature"
            ldc "SHA384withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       300: .line 741
            ldc "1.2.840.113549.1.1.12"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.12"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       301: .line 742
            ldc 65
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       302: .line 740
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       303: .line 743
            ldc "Signature"
            ldc "SHA512withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       304: .line 744
            ldc "1.2.840.113549.1.1.13"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.13"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       305: .line 745
            ldc 66
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       306: .line 743
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       307: .line 766
            ldc "KeyGenerator"
            ldc "SunTlsRsaPremasterSecret"
       308: .line 767
            ldc "sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator"
       309: .line 768
            ldc 880
            ldc 884
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       310: .line 766
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       311: .line 769
            ldc "KeyGenerator"
            ldc "SunTlsMasterSecret"
       312: .line 770
            ldc "sun.security.pkcs11.P11TlsMasterSecretGenerator"
       313: .line 771
            ldc 881
            ldc 885
       314: .line 772
            ldc 883
       315: .line 773
            ldc 887
       316: .line 771
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJJ)[I
       317: .line 769
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       318: .line 774
            ldc "KeyGenerator"
            ldc "SunTlsKeyMaterial"
       319: .line 775
            ldc "sun.security.pkcs11.P11TlsKeyMaterialGenerator"
       320: .line 776
            ldc 882
            ldc 886
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       321: .line 774
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       322: .line 777
            ldc "KeyGenerator"
            ldc "SunTlsPrf"
            ldc "sun.security.pkcs11.P11TlsPrfGenerator"
       323: .line 778
            ldc 888
            ldc 2147484531
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       324: .line 777
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        end local 11 // java.lang.String P11Signature
        end local 10 // java.lang.String P11RSACipher
        end local 9 // java.lang.String P11Cipher
        end local 8 // java.lang.String P11SecretKeyFactory
        end local 7 // java.lang.String P11KeyAgreement
        end local 6 // java.lang.String P11DHKeyFactory
        end local 5 // java.lang.String P11DSAKeyFactory
        end local 4 // java.lang.String P11RSAKeyFactory
        end local 3 // java.lang.String P11KeyGenerator
        end local 2 // java.lang.String P11KeyPairGenerator
        end local 1 // java.lang.String P11MAC
        end local 0 // java.lang.String P11Digest
       325: .line 779
            return
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            4  325     0            P11Digest  Ljava/lang/String;
            5  325     1               P11MAC  Ljava/lang/String;
            6  325     2  P11KeyPairGenerator  Ljava/lang/String;
            7  325     3      P11KeyGenerator  Ljava/lang/String;
            8  325     4     P11RSAKeyFactory  Ljava/lang/String;
            9  325     5     P11DSAKeyFactory  Ljava/lang/String;
           10  325     6      P11DHKeyFactory  Ljava/lang/String;
           11  325     7      P11KeyAgreement  Ljava/lang/String;
           12  325     8  P11SecretKeyFactory  Ljava/lang/String;
           13  325     9            P11Cipher  Ljava/lang/String;
           14  325    10         P11RSACipher  Ljava/lang/String;
           15  325    11         P11Signature  Ljava/lang/String;

  sun.security.pkcs11.Token getToken();
    descriptor: ()Lsun/security/pkcs11/Token;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 89
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            areturn
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs11/SunPKCS11;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 93
            aload 0 /* this */
            ldc "SunPKCS11"
            getstatic sun.security.util.SecurityConstants.PROVIDER_VER:Ljava/lang/String;
         1: .line 94
            ldc "Unconfigured and unusable PKCS11 provider"
            invokespecial java.security.AuthProvider.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         2: .line 76
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.security.pkcs11.SunPKCS11.LOCK_HANDLER:Ljava/lang/Object;
         3: .line 95
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
         4: .line 96
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
         5: .line 97
            aload 0 /* this */
            lconst_0
            putfield sun.security.pkcs11.SunPKCS11.slotID:J
         6: .line 98
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
         7: .line 99
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs11.SunPKCS11.removable:Z
         8: .line 100
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs11.SunPKCS11.nssModule:Lsun/security/pkcs11/Secmod$Module;
         9: .line 101
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs11.SunPKCS11.nssUseSecmodTrust:Z
        10: .line 102
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
        11: .line 103
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
        12: .line 104
            return
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/security/pkcs11/SunPKCS11;

  public java.security.Provider configure(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/Provider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // java.lang.String configArg
         0: .line 108
            aload 1 /* configArg */
            invokestatic sun.security.pkcs11.SunPKCS11.checkNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* newConfigName */
        start local 2 // java.lang.String newConfigName
         1: .line 110
            new sun.security.pkcs11.SunPKCS11$1
            dup
            aload 0 /* this */
            aload 2 /* newConfigName */
            invokespecial sun.security.pkcs11.SunPKCS11$1.<init>:(Lsun/security/pkcs11/SunPKCS11;Ljava/lang/String;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.security.Provider
         2: areturn
         3: .line 116
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.lang.String
      StackMap stack: java.security.PrivilegedActionException
            astore 3 /* pae */
        start local 3 // java.security.PrivilegedActionException pae
         4: .line 118
            new java.security.InvalidParameterException
            dup
            ldc "Error configuring SunPKCS11 provider"
            invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
         5: .line 117
            astore 4 /* ipe */
        start local 4 // java.security.InvalidParameterException ipe
         6: .line 119
            aload 4 /* ipe */
            aload 3 /* pae */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            invokevirtual java.security.InvalidParameterException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.security.InvalidParameterException
            athrow
        end local 4 // java.security.InvalidParameterException ipe
        end local 3 // java.security.PrivilegedActionException pae
        end local 2 // java.lang.String newConfigName
        end local 1 // java.lang.String configArg
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lsun/security/pkcs11/SunPKCS11;
            0    7     1      configArg  Ljava/lang/String;
            1    7     2  newConfigName  Ljava/lang/String;
            4    7     3            pae  Ljava/security/PrivilegedActionException;
            6    7     4            ipe  Ljava/security/InvalidParameterException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.security.InvalidParameterException
    MethodParameters:
           Name  Flags
      configArg  

  public boolean isConfigured();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 125
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/pkcs11/SunPKCS11;

  private static <T> T checkNull();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 129
            aload 0 /* obj */
            ifnonnull 2
         1: .line 130
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)TT;
    MethodParameters:
      Name  Flags
      obj   

  void <init>(sun.security.pkcs11.Config);
    descriptor: (Lsun/security/pkcs11/Config;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=18, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // sun.security.pkcs11.Config c
         0: .line 137
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "SunPKCS11-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* c */
            invokevirtual sun.security.pkcs11.Config.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            getstatic sun.security.util.SecurityConstants.PROVIDER_VER:Ljava/lang/String;
            aload 1 /* c */
            invokevirtual sun.security.pkcs11.Config.getDescription:()Ljava/lang/String;
            invokespecial java.security.AuthProvider.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 76
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.security.pkcs11.SunPKCS11.LOCK_HANDLER:Ljava/lang/Object;
         2: .line 138
            aload 0 /* this */
            aload 1 /* c */
            putfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
         3: .line 140
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 5
         4: .line 141
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "SunPKCS11 loading "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getFileName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 144
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.Config
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getLibrary:()Ljava/lang/String;
            astore 2 /* library */
        start local 2 // java.lang.String library
         6: .line 145
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getFunctionList:()Ljava/lang/String;
            astore 3 /* functionList */
        start local 3 // java.lang.String functionList
         7: .line 146
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getSlotID:()I
            i2l
            lstore 4 /* slotID */
        start local 4 // long slotID
         8: .line 147
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getSlotListIndex:()I
            istore 6 /* slotListIndex */
        start local 6 // int slotListIndex
         9: .line 149
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssUseSecmod:()Z
            istore 7 /* useSecmod */
        start local 7 // boolean useSecmod
        10: .line 150
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssUseSecmodTrust:()Z
            istore 8 /* nssUseSecmodTrust */
        start local 8 // boolean nssUseSecmodTrust
        11: .line 151
            aconst_null
            astore 9 /* nssModule */
        start local 9 // sun.security.pkcs11.Secmod$Module nssModule
        12: .line 168
            iload 7 /* useSecmod */
            ifeq 114
        13: .line 171
            invokestatic sun.security.pkcs11.Secmod.getInstance:()Lsun/security/pkcs11/Secmod;
            astore 10 /* secmod */
        start local 10 // sun.security.pkcs11.Secmod secmod
        14: .line 172
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssDbMode:()Lsun/security/pkcs11/Secmod$DbMode;
            astore 11 /* nssDbMode */
        start local 11 // sun.security.pkcs11.Secmod$DbMode nssDbMode
        15: .line 174
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssLibraryDirectory:()Ljava/lang/String;
            astore 12 /* nssLibraryDirectory */
        start local 12 // java.lang.String nssLibraryDirectory
        16: .line 175
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssSecmodDirectory:()Ljava/lang/String;
            astore 13 /* nssSecmodDirectory */
        start local 13 // java.lang.String nssSecmodDirectory
        17: .line 176
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssOptimizeSpace:()Z
            istore 14 /* nssOptimizeSpace */
        start local 14 // boolean nssOptimizeSpace
        18: .line 178
            aload 10 /* secmod */
            invokevirtual sun.security.pkcs11.Secmod.isInitialized:()Z
            ifeq 37
        19: .line 179
            aload 13 /* nssSecmodDirectory */
            ifnull 28
        20: .line 180
            aload 10 /* secmod */
            invokevirtual sun.security.pkcs11.Secmod.getConfigDir:()Ljava/lang/String;
            astore 15 /* s */
        start local 15 // java.lang.String s
        21: .line 181
            aload 15 /* s */
            ifnull 28
        22: .line 182
            aload 15 /* s */
            aload 13 /* nssSecmodDirectory */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 28
        23: .line 183
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Secmod directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 184
            aload 13 /* nssSecmodDirectory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 185
            ldc " invalid, NSS already initialized with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 186
            aload 15 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 183
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        end local 15 // java.lang.String s
        28: .line 189
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.Config java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode java.lang.String java.lang.String int
      StackMap stack:
            aload 12 /* nssLibraryDirectory */
            ifnull 52
        29: .line 190
            aload 10 /* secmod */
            invokevirtual sun.security.pkcs11.Secmod.getLibDir:()Ljava/lang/String;
            astore 15 /* s */
        start local 15 // java.lang.String s
        30: .line 191
            aload 15 /* s */
            ifnull 52
        31: .line 192
            aload 15 /* s */
            aload 12 /* nssLibraryDirectory */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 52
        32: .line 193
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "NSS library directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        33: .line 194
            aload 12 /* nssLibraryDirectory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        34: .line 195
            ldc " invalid, NSS already initialized with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        35: .line 196
            aload 15 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 193
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        end local 15 // java.lang.String s
        37: .line 200
      StackMap locals:
      StackMap stack:
            aload 11 /* nssDbMode */
            getstatic sun.security.pkcs11.Secmod$DbMode.NO_DB:Lsun/security/pkcs11/Secmod$DbMode;
            if_acmpeq 42
        38: .line 201
            aload 13 /* nssSecmodDirectory */
            ifnonnull 46
        39: .line 202
            new java.security.ProviderException
            dup
        40: .line 203
            ldc "Secmod not initialized and nssSecmodDirectory not specified"
        41: .line 202
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 207
      StackMap locals:
      StackMap stack:
            aload 13 /* nssSecmodDirectory */
            ifnull 46
        43: .line 208
            new java.security.ProviderException
            dup
        44: .line 209
            ldc "nssSecmodDirectory must not be specified in noDb mode"
        45: .line 208
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        46: .line 213
      StackMap locals:
      StackMap stack:
            aload 10 /* secmod */
            aload 11 /* nssDbMode */
            aload 13 /* nssSecmodDirectory */
        47: .line 214
            aload 12 /* nssLibraryDirectory */
            iload 14 /* nssOptimizeSpace */
        48: .line 213
            invokevirtual sun.security.pkcs11.Secmod.initialize:(Lsun/security/pkcs11/Secmod$DbMode;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 14 // boolean nssOptimizeSpace
        end local 13 // java.lang.String nssSecmodDirectory
        end local 12 // java.lang.String nssLibraryDirectory
        49: .line 216
            goto 52
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.Config java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode
      StackMap stack: java.io.IOException
        50: astore 12 /* e */
        start local 12 // java.io.IOException e
        51: .line 218
            new java.security.ProviderException
            dup
            ldc "Could not initialize NSS"
            aload 12 /* e */
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.io.IOException e
        52: .line 220
      StackMap locals:
      StackMap stack:
            aload 10 /* secmod */
            invokevirtual sun.security.pkcs11.Secmod.getModules:()Ljava/util/List;
            astore 12 /* modules */
        start local 12 // java.util.List modules
        53: .line 221
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getShowInfo:()Z
            ifeq 55
        54: .line 222
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "NSS modules: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* modules */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        55: .line 225
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssModule:()Ljava/lang/String;
            astore 13 /* moduleName */
        start local 13 // java.lang.String moduleName
        56: .line 226
            aload 13 /* moduleName */
            ifnonnull 65
        57: .line 227
            aload 10 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.FIPS:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 9 /* nssModule */
        58: .line 228
            aload 9 /* nssModule */
            ifnull 61
        59: .line 229
            ldc "fips"
            astore 13 /* moduleName */
        60: .line 230
            goto 65
        61: .line 231
      StackMap locals: java.lang.String
      StackMap stack:
            aload 11 /* nssDbMode */
            getstatic sun.security.pkcs11.Secmod$DbMode.NO_DB:Lsun/security/pkcs11/Secmod$DbMode;
            if_acmpne 63
        62: .line 232
            ldc "crypto"
            goto 64
      StackMap locals:
      StackMap stack:
        63: ldc "keystore"
        64: .line 231
      StackMap locals:
      StackMap stack: java.lang.String
            astore 13 /* moduleName */
        65: .line 235
      StackMap locals:
      StackMap stack:
            aload 13 /* moduleName */
            ldc "fips"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 70
        66: .line 236
            aload 10 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.FIPS:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 9 /* nssModule */
        67: .line 237
            iconst_1
            istore 8 /* nssUseSecmodTrust */
        68: .line 238
            ldc "FC_GetFunctionList"
            astore 3 /* functionList */
        69: .line 239
            goto 106
      StackMap locals:
      StackMap stack:
        70: aload 13 /* moduleName */
            ldc "keystore"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 74
        71: .line 240
            aload 10 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.KEYSTORE:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 9 /* nssModule */
        72: .line 241
            iconst_1
            istore 8 /* nssUseSecmodTrust */
        73: .line 242
            goto 106
      StackMap locals:
      StackMap stack:
        74: aload 13 /* moduleName */
            ldc "crypto"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 77
        75: .line 243
            aload 10 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.CRYPTO:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 9 /* nssModule */
        76: .line 244
            goto 106
      StackMap locals:
      StackMap stack:
        77: aload 13 /* moduleName */
            ldc "trustanchors"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 81
        78: .line 246
            aload 10 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.TRUSTANCHOR:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 9 /* nssModule */
        79: .line 247
            iconst_1
            istore 8 /* nssUseSecmodTrust */
        80: .line 248
            goto 106
      StackMap locals:
      StackMap stack:
        81: aload 13 /* moduleName */
            ldc "external-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 103
        82: .line 252
            aload 13 /* moduleName */
            ldc "external-"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
        83: .line 251
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 14 /* moduleIndex */
        start local 14 // int moduleIndex
        84: .line 253
            goto 87
        end local 14 // int moduleIndex
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        85: pop
        86: .line 254
            iconst_m1
            istore 14 /* moduleIndex */
        start local 14 // int moduleIndex
        87: .line 256
      StackMap locals: int
      StackMap stack:
            iload 14 /* moduleIndex */
            iconst_1
            if_icmpge 91
        88: .line 257
            new java.security.ProviderException
            dup
        89: .line 258
            new java.lang.StringBuilder
            dup
            ldc "Invalid external module: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        90: .line 257
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        91: .line 260
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* k */
        start local 15 // int k
        92: .line 261
            aload 12 /* modules */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 98
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.Config java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode java.util.List java.lang.String int int top java.util.Iterator
      StackMap stack:
        93: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs11.Secmod$Module
            astore 16 /* module */
        start local 16 // sun.security.pkcs11.Secmod$Module module
        94: .line 262
            aload 16 /* module */
            invokevirtual sun.security.pkcs11.Secmod$Module.getType:()Lsun/security/pkcs11/Secmod$ModuleType;
            getstatic sun.security.pkcs11.Secmod$ModuleType.EXTERNAL:Lsun/security/pkcs11/Secmod$ModuleType;
            if_acmpne 98
        95: .line 263
            iinc 15 /* k */ 1
            iload 15 /* k */
            iload 14 /* moduleIndex */
            if_icmpne 98
        96: .line 264
            aload 16 /* module */
            astore 9 /* nssModule */
        97: .line 265
            goto 99
        end local 16 // sun.security.pkcs11.Secmod$Module module
        98: .line 261
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 93
        99: .line 269
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.Config java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode java.util.List java.lang.String int int
      StackMap stack:
            aload 9 /* nssModule */
            ifnonnull 106
       100: .line 270
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid module "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       101: .line 271
            ldc ": only "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 15 /* k */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " external NSS modules available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       102: .line 270
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        end local 15 // int k
        end local 14 // int moduleIndex
       103: .line 274
      StackMap locals:
      StackMap stack:
            new java.security.ProviderException
            dup
       104: .line 275
            new java.lang.StringBuilder
            dup
            ldc "Unknown NSS module: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       105: .line 274
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       106: .line 277
      StackMap locals:
      StackMap stack:
            aload 9 /* nssModule */
            ifnonnull 110
       107: .line 278
            new java.security.ProviderException
            dup
       108: .line 279
            new java.lang.StringBuilder
            dup
            ldc "NSS module not available: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       109: .line 278
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       110: .line 281
      StackMap locals:
      StackMap stack:
            aload 9 /* nssModule */
            invokevirtual sun.security.pkcs11.Secmod$Module.hasInitializedProvider:()Z
            ifeq 112
       111: .line 282
            new java.security.ProviderException
            dup
            ldc "Secmod module already configured"
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       112: .line 284
      StackMap locals:
      StackMap stack:
            aload 9 /* nssModule */
            getfield sun.security.pkcs11.Secmod$Module.libraryName:Ljava/lang/String;
            astore 2 /* library */
       113: .line 285
            aload 9 /* nssModule */
            getfield sun.security.pkcs11.Secmod$Module.slot:I
            istore 6 /* slotListIndex */
        end local 13 // java.lang.String moduleName
        end local 12 // java.util.List modules
        end local 11 // sun.security.pkcs11.Secmod$DbMode nssDbMode
        end local 10 // sun.security.pkcs11.Secmod secmod
       114: .line 287
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.Config java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module
      StackMap stack:
            aload 0 /* this */
            iload 8 /* nssUseSecmodTrust */
            putfield sun.security.pkcs11.SunPKCS11.nssUseSecmodTrust:Z
       115: .line 288
            aload 0 /* this */
            aload 9 /* nssModule */
            putfield sun.security.pkcs11.SunPKCS11.nssModule:Lsun/security/pkcs11/Secmod$Module;
       116: .line 290
            new java.io.File
            dup
            aload 2 /* library */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 10 /* libraryFile */
        start local 10 // java.io.File libraryFile
       117: .line 295
            aload 10 /* libraryFile */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            aload 2 /* library */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 123
       118: .line 296
            new java.io.File
            dup
            aload 2 /* library */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.isFile:()Z
            ifne 123
       119: .line 297
            new java.lang.StringBuilder
            dup
            ldc "Library "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* library */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* msg */
        start local 11 // java.lang.String msg
       120: .line 298
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getHandleStartupErrors:()I
            iconst_1
            if_icmpne 122
       121: .line 299
            new java.security.ProviderException
            dup
            aload 11 /* msg */
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       122: .line 301
      StackMap locals: java.io.File java.lang.String
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            aload 11 /* msg */
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.String msg
       123: .line 307
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 125
       124: .line 308
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Initializing PKCS#11 library "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* library */
            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
       125: .line 310
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS
            dup
            invokespecial sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS.<init>:()V
            astore 11 /* initArgs */
        start local 11 // sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS initArgs
       126: .line 311
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssArgs:()Ljava/lang/String;
            astore 12 /* nssArgs */
        start local 12 // java.lang.String nssArgs
       127: .line 312
            aload 12 /* nssArgs */
            ifnull 129
       128: .line 313
            aload 11 /* initArgs */
            aload 12 /* nssArgs */
            putfield sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS.pReserved:Ljava/lang/Object;
       129: .line 316
      StackMap locals: sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String
      StackMap stack:
            aload 11 /* initArgs */
            ldc 2
            putfield sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS.flags:J
       130: .line 320
            aload 2 /* library */
            aload 3 /* functionList */
            aload 11 /* initArgs */
       131: .line 321
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getOmitInitialize:()Z
       132: .line 319
            invokestatic sun.security.pkcs11.wrapper.PKCS11.getInstance:(Ljava/lang/String;Ljava/lang/String;Lsun/security/pkcs11/wrapper/CK_C_INITIALIZE_ARGS;Z)Lsun/security/pkcs11/wrapper/PKCS11;
            astore 13 /* tmpPKCS11 */
        start local 13 // sun.security.pkcs11.wrapper.PKCS11 tmpPKCS11
       133: .line 322
            goto 146
        end local 13 // sun.security.pkcs11.wrapper.PKCS11 tmpPKCS11
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
       134: astore 14 /* e */
        start local 14 // sun.security.pkcs11.wrapper.PKCS11Exception e
       135: .line 323
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 137
       136: .line 324
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Multi-threaded initialization failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       137: .line 326
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.Config java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String top sun.security.pkcs11.wrapper.PKCS11Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getAllowSingleThreadedModules:()Z
            ifne 139
       138: .line 327
            aload 14 /* e */
            athrow
       139: .line 330
      StackMap locals:
      StackMap stack:
            aload 12 /* nssArgs */
            ifnonnull 142
       140: .line 332
            aconst_null
            astore 11 /* initArgs */
       141: .line 333
            goto 143
       142: .line 334
      StackMap locals:
      StackMap stack:
            aload 11 /* initArgs */
            lconst_0
            putfield sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS.flags:J
       143: .line 336
      StackMap locals:
      StackMap stack:
            aload 2 /* library */
       144: .line 337
            aload 3 /* functionList */
            aload 11 /* initArgs */
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getOmitInitialize:()Z
       145: .line 336
            invokestatic sun.security.pkcs11.wrapper.PKCS11.getInstance:(Ljava/lang/String;Ljava/lang/String;Lsun/security/pkcs11/wrapper/CK_C_INITIALIZE_ARGS;Z)Lsun/security/pkcs11/wrapper/PKCS11;
            astore 13 /* tmpPKCS11 */
        end local 14 // sun.security.pkcs11.wrapper.PKCS11Exception e
        start local 13 // sun.security.pkcs11.wrapper.PKCS11 tmpPKCS11
       146: .line 339
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.Config java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String sun.security.pkcs11.wrapper.PKCS11
      StackMap stack:
            aload 0 /* this */
            aload 13 /* tmpPKCS11 */
            putfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
       147: .line 341
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetInfo:()Lsun/security/pkcs11/wrapper/CK_INFO;
            astore 14 /* p11Info */
        start local 14 // sun.security.pkcs11.wrapper.CK_INFO p11Info
       148: .line 342
            aload 14 /* p11Info */
            getfield sun.security.pkcs11.wrapper.CK_INFO.cryptokiVersion:Lsun/security/pkcs11/wrapper/CK_VERSION;
            getfield sun.security.pkcs11.wrapper.CK_VERSION.major:B
            iconst_2
            if_icmpge 152
       149: .line 343
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Only PKCS#11 v2.0 and later supported, library version is v"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       150: .line 344
            aload 14 /* p11Info */
            getfield sun.security.pkcs11.wrapper.CK_INFO.cryptokiVersion:Lsun/security/pkcs11/wrapper/CK_VERSION;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       151: .line 343
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       152: .line 346
      StackMap locals: sun.security.pkcs11.wrapper.CK_INFO
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getShowInfo:()Z
            istore 15 /* showInfo */
        start local 15 // boolean showInfo
       153: .line 347
            iload 15 /* showInfo */
            ifeq 157
       154: .line 348
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Information for provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       155: .line 349
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Library info:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       156: .line 350
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 14 /* p11Info */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
       157: .line 353
      StackMap locals: int
      StackMap stack:
            lload 4 /* slotID */
            lconst_0
            lcmp
            iflt 158
            iload 15 /* showInfo */
            ifeq 171
       158: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            iconst_0
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetSlotList:(Z)[J
            astore 16 /* slots */
        start local 16 // long[] slots
       159: .line 355
            iload 15 /* showInfo */
            ifeq 163
       160: .line 356
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "All slots: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 16 /* slots */
            invokestatic sun.security.pkcs11.SunPKCS11.toString:([J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       161: .line 357
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            iconst_1
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetSlotList:(Z)[J
            astore 16 /* slots */
       162: .line 358
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Slots with tokens: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 16 /* slots */
            invokestatic sun.security.pkcs11.SunPKCS11.toString:([J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       163: .line 360
      StackMap locals: long[]
      StackMap stack:
            lload 4 /* slotID */
            lconst_0
            lcmp
            ifge 171
       164: .line 361
            iload 6 /* slotListIndex */
            iflt 166
       165: .line 362
            iload 6 /* slotListIndex */
            aload 16 /* slots */
            arraylength
            if_icmplt 170
       166: .line 363
      StackMap locals:
      StackMap stack:
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "slotListIndex is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       167: .line 364
            iload 6 /* slotListIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       168: .line 365
            ldc " but token only has "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* slots */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " slots"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       169: .line 363
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       170: .line 367
      StackMap locals:
      StackMap stack:
            aload 16 /* slots */
            iload 6 /* slotListIndex */
            laload
            lstore 4 /* slotID */
        end local 16 // long[] slots
       171: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 4 /* slotID */
            putfield sun.security.pkcs11.SunPKCS11.slotID:J
       172: .line 371
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            lload 4 /* slotID */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetSlotInfo:(J)Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;
            astore 16 /* slotInfo */
        start local 16 // sun.security.pkcs11.wrapper.CK_SLOT_INFO slotInfo
       173: .line 372
            aload 0 /* this */
            aload 16 /* slotInfo */
            getfield sun.security.pkcs11.wrapper.CK_SLOT_INFO.flags:J
            ldc 2
            land
            lconst_0
            lcmp
            ifeq 174
            iconst_1
            goto 175
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.Config java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String sun.security.pkcs11.wrapper.PKCS11 sun.security.pkcs11.wrapper.CK_INFO int sun.security.pkcs11.wrapper.CK_SLOT_INFO
      StackMap stack: sun.security.pkcs11.SunPKCS11
       174: iconst_0
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.Config java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String sun.security.pkcs11.wrapper.PKCS11 sun.security.pkcs11.wrapper.CK_INFO int sun.security.pkcs11.wrapper.CK_SLOT_INFO
      StackMap stack: sun.security.pkcs11.SunPKCS11 int
       175: putfield sun.security.pkcs11.SunPKCS11.removable:Z
       176: .line 373
            aload 0 /* this */
            aload 16 /* slotInfo */
            invokevirtual sun.security.pkcs11.SunPKCS11.initToken:(Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;)V
       177: .line 374
            aload 9 /* nssModule */
            ifnull 188
       178: .line 375
            aload 9 /* nssModule */
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.Secmod$Module.setProvider:(Lsun/security/pkcs11/SunPKCS11;)V
        end local 16 // sun.security.pkcs11.wrapper.CK_SLOT_INFO slotInfo
        end local 15 // boolean showInfo
        end local 14 // sun.security.pkcs11.wrapper.CK_INFO p11Info
        end local 13 // sun.security.pkcs11.wrapper.PKCS11 tmpPKCS11
        end local 12 // java.lang.String nssArgs
        end local 11 // sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS initArgs
       179: .line 377
            goto 188
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.Config java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File
      StackMap stack: java.lang.Exception
       180: astore 11 /* e */
        start local 11 // java.lang.Exception e
       181: .line 378
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getHandleStartupErrors:()I
            iconst_2
            if_icmpne 185
       182: .line 379
            new java.lang.UnsupportedOperationException
            dup
       183: .line 380
            ldc "Initialization failed"
            aload 11 /* e */
       184: .line 379
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       185: .line 382
      StackMap locals: java.lang.Exception
      StackMap stack:
            new java.security.ProviderException
            dup
       186: .line 383
            ldc "Initialization failed"
            aload 11 /* e */
       187: .line 382
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 11 // java.lang.Exception e
       188: .line 386
      StackMap locals:
      StackMap stack:
            return
        end local 10 // java.io.File libraryFile
        end local 9 // sun.security.pkcs11.Secmod$Module nssModule
        end local 8 // boolean nssUseSecmodTrust
        end local 7 // boolean useSecmod
        end local 6 // int slotListIndex
        end local 4 // long slotID
        end local 3 // java.lang.String functionList
        end local 2 // java.lang.String library
        end local 1 // sun.security.pkcs11.Config c
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  189     0                 this  Lsun/security/pkcs11/SunPKCS11;
            0  189     1                    c  Lsun/security/pkcs11/Config;
            6  189     2              library  Ljava/lang/String;
            7  189     3         functionList  Ljava/lang/String;
            8  189     4               slotID  J
            9  189     6        slotListIndex  I
           10  189     7            useSecmod  Z
           11  189     8    nssUseSecmodTrust  Z
           12  189     9            nssModule  Lsun/security/pkcs11/Secmod$Module;
           14  114    10               secmod  Lsun/security/pkcs11/Secmod;
           15  114    11            nssDbMode  Lsun/security/pkcs11/Secmod$DbMode;
           16   49    12  nssLibraryDirectory  Ljava/lang/String;
           17   49    13   nssSecmodDirectory  Ljava/lang/String;
           18   49    14     nssOptimizeSpace  Z
           21   28    15                    s  Ljava/lang/String;
           30   37    15                    s  Ljava/lang/String;
           51   52    12                    e  Ljava/io/IOException;
           53  114    12              modules  Ljava/util/List<Lsun/security/pkcs11/Secmod$Module;>;
           56  114    13           moduleName  Ljava/lang/String;
           84   85    14          moduleIndex  I
           87  103    14          moduleIndex  I
           92  103    15                    k  I
           94   98    16               module  Lsun/security/pkcs11/Secmod$Module;
          117  189    10          libraryFile  Ljava/io/File;
          120  123    11                  msg  Ljava/lang/String;
          126  179    11             initArgs  Lsun/security/pkcs11/wrapper/CK_C_INITIALIZE_ARGS;
          127  179    12              nssArgs  Ljava/lang/String;
          133  134    13            tmpPKCS11  Lsun/security/pkcs11/wrapper/PKCS11;
          146  179    13            tmpPKCS11  Lsun/security/pkcs11/wrapper/PKCS11;
          135  146    14                    e  Lsun/security/pkcs11/wrapper/PKCS11Exception;
          148  179    14              p11Info  Lsun/security/pkcs11/wrapper/CK_INFO;
          153  179    15             showInfo  Z
          159  171    16                slots  [J
          173  179    16             slotInfo  Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;
          181  188    11                    e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          15    49      50  Class java.io.IOException
          82    84      85  Class java.lang.NumberFormatException
         130   133     134  Class sun.security.pkcs11.wrapper.PKCS11Exception
         123   179     180  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      c     

  private static java.lang.String toString(long[]);
    descriptor: ([J)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // long[] longs
         0: .line 389
            aload 0 /* longs */
            arraylength
            ifne 2
         1: .line 390
            ldc "(none)"
            areturn
         2: .line 392
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         3: .line 393
            aload 1 /* sb */
            aload 0 /* longs */
            iconst_0
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         4: .line 394
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         5: goto 9
         6: .line 395
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 396
            aload 1 /* sb */
            aload 0 /* longs */
            iload 2 /* i */
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         8: .line 394
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* longs */
            arraylength
            if_icmplt 6
        end local 2 // int i
        10: .line 398
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // long[] longs
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0  longs  [J
            3   11     1     sb  Ljava/lang/StringBuilder;
            5   10     2      i  I
    MethodParameters:
       Name  Flags
      longs  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // java.lang.Object obj
         0: .line 402
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/pkcs11/SunPKCS11;
            0    2     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 406
            aload 0 /* this */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            ireturn
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs11/SunPKCS11;

  private static java.lang.String[] s(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String[] aliases
         0: .line 410
            aload 0 /* aliases */
            areturn
        end local 0 // java.lang.String[] aliases
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  aliases  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      aliases  

  private static int[] m(long);
    descriptor: (J)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long m1
         0: .line 443
            iconst_1
            newarray 10
            dup
            iconst_0
            lload 0 /* m1 */
            l2i
            iastore
            areturn
        end local 0 // long m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    m1  J
    MethodParameters:
      Name  Flags
      m1    

  private static int[] m(long, long);
    descriptor: (JJ)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // long m1
        start local 2 // long m2
         0: .line 447
            iconst_2
            newarray 10
            dup
            iconst_0
            lload 0 /* m1 */
            l2i
            iastore
            dup
            iconst_1
            lload 2 /* m2 */
            l2i
            iastore
            areturn
        end local 2 // long m2
        end local 0 // long m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    m1  J
            0    1     2    m2  J
    MethodParameters:
      Name  Flags
      m1    
      m2    

  private static int[] m(long, long, long);
    descriptor: (JJJ)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // long m1
        start local 2 // long m2
        start local 4 // long m3
         0: .line 451
            iconst_3
            newarray 10
            dup
            iconst_0
            lload 0 /* m1 */
            l2i
            iastore
            dup
            iconst_1
            lload 2 /* m2 */
            l2i
            iastore
            dup
            iconst_2
            lload 4 /* m3 */
            l2i
            iastore
            areturn
        end local 4 // long m3
        end local 2 // long m2
        end local 0 // long m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    m1  J
            0    1     2    m2  J
            0    1     4    m3  J
    MethodParameters:
      Name  Flags
      m1    
      m2    
      m3    

  private static int[] m(long, long, long, long);
    descriptor: (JJJJ)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // long m1
        start local 2 // long m2
        start local 4 // long m3
        start local 6 // long m4
         0: .line 455
            iconst_4
            newarray 10
            dup
            iconst_0
            lload 0 /* m1 */
            l2i
            iastore
            dup
            iconst_1
            lload 2 /* m2 */
            l2i
            iastore
            dup
            iconst_2
            lload 4 /* m3 */
            l2i
            iastore
            dup
            iconst_3
            lload 6 /* m4 */
            l2i
            iastore
            areturn
        end local 6 // long m4
        end local 4 // long m3
        end local 2 // long m2
        end local 0 // long m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    m1  J
            0    1     2    m2  J
            0    1     4    m3  J
            0    1     6    m4  J
    MethodParameters:
      Name  Flags
      m1    
      m2    
      m3    
      m4    

  private static void d(java.lang.String, java.lang.String, java.lang.String, int[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // java.lang.String type
        start local 1 // java.lang.String algorithm
        start local 2 // java.lang.String className
        start local 3 // int[] m
         0: .line 460
            new sun.security.pkcs11.SunPKCS11$Descriptor
            dup
            aload 0 /* type */
            aload 1 /* algorithm */
            aload 2 /* className */
            aconst_null
            aload 3 /* m */
            invokespecial sun.security.pkcs11.SunPKCS11$Descriptor.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
            invokestatic sun.security.pkcs11.SunPKCS11.register:(Lsun/security/pkcs11/SunPKCS11$Descriptor;)V
         1: .line 461
            return
        end local 3 // int[] m
        end local 2 // java.lang.String className
        end local 1 // java.lang.String algorithm
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       type  Ljava/lang/String;
            0    2     1  algorithm  Ljava/lang/String;
            0    2     2  className  Ljava/lang/String;
            0    2     3          m  [I
    MethodParameters:
           Name  Flags
      type       
      algorithm  
      className  
      m          

  private static void d(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], int[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // java.lang.String type
        start local 1 // java.lang.String algorithm
        start local 2 // java.lang.String className
        start local 3 // java.lang.String[] aliases
        start local 4 // int[] m
         0: .line 465
            new sun.security.pkcs11.SunPKCS11$Descriptor
            dup
            aload 0 /* type */
            aload 1 /* algorithm */
            aload 2 /* className */
            aload 3 /* aliases */
            aload 4 /* m */
            invokespecial sun.security.pkcs11.SunPKCS11$Descriptor.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
            invokestatic sun.security.pkcs11.SunPKCS11.register:(Lsun/security/pkcs11/SunPKCS11$Descriptor;)V
         1: .line 466
            return
        end local 4 // int[] m
        end local 3 // java.lang.String[] aliases
        end local 2 // java.lang.String className
        end local 1 // java.lang.String algorithm
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       type  Ljava/lang/String;
            0    2     1  algorithm  Ljava/lang/String;
            0    2     2  className  Ljava/lang/String;
            0    2     3    aliases  [Ljava/lang/String;
            0    2     4          m  [I
    MethodParameters:
           Name  Flags
      type       
      algorithm  
      className  
      aliases    
      m          

  private static void register(sun.security.pkcs11.SunPKCS11$Descriptor);
    descriptor: (Lsun/security/pkcs11/SunPKCS11$Descriptor;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11$Descriptor d
         0: .line 469
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 10
         2: .line 470
      StackMap locals: int
      StackMap stack:
            aload 0 /* d */
            getfield sun.security.pkcs11.SunPKCS11$Descriptor.mechanisms:[I
            iload 1 /* i */
            iaload
            istore 2 /* m */
        start local 2 // int m
         3: .line 471
            iload 2 /* m */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 3 /* key */
        start local 3 // java.lang.Integer key
         4: .line 472
            getstatic sun.security.pkcs11.SunPKCS11.descriptors:Ljava/util/Map;
            aload 3 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* list */
        start local 4 // java.util.List list
         5: .line 473
            aload 4 /* list */
            ifnonnull 8
         6: .line 474
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* list */
         7: .line 475
            getstatic sun.security.pkcs11.SunPKCS11.descriptors:Ljava/util/Map;
            aload 3 /* key */
            aload 4 /* list */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 477
      StackMap locals: int java.lang.Integer java.util.List
      StackMap stack:
            aload 4 /* list */
            aload 0 /* d */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.util.List list
        end local 3 // java.lang.Integer key
        end local 2 // int m
         9: .line 469
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 1 /* i */
            aload 0 /* d */
            getfield sun.security.pkcs11.SunPKCS11$Descriptor.mechanisms:[I
            arraylength
            if_icmplt 2
        end local 1 // int i
        11: .line 479
            return
        end local 0 // sun.security.pkcs11.SunPKCS11$Descriptor d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0     d  Lsun/security/pkcs11/SunPKCS11$Descriptor;
            1   11     1     i  I
            3    9     2     m  I
            4    9     3   key  Ljava/lang/Integer;
            5    9     4  list  Ljava/util/List<Lsun/security/pkcs11/SunPKCS11$Descriptor;>;
    MethodParameters:
      Name  Flags
      d     

  private void createPoller();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 816
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
            ifnull 2
         1: .line 817
            return
         2: .line 819
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs11.SunPKCS11$TokenPoller
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.SunPKCS11$TokenPoller.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
            astore 1 /* poller */
        start local 1 // sun.security.pkcs11.SunPKCS11$TokenPoller poller
         3: .line 820
            new java.lang.Thread
            dup
            aconst_null
            aload 1 /* poller */
            new java.lang.StringBuilder
            dup
            ldc "Poller "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            lconst_0
            iconst_0
            invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JZ)V
            astore 2 /* t */
        start local 2 // java.lang.Thread t
         4: .line 821
            aload 2 /* t */
            aconst_null
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
         5: .line 822
            aload 2 /* t */
            iconst_1
            invokevirtual java.lang.Thread.setDaemon:(Z)V
         6: .line 823
            aload 2 /* t */
            iconst_1
            invokevirtual java.lang.Thread.setPriority:(I)V
         7: .line 824
            aload 2 /* t */
            invokevirtual java.lang.Thread.start:()V
         8: .line 825
            aload 0 /* this */
            aload 1 /* poller */
            putfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
         9: .line 826
            return
        end local 2 // java.lang.Thread t
        end local 1 // sun.security.pkcs11.SunPKCS11$TokenPoller poller
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lsun/security/pkcs11/SunPKCS11;
            3   10     1  poller  Lsun/security/pkcs11/SunPKCS11$TokenPoller;
            4   10     2       t  Ljava/lang/Thread;

  private void destroyPoller();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 830
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
            ifnull 3
         1: .line 831
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
            invokevirtual sun.security.pkcs11.SunPKCS11$TokenPoller.disable:()V
         2: .line 832
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
         3: .line 834
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/pkcs11/SunPKCS11;

  private boolean hasValidToken();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 844
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            astore 1 /* token */
        start local 1 // sun.security.pkcs11.Token token
         1: .line 845
            aload 1 /* token */
            ifnull 2
            aload 1 /* token */
            invokevirtual sun.security.pkcs11.Token.isValid:()Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: sun.security.pkcs11.Token
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // sun.security.pkcs11.Token token
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/security/pkcs11/SunPKCS11;
            1    3     1  token  Lsun/security/pkcs11/Token;

  synchronized void uninitToken(sun.security.pkcs11.Token);
    descriptor: (Lsun/security/pkcs11/Token;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // sun.security.pkcs11.Token token
         0: .line 850
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 1 /* token */
            if_acmpeq 2
         1: .line 852
            return
         2: .line 854
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.destroyPoller:()V
         3: .line 855
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
         4: .line 857
            new sun.security.pkcs11.SunPKCS11$2
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.SunPKCS11$2.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         5: .line 863
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.createPoller:()V
         6: .line 864
            return
        end local 1 // sun.security.pkcs11.Token token
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lsun/security/pkcs11/SunPKCS11;
            0    7     1  token  Lsun/security/pkcs11/Token;
    MethodParameters:
       Name  Flags
      token  

  private void initToken(sun.security.pkcs11.wrapper.CK_SLOT_INFO);
    descriptor: (Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=19, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // sun.security.pkcs11.wrapper.CK_SLOT_INFO slotInfo
         0: .line 870
            aload 1 /* slotInfo */
            ifnonnull 2
         1: .line 871
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetSlotInfo:(J)Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;
            astore 1 /* slotInfo */
         2: .line 873
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.removable:Z
            ifeq 5
            aload 1 /* slotInfo */
            getfield sun.security.pkcs11.wrapper.CK_SLOT_INFO.flags:J
            lconst_1
            land
            lconst_0
            lcmp
            ifne 5
         3: .line 874
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.createPoller:()V
         4: .line 875
            return
         5: .line 877
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.destroyPoller:()V
         6: .line 878
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getShowInfo:()Z
            istore 2 /* showInfo */
        start local 2 // boolean showInfo
         7: .line 879
            iload 2 /* showInfo */
            ifeq 10
         8: .line 880
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Slot info for slot "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 881
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* slotInfo */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        10: .line 883
      StackMap locals: int
      StackMap stack:
            new sun.security.pkcs11.Token
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.Token.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
            astore 3 /* token */
        start local 3 // sun.security.pkcs11.Token token
        11: .line 884
            iload 2 /* showInfo */
            ifeq 16
        12: .line 885
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        13: .line 886
            new java.lang.StringBuilder
            dup
            ldc "Token info for token in slot "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 885
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 887
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 3 /* token */
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        16: .line 889
      StackMap locals: sun.security.pkcs11.Token
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetMechanismList:(J)[J
            astore 4 /* supportedMechanisms */
        start local 4 // long[] supportedMechanisms
        17: .line 898
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        18: .line 897
            astore 5 /* supportedAlgs */
        start local 5 // java.util.Map supportedAlgs
        19: .line 899
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        20: goto 60
        21: .line 900
      StackMap locals: long[] java.util.Map int
      StackMap stack:
            aload 4 /* supportedMechanisms */
            iload 6 /* i */
            laload
            lstore 7 /* longMech */
        start local 7 // long longMech
        22: .line 901
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            lload 7 /* longMech */
            invokevirtual sun.security.pkcs11.Config.isEnabled:(J)Z
            istore 9 /* isEnabled */
        start local 9 // boolean isEnabled
        23: .line 902
            iload 2 /* showInfo */
            ifeq 32
        24: .line 904
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            lload 7 /* longMech */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetMechanismInfo:(JJ)Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
        25: .line 903
            astore 10 /* mechInfo */
        start local 10 // sun.security.pkcs11.wrapper.CK_MECHANISM_INFO mechInfo
        26: .line 905
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Mechanism "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 906
            lload 7 /* longMech */
            invokestatic sun.security.pkcs11.wrapper.Functions.getMechanismName:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 905
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        29: .line 907
            iload 9 /* isEnabled */
            ifne 31
        30: .line 908
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "DISABLED in configuration"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        31: .line 910
      StackMap locals: long int sun.security.pkcs11.wrapper.CK_MECHANISM_INFO
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 10 /* mechInfo */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        end local 10 // sun.security.pkcs11.wrapper.CK_MECHANISM_INFO mechInfo
        32: .line 912
      StackMap locals:
      StackMap stack:
            iload 9 /* isEnabled */
            ifne 34
        33: .line 913
            goto 59
        34: .line 916
      StackMap locals:
      StackMap stack:
            lload 7 /* longMech */
            bipush 32
            lushr
            lconst_0
            lcmp
            ifeq 36
        35: .line 917
            goto 59
        36: .line 919
      StackMap locals:
      StackMap stack:
            lload 7 /* longMech */
            l2i
            istore 10 /* mech */
        start local 10 // int mech
        37: .line 920
            iload 10 /* mech */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 11 /* integerMech */
        start local 11 // java.lang.Integer integerMech
        38: .line 921
            getstatic sun.security.pkcs11.SunPKCS11.descriptors:Ljava/util/Map;
            aload 11 /* integerMech */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 12 /* ds */
        start local 12 // java.util.List ds
        39: .line 922
            aload 12 /* ds */
            ifnonnull 41
        40: .line 923
            goto 59
        41: .line 925
      StackMap locals: int java.lang.Integer java.util.List
      StackMap stack:
            aload 12 /* ds */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 14
            goto 58
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.wrapper.CK_SLOT_INFO int sun.security.pkcs11.Token long[] java.util.Map int long int int java.lang.Integer java.util.List top java.util.Iterator
      StackMap stack:
        42: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs11.SunPKCS11$Descriptor
            astore 13 /* d */
        start local 13 // sun.security.pkcs11.SunPKCS11$Descriptor d
        43: .line 926
            aload 5 /* supportedAlgs */
            aload 13 /* d */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 15 /* oldMech */
        start local 15 // java.lang.Integer oldMech
        44: .line 927
            aload 15 /* oldMech */
            ifnonnull 47
        45: .line 928
            aload 5 /* supportedAlgs */
            aload 13 /* d */
            aload 11 /* integerMech */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        46: .line 929
            goto 58
        47: .line 934
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.wrapper.CK_SLOT_INFO int sun.security.pkcs11.Token long[] java.util.Map int long int int java.lang.Integer java.util.List sun.security.pkcs11.SunPKCS11$Descriptor java.util.Iterator java.lang.Integer
      StackMap stack:
            aload 15 /* oldMech */
            invokevirtual java.lang.Integer.intValue:()I
            istore 16 /* intOldMech */
        start local 16 // int intOldMech
        48: .line 935
            iconst_0
            istore 17 /* j */
        start local 17 // int j
        49: goto 57
        50: .line 936
      StackMap locals: int int
      StackMap stack:
            aload 13 /* d */
            getfield sun.security.pkcs11.SunPKCS11$Descriptor.mechanisms:[I
            iload 17 /* j */
            iaload
            istore 18 /* nextMech */
        start local 18 // int nextMech
        51: .line 937
            iload 10 /* mech */
            iload 18 /* nextMech */
            if_icmpne 54
        52: .line 938
            aload 5 /* supportedAlgs */
            aload 13 /* d */
            aload 11 /* integerMech */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        53: .line 939
            goto 58
        54: .line 940
      StackMap locals: int
      StackMap stack:
            iload 16 /* intOldMech */
            iload 18 /* nextMech */
            if_icmpne 56
        55: .line 941
            goto 58
        end local 18 // int nextMech
        56: .line 935
      StackMap locals:
      StackMap stack:
            iinc 17 /* j */ 1
      StackMap locals:
      StackMap stack:
        57: iload 17 /* j */
            aload 13 /* d */
            getfield sun.security.pkcs11.SunPKCS11$Descriptor.mechanisms:[I
            arraylength
            if_icmplt 50
        end local 17 // int j
        end local 16 // int intOldMech
        end local 15 // java.lang.Integer oldMech
        end local 13 // sun.security.pkcs11.SunPKCS11$Descriptor d
        58: .line 925
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.wrapper.CK_SLOT_INFO int sun.security.pkcs11.Token long[] java.util.Map int long int int java.lang.Integer java.util.List top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        end local 12 // java.util.List ds
        end local 11 // java.lang.Integer integerMech
        end local 10 // int mech
        end local 9 // boolean isEnabled
        end local 7 // long longMech
        59: .line 899
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.wrapper.CK_SLOT_INFO int sun.security.pkcs11.Token long[] java.util.Map int
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 6 /* i */
            aload 4 /* supportedMechanisms */
            arraylength
            if_icmplt 21
        end local 6 // int i
        61: .line 949
            new sun.security.pkcs11.SunPKCS11$3
            dup
            aload 0 /* this */
            aload 5 /* supportedAlgs */
            aload 3 /* token */
            invokespecial sun.security.pkcs11.SunPKCS11$3.<init>:(Lsun/security/pkcs11/SunPKCS11;Ljava/util/Map;Lsun/security/pkcs11/Token;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        62: .line 979
            aload 0 /* this */
            aload 3 /* token */
            putfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
        63: .line 980
            return
        end local 5 // java.util.Map supportedAlgs
        end local 4 // long[] supportedMechanisms
        end local 3 // sun.security.pkcs11.Token token
        end local 2 // boolean showInfo
        end local 1 // sun.security.pkcs11.wrapper.CK_SLOT_INFO slotInfo
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   64     0                 this  Lsun/security/pkcs11/SunPKCS11;
            0   64     1             slotInfo  Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;
            7   64     2             showInfo  Z
           11   64     3                token  Lsun/security/pkcs11/Token;
           17   64     4  supportedMechanisms  [J
           19   64     5        supportedAlgs  Ljava/util/Map<Lsun/security/pkcs11/SunPKCS11$Descriptor;Ljava/lang/Integer;>;
           20   61     6                    i  I
           22   59     7             longMech  J
           23   59     9            isEnabled  Z
           26   32    10             mechInfo  Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
           37   59    10                 mech  I
           38   59    11          integerMech  Ljava/lang/Integer;
           39   59    12                   ds  Ljava/util/List<Lsun/security/pkcs11/SunPKCS11$Descriptor;>;
           43   58    13                    d  Lsun/security/pkcs11/SunPKCS11$Descriptor;
           44   58    15              oldMech  Ljava/lang/Integer;
           48   58    16           intOldMech  I
           49   58    17                    j  I
           51   56    18             nextMech  I
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception
    MethodParameters:
          Name  Flags
      slotInfo  

  public void login(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler);
    descriptor: (Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // javax.security.auth.Subject subject
        start local 2 // javax.security.auth.callback.CallbackHandler handler
         0: .line 1164
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.isConfigured:()Z
            ifne 2
         1: .line 1165
            new java.lang.IllegalStateException
            dup
            ldc "Configuration is required"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1169
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         3: .line 1170
            aload 3 /* sm */
            ifnull 9
         4: .line 1171
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 6
         5: .line 1172
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "checking login permission"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         6: .line 1174
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 3 /* sm */
            new java.security.SecurityPermission
            dup
         7: .line 1175
            new java.lang.StringBuilder
            dup
            ldc "authProvider."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.SecurityPermission.<init>:(Ljava/lang/String;)V
         8: .line 1174
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         9: .line 1178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.hasValidToken:()Z
            ifne 11
        10: .line 1179
            new javax.security.auth.login.LoginException
            dup
            ldc "No token present"
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            getfield sun.security.pkcs11.wrapper.CK_TOKEN_INFO.flags:J
            ldc 4
            land
            lconst_0
            lcmp
            ifne 15
        12: .line 1185
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 14
        13: .line 1186
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "login operation not required for token - ignoring login request"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        14: .line 1189
      StackMap locals:
      StackMap stack:
            return
        15: .line 1195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aconst_null
            invokevirtual sun.security.pkcs11.Token.isLoggedInNow:(Lsun/security/pkcs11/Session;)Z
            ifeq 20
        16: .line 1197
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 18
        17: .line 1198
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "user already logged in"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        18: .line 1200
      StackMap locals:
      StackMap stack:
            return
        19: .line 1202
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            pop
        20: .line 1208
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* pin */
        start local 4 // char[] pin
        21: .line 1209
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            getfield sun.security.pkcs11.wrapper.CK_TOKEN_INFO.flags:J
            ldc 256
            land
            lconst_0
            lcmp
            ifne 49
        22: .line 1213
            aload 0 /* this */
            aload 2 /* handler */
            invokevirtual sun.security.pkcs11.SunPKCS11.getCallbackHandler:(Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/auth/callback/CallbackHandler;
            astore 5 /* myHandler */
        start local 5 // javax.security.auth.callback.CallbackHandler myHandler
        23: .line 1214
            aload 5 /* myHandler */
            ifnonnull 27
        24: .line 1216
            new javax.security.auth.login.LoginException
            dup
        25: .line 1217
            ldc "no password provided, and no callback handler available for retrieving password"
        26: .line 1216
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 1221
      StackMap locals: char[] javax.security.auth.callback.CallbackHandler
      StackMap stack:
            new java.text.MessageFormat
            dup
        28: .line 1223
            ldc "PKCS11.Token.providerName.Password."
        29: .line 1222
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        30: .line 1221
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        31: .line 1224
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        32: .line 1226
            new javax.security.auth.callback.PasswordCallback
            dup
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        33: .line 1227
            iconst_0
        34: .line 1226
            invokespecial javax.security.auth.callback.PasswordCallback.<init>:(Ljava/lang/String;Z)V
            astore 8 /* pcall */
        start local 8 // javax.security.auth.callback.PasswordCallback pcall
        35: .line 1228
            iconst_1
            anewarray javax.security.auth.callback.Callback
            dup
            iconst_0
            aload 8 /* pcall */
            aastore
            astore 9 /* callbacks */
        start local 9 // javax.security.auth.callback.Callback[] callbacks
        36: .line 1230
            aload 5 /* myHandler */
            aload 9 /* callbacks */
            invokeinterface javax.security.auth.callback.CallbackHandler.handle:([Ljavax/security/auth/callback/Callback;)V
        37: .line 1231
            goto 44
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] javax.security.auth.callback.CallbackHandler java.text.MessageFormat java.lang.Object[] javax.security.auth.callback.PasswordCallback javax.security.auth.callback.Callback[]
      StackMap stack: java.lang.Exception
        38: astore 10 /* e */
        start local 10 // java.lang.Exception e
        39: .line 1232
            new javax.security.auth.login.LoginException
            dup
        40: .line 1233
            ldc "Unable to perform password callback"
        41: .line 1232
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            astore 11 /* le */
        start local 11 // javax.security.auth.login.LoginException le
        42: .line 1234
            aload 11 /* le */
            aload 10 /* e */
            invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        43: .line 1235
            aload 11 /* le */
            athrow
        end local 11 // javax.security.auth.login.LoginException le
        end local 10 // java.lang.Exception e
        44: .line 1238
      StackMap locals:
      StackMap stack:
            aload 8 /* pcall */
            invokevirtual javax.security.auth.callback.PasswordCallback.getPassword:()[C
            astore 4 /* pin */
        45: .line 1239
            aload 8 /* pcall */
            invokevirtual javax.security.auth.callback.PasswordCallback.clearPassword:()V
        46: .line 1240
            aload 4 /* pin */
            ifnonnull 49
        47: .line 1241
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 49
        48: .line 1242
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "caller passed NULL pin"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 9 // javax.security.auth.callback.Callback[] callbacks
        end local 8 // javax.security.auth.callback.PasswordCallback pcall
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        end local 5 // javax.security.auth.callback.CallbackHandler myHandler
        49: .line 1249
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[]
      StackMap stack:
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
        50: .line 1251
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 5 /* session */
        51: .line 1254
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lconst_1
            aload 4 /* pin */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Login:(JJ[C)V
        52: .line 1255
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 75
        53: .line 1256
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "login succeeded"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        54: .line 1258
            goto 75
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] sun.security.pkcs11.Session
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
        55: astore 6 /* pe */
        start local 6 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        56: .line 1259
            aload 6 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 256
            lcmp
            ifne 63
        57: .line 1261
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 59
        58: .line 1262
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "user already logged in"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        59: .line 1275
      StackMap locals: sun.security.pkcs11.wrapper.PKCS11Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        60: .line 1276
            aload 4 /* pin */
            ifnull 62
        61: .line 1277
            aload 4 /* pin */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        62: .line 1264
      StackMap locals:
      StackMap stack:
            return
        63: .line 1265
      StackMap locals:
      StackMap stack:
            aload 6 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 160
            lcmp
            ifne 67
        64: .line 1266
            new javax.security.auth.login.FailedLoginException
            dup
            invokespecial javax.security.auth.login.FailedLoginException.<init>:()V
            astore 7 /* fle */
        start local 7 // javax.security.auth.login.FailedLoginException fle
        65: .line 1267
            aload 7 /* fle */
            aload 6 /* pe */
            invokevirtual javax.security.auth.login.FailedLoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        66: .line 1268
            aload 7 /* fle */
            athrow
        end local 7 // javax.security.auth.login.FailedLoginException fle
        67: .line 1270
      StackMap locals:
      StackMap stack:
            new javax.security.auth.login.LoginException
            dup
            invokespecial javax.security.auth.login.LoginException.<init>:()V
            astore 7 /* le */
        start local 7 // javax.security.auth.login.LoginException le
        68: .line 1271
            aload 7 /* le */
            aload 6 /* pe */
            invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        69: .line 1272
            aload 7 /* le */
            athrow
        end local 7 // javax.security.auth.login.LoginException le
        end local 6 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        70: .line 1274
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 8
        71: .line 1275
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        72: .line 1276
            aload 4 /* pin */
            ifnull 74
        73: .line 1277
            aload 4 /* pin */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        74: .line 1279
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] sun.security.pkcs11.Session top top java.lang.Throwable
      StackMap stack:
            aload 8
            athrow
        75: .line 1275
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] sun.security.pkcs11.Session
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        76: .line 1276
            aload 4 /* pin */
            ifnull 78
        77: .line 1277
            aload 4 /* pin */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        78: .line 1282
      StackMap locals:
      StackMap stack:
            return
        end local 5 // sun.security.pkcs11.Session session
        end local 4 // char[] pin
        end local 3 // java.lang.SecurityManager sm
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        end local 1 // javax.security.auth.Subject subject
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   79     0       this  Lsun/security/pkcs11/SunPKCS11;
            0   79     1    subject  Ljavax/security/auth/Subject;
            0   79     2    handler  Ljavax/security/auth/callback/CallbackHandler;
            3   79     3         sm  Ljava/lang/SecurityManager;
           21   79     4        pin  [C
           23   49     5  myHandler  Ljavax/security/auth/callback/CallbackHandler;
           31   49     6       form  Ljava/text/MessageFormat;
           32   49     7     source  [Ljava/lang/Object;
           35   49     8      pcall  Ljavax/security/auth/callback/PasswordCallback;
           36   49     9  callbacks  [Ljavax/security/auth/callback/Callback;
           39   44    10          e  Ljava/lang/Exception;
           42   44    11         le  Ljavax/security/auth/login/LoginException;
           50   79     5    session  Lsun/security/pkcs11/Session;
           56   70     6         pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           65   67     7        fle  Ljavax/security/auth/login/FailedLoginException;
           68   70     7         le  Ljavax/security/auth/login/LoginException;
      Exception table:
        from    to  target  type
          15    18      19  Class sun.security.pkcs11.wrapper.PKCS11Exception
          36    37      38  Class java.lang.Exception
          50    54      55  Class sun.security.pkcs11.wrapper.PKCS11Exception
          50    59      70  any
          63    70      70  any
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
         Name  Flags
      subject  
      handler  

  public void logout();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 1297
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.isConfigured:()Z
            ifne 2
         1: .line 1298
            new java.lang.IllegalStateException
            dup
            ldc "Configuration is required"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1302
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         3: .line 1303
            aload 1 /* sm */
            ifnull 7
         4: .line 1304
            aload 1 /* sm */
         5: .line 1305
            new java.security.SecurityPermission
            dup
            new java.lang.StringBuilder
            dup
            ldc "authProvider."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.SecurityPermission.<init>:(Ljava/lang/String;)V
         6: .line 1304
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         7: .line 1308
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.hasValidToken:()Z
            ifne 9
         8: .line 1310
            return
         9: .line 1313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            getfield sun.security.pkcs11.wrapper.CK_TOKEN_INFO.flags:J
            ldc 4
            land
            lconst_0
            lcmp
            ifne 13
        10: .line 1314
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 12
        11: .line 1315
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "logout operation not required for token - ignoring logout request"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1318
      StackMap locals:
      StackMap stack:
            return
        13: .line 1322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aconst_null
            invokevirtual sun.security.pkcs11.Token.isLoggedInNow:(Lsun/security/pkcs11/Session;)Z
            ifne 18
        14: .line 1323
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 16
        15: .line 1324
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "user not logged in"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        16: .line 1326
      StackMap locals:
      StackMap stack:
            return
        17: .line 1328
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            pop
        18: .line 1334
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
        19: .line 1336
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 2 /* session */
        20: .line 1337
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Logout:(J)V
        21: .line 1338
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 36
        22: .line 1339
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "logout succeeded"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        23: .line 1341
            goto 36
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.SecurityManager sun.security.pkcs11.Session
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
        24: astore 3 /* pe */
        start local 3 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        25: .line 1342
            aload 3 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 257
            lcmp
            ifne 30
        26: .line 1344
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 28
        27: .line 1345
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "user not logged in"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 1353
      StackMap locals: sun.security.pkcs11.wrapper.PKCS11Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        29: .line 1347
            return
        30: .line 1349
      StackMap locals:
      StackMap stack:
            new javax.security.auth.login.LoginException
            dup
            invokespecial javax.security.auth.login.LoginException.<init>:()V
            astore 4 /* le */
        start local 4 // javax.security.auth.login.LoginException le
        31: .line 1350
            aload 4 /* le */
            aload 3 /* pe */
            invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        32: .line 1351
            aload 4 /* le */
            athrow
        end local 4 // javax.security.auth.login.LoginException le
        end local 3 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        33: .line 1352
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.SecurityManager sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 5
        34: .line 1353
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        35: .line 1354
            aload 5
            athrow
        36: .line 1353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        37: .line 1355
            return
        end local 2 // sun.security.pkcs11.Session session
        end local 1 // java.lang.SecurityManager sm
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   38     0     this  Lsun/security/pkcs11/SunPKCS11;
            3   38     1       sm  Ljava/lang/SecurityManager;
           19   38     2  session  Lsun/security/pkcs11/Session;
           25   33     3       pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           31   33     4       le  Ljavax/security/auth/login/LoginException;
      Exception table:
        from    to  target  type
          13    16      17  Class sun.security.pkcs11.wrapper.PKCS11Exception
          19    23      24  Class sun.security.pkcs11.wrapper.PKCS11Exception
          19    28      33  any
          30    33      33  any
    Exceptions:
      throws javax.security.auth.login.LoginException

  public void setCallbackHandler(javax.security.auth.callback.CallbackHandler);
    descriptor: (Ljavax/security/auth/callback/CallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // javax.security.auth.callback.CallbackHandler handler
         0: .line 1384
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.isConfigured:()Z
            ifne 2
         1: .line 1385
            new java.lang.IllegalStateException
            dup
            ldc "Configuration is required"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1389
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         3: .line 1390
            aload 2 /* sm */
            ifnull 7
         4: .line 1391
            aload 2 /* sm */
         5: .line 1392
            new java.security.SecurityPermission
            dup
            new java.lang.StringBuilder
            dup
            ldc "authProvider."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.SecurityPermission.<init>:(Ljava/lang/String;)V
         6: .line 1391
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         7: .line 1395
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.LOCK_HANDLER:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         8: .line 1396
            aload 0 /* this */
            aload 1 /* handler */
            putfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
         9: .line 1395
            aload 3
            monitorexit
        10: goto 13
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.callback.CallbackHandler java.lang.SecurityManager java.lang.Object
      StackMap stack: java.lang.Throwable
        11: aload 3
            monitorexit
        12: athrow
        13: .line 1398
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // javax.security.auth.callback.CallbackHandler handler
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lsun/security/pkcs11/SunPKCS11;
            0   14     1  handler  Ljavax/security/auth/callback/CallbackHandler;
            3   14     2       sm  Ljava/lang/SecurityManager;
      Exception table:
        from    to  target  type
           8    10      11  any
          11    12      11  any
    MethodParameters:
         Name  Flags
      handler  

  private javax.security.auth.callback.CallbackHandler getCallbackHandler(javax.security.auth.callback.CallbackHandler);
    descriptor: (Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/auth/callback/CallbackHandler;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // javax.security.auth.callback.CallbackHandler handler
         0: .line 1404
            aload 1 /* handler */
            ifnull 2
         1: .line 1405
            aload 1 /* handler */
            areturn
         2: .line 1408
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 4
         3: .line 1409
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "getting provider callback handler"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         4: .line 1412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.LOCK_HANDLER:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         5: .line 1414
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
            ifnull 8
         6: .line 1415
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
            aload 2
            monitorexit
         7: areturn
         8: .line 1419
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 10
         9: .line 1420
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "getting default callback handler"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 1424
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs11.SunPKCS11$4
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.SunPKCS11$4.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
        11: .line 1423
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast javax.security.auth.callback.CallbackHandler
            astore 3 /* myHandler */
        start local 3 // javax.security.auth.callback.CallbackHandler myHandler
        12: .line 1459
            aload 0 /* this */
            aload 3 /* myHandler */
            putfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
        13: .line 1460
            aload 3 /* myHandler */
        14: aload 2
            monitorexit
        15: areturn
        end local 3 // javax.security.auth.callback.CallbackHandler myHandler
        16: .line 1462
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
            astore 3 /* pae */
        start local 3 // java.security.PrivilegedActionException pae
        17: .line 1464
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 20
        18: .line 1465
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "Unable to load default callback handler"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        19: .line 1466
            aload 3 /* pae */
            invokevirtual java.security.PrivilegedActionException.printStackTrace:()V
        end local 3 // java.security.PrivilegedActionException pae
        20: .line 1412
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        21: goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: aload 2
            monitorexit
        23: athrow
        24: .line 1470
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // javax.security.auth.callback.CallbackHandler handler
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0       this  Lsun/security/pkcs11/SunPKCS11;
            0   25     1    handler  Ljavax/security/auth/callback/CallbackHandler;
           12   16     3  myHandler  Ljavax/security/auth/callback/CallbackHandler;
           17   20     3        pae  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           8    14      16  Class java.security.PrivilegedActionException
           5     7      22  any
           8    15      22  any
          16    21      22  any
          22    23      22  any
    MethodParameters:
         Name  Flags
      handler  

  private java.lang.Object writeReplace();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 1474
            new sun.security.pkcs11.SunPKCS11$SunPKCS11Rep
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.SunPKCS11$SunPKCS11Rep.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
            areturn
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs11/SunPKCS11;
    Exceptions:
      throws java.io.ObjectStreamException

  static void access$0(sun.security.pkcs11.SunPKCS11, java.security.Provider$Service);
    descriptor: (Lsun/security/pkcs11/SunPKCS11;Ljava/security/Provider$Service;)V
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual sun.security.pkcs11.SunPKCS11.putService:(Ljava/security/Provider$Service;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SunPKCS11.java"
NestMembers:
  sun.security.pkcs11.SunPKCS11$1  sun.security.pkcs11.SunPKCS11$2  sun.security.pkcs11.SunPKCS11$3  sun.security.pkcs11.SunPKCS11$4  sun.security.pkcs11.SunPKCS11$Descriptor  sun.security.pkcs11.SunPKCS11$P11Service  sun.security.pkcs11.SunPKCS11$SunPKCS11Rep  sun.security.pkcs11.SunPKCS11$TokenPoller
InnerClasses:
  public Service = java.security.Provider$Service of java.security.Provider
  public final DbMode = sun.security.pkcs11.Secmod$DbMode of sun.security.pkcs11.Secmod
  public final Module = sun.security.pkcs11.Secmod$Module of sun.security.pkcs11.Secmod
  public final ModuleType = sun.security.pkcs11.Secmod$ModuleType of sun.security.pkcs11.Secmod
  sun.security.pkcs11.SunPKCS11$1
  sun.security.pkcs11.SunPKCS11$2
  sun.security.pkcs11.SunPKCS11$3
  sun.security.pkcs11.SunPKCS11$4
  private final Descriptor = sun.security.pkcs11.SunPKCS11$Descriptor of sun.security.pkcs11.SunPKCS11
  private final P11Service = sun.security.pkcs11.SunPKCS11$P11Service of sun.security.pkcs11.SunPKCS11
  private SunPKCS11Rep = sun.security.pkcs11.SunPKCS11$SunPKCS11Rep of sun.security.pkcs11.SunPKCS11
  private TokenPoller = sun.security.pkcs11.SunPKCS11$TokenPoller of sun.security.pkcs11.SunPKCS11