final class javax.crypto.JceSecurity
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: javax.crypto.JceSecurity
  super_class: java.lang.Object
{
  private static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final java.security.SecureRandom RANDOM;
    descriptor: Ljava/security/SecureRandom;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static javax.crypto.CryptoPermissions defaultPolicy;
    descriptor: Ljavax/crypto/CryptoPermissions;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static javax.crypto.CryptoPermissions exemptPolicy;
    descriptor: Ljavax/crypto/CryptoPermissions;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

  private static final boolean isRestricted;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private static final java.net.URL NULL_URL;
    descriptor: Ljava/net/URL;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Map<java.lang.Class<?>, java.net.URL> codeBaseCacheRef;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Ljava/net/URL;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 78
            ldc "jca"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
         1: .line 80
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            putstatic javax.crypto.JceSecurity.RANDOM:Ljava/security/SecureRandom;
         2: .line 84
            aconst_null
            putstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
         3: .line 85
            aconst_null
            putstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
         4: .line 91
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
         5: .line 90
            putstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
         6: .line 95
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
         7: .line 94
            putstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
         8: .line 108
            new javax.crypto.JceSecurity$1
            dup
            invokespecial javax.crypto.JceSecurity$1.<init>:()V
         9: .line 107
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
        10: .line 117
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
        11: .line 118
            getstatic javax.crypto.CryptoAllPermission.INSTANCE:Ljavax/crypto/CryptoAllPermission;
        12: .line 117
            invokevirtual javax.crypto.CryptoPermissions.implies:(Ljava/security/Permission;)Z
        13: .line 118
            ifeq 14
            iconst_0
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_1
        15: .line 117
      StackMap locals:
      StackMap stack: int
            putstatic javax.crypto.JceSecurity.isRestricted:Z
        16: .line 119
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Exception
        17: astore 0 /* e */
        start local 0 // java.lang.Exception e
        18: .line 120
            new java.lang.SecurityException
            dup
        19: .line 121
            ldc "Can not initialize cryptographic mechanism"
            aload 0 /* e */
        20: .line 120
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
        21: .line 194
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            putstatic javax.crypto.JceSecurity.PROVIDER_VERIFIED:Ljava/lang/Object;
        22: .line 239
            new java.net.URL
            dup
            ldc "http://null.oracle.com/"
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            putstatic javax.crypto.JceSecurity.NULL_URL:Ljava/net/URL;
        23: .line 240
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Exception
        24: astore 0 /* e */
        start local 0 // java.lang.Exception e
        25: .line 241
            new java.lang.RuntimeException
            dup
            aload 0 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
        26: .line 247
      StackMap locals:
      StackMap stack:
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
        27: .line 246
            putstatic javax.crypto.JceSecurity.codeBaseCacheRef:Ljava/util/Map;
        28: .line 247
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           18   21     0     e  Ljava/lang/Exception;
           25   26     0     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           8    16      17  Class java.lang.Exception
          22    23      24  Class java.lang.Exception

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.crypto.JceSecurity this
         0: .line 102
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 103
            return
        end local 0 // javax.crypto.JceSecurity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/crypto/JceSecurity;

  static sun.security.jca.GetInstance$Instance getInstance(java.lang.String, java.lang.Class<?>, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // java.lang.String type
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String algorithm
        start local 3 // java.lang.String provider
         0: .line 128
            aload 0 /* type */
            aload 2 /* algorithm */
            aload 3 /* provider */
            invokestatic sun.security.jca.GetInstance.getService:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
            astore 4 /* s */
        start local 4 // java.security.Provider$Service s
         1: .line 129
            aload 4 /* s */
            invokevirtual java.security.Provider$Service.getProvider:()Ljava/security/Provider;
            invokestatic javax.crypto.JceSecurity.getVerificationResult:(Ljava/security/Provider;)Ljava/lang/Exception;
            astore 5 /* ve */
        start local 5 // java.lang.Exception ve
         2: .line 130
            aload 5 /* ve */
            ifnull 6
         3: .line 131
            new java.lang.StringBuilder
            dup
            ldc "JCE cannot authenticate the provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* provider */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
         4: .line 133
            new java.security.NoSuchProviderException
            dup
            aload 6 /* msg */
            invokespecial java.security.NoSuchProviderException.<init>:(Ljava/lang/String;)V
            aload 5 /* ve */
            invokevirtual java.security.NoSuchProviderException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
         5: .line 132
            checkcast java.security.NoSuchProviderException
            athrow
        end local 6 // java.lang.String msg
         6: .line 135
      StackMap locals: java.security.Provider$Service java.lang.Exception
      StackMap stack:
            aload 4 /* s */
            aload 1 /* clazz */
            invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
            areturn
        end local 5 // java.lang.Exception ve
        end local 4 // java.security.Provider$Service s
        end local 3 // java.lang.String provider
        end local 2 // java.lang.String algorithm
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       type  Ljava/lang/String;
            0    7     1      clazz  Ljava/lang/Class<*>;
            0    7     2  algorithm  Ljava/lang/String;
            0    7     3   provider  Ljava/lang/String;
            1    7     4          s  Ljava/security/Provider$Service;
            2    7     5         ve  Ljava/lang/Exception;
            4    6     6        msg  Ljava/lang/String;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
    MethodParameters:
           Name  Flags
      type       
      clazz      
      algorithm  
      provider   

  static sun.security.jca.GetInstance$Instance getInstance(java.lang.String, java.lang.Class<?>, java.lang.String, java.security.Provider);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/security/Provider;)Lsun/security/jca/GetInstance$Instance;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.lang.String type
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String algorithm
        start local 3 // java.security.Provider provider
         0: .line 140
            aload 0 /* type */
            aload 2 /* algorithm */
            aload 3 /* provider */
            invokestatic sun.security.jca.GetInstance.getService:(Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Provider$Service;
            astore 4 /* s */
        start local 4 // java.security.Provider$Service s
         1: .line 141
            aload 3 /* provider */
            invokestatic javax.crypto.JceSecurity.getVerificationResult:(Ljava/security/Provider;)Ljava/lang/Exception;
            astore 5 /* ve */
        start local 5 // java.lang.Exception ve
         2: .line 142
            aload 5 /* ve */
            ifnull 7
         3: .line 143
            new java.lang.StringBuilder
            dup
            ldc "JCE cannot authenticate the provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 144
            aload 3 /* provider */
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 143
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
         6: .line 145
            new java.lang.SecurityException
            dup
            aload 6 /* msg */
            aload 5 /* ve */
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.String msg
         7: .line 147
      StackMap locals: java.security.Provider$Service java.lang.Exception
      StackMap stack:
            aload 4 /* s */
            aload 1 /* clazz */
            invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
            areturn
        end local 5 // java.lang.Exception ve
        end local 4 // java.security.Provider$Service s
        end local 3 // java.security.Provider provider
        end local 2 // java.lang.String algorithm
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       type  Ljava/lang/String;
            0    8     1      clazz  Ljava/lang/Class<*>;
            0    8     2  algorithm  Ljava/lang/String;
            0    8     3   provider  Ljava/security/Provider;
            1    8     4          s  Ljava/security/Provider$Service;
            2    8     5         ve  Ljava/lang/Exception;
            6    7     6        msg  Ljava/lang/String;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/security/Provider;)Lsun/security/jca/GetInstance$Instance;
    MethodParameters:
           Name  Flags
      type       
      clazz      
      algorithm  
      provider   

  static sun.security.jca.GetInstance$Instance getInstance(java.lang.String, java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.lang.String type
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String algorithm
         0: .line 152
            aload 0 /* type */
            aload 2 /* algorithm */
            invokestatic sun.security.jca.GetInstance.getServices:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
            astore 3 /* services */
        start local 3 // java.util.List services
         1: .line 153
            aconst_null
            astore 4 /* failure */
        start local 4 // java.security.NoSuchAlgorithmException failure
         2: .line 154
            aload 3 /* services */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: java.lang.String java.lang.Class java.lang.String java.util.List java.security.NoSuchAlgorithmException top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.Provider$Service
            astore 5 /* s */
        start local 5 // java.security.Provider$Service s
         4: .line 155
            aload 5 /* s */
            invokevirtual java.security.Provider$Service.getProvider:()Ljava/security/Provider;
            invokestatic javax.crypto.JceSecurity.canUseProvider:(Ljava/security/Provider;)Z
            ifne 6
         5: .line 157
            goto 11
         6: .line 160
      StackMap locals: java.lang.String java.lang.Class java.lang.String java.util.List java.security.NoSuchAlgorithmException java.security.Provider$Service java.util.Iterator
      StackMap stack:
            aload 5 /* s */
            aload 1 /* clazz */
            invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
            astore 7 /* instance */
        start local 7 // sun.security.jca.GetInstance$Instance instance
         7: .line 161
            aload 7 /* instance */
         8: areturn
        end local 7 // sun.security.jca.GetInstance$Instance instance
         9: .line 162
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 7 /* e */
        start local 7 // java.security.NoSuchAlgorithmException e
        10: .line 163
            aload 7 /* e */
            astore 4 /* failure */
        end local 7 // java.security.NoSuchAlgorithmException e
        end local 5 // java.security.Provider$Service s
        11: .line 154
      StackMap locals: java.lang.String java.lang.Class java.lang.String java.util.List java.security.NoSuchAlgorithmException top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        12: .line 166
            new java.security.NoSuchAlgorithmException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Algorithm "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* algorithm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 167
            ldc " not available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* failure */
        14: .line 166
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.security.NoSuchAlgorithmException failure
        end local 3 // java.util.List services
        end local 2 // java.lang.String algorithm
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       type  Ljava/lang/String;
            0   15     1      clazz  Ljava/lang/Class<*>;
            0   15     2  algorithm  Ljava/lang/String;
            1   15     3   services  Ljava/util/List<Ljava/security/Provider$Service;>;
            2   15     4    failure  Ljava/security/NoSuchAlgorithmException;
            4   11     5          s  Ljava/security/Provider$Service;
            7    9     7   instance  Lsun/security/jca/GetInstance$Instance;
           10   11     7          e  Ljava/security/NoSuchAlgorithmException;
      Exception table:
        from    to  target  type
           6     8       9  Class java.security.NoSuchAlgorithmException
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
    MethodParameters:
           Name  Flags
      type       
      clazz      
      algorithm  

  static javax.crypto.CryptoPermissions verifyExemptJar(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljavax/crypto/CryptoPermissions;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.net.URL codeBase
         0: .line 177
            new javax.crypto.ProviderVerifier
            dup
            aload 0 /* codeBase */
            iconst_1
            invokespecial javax.crypto.ProviderVerifier.<init>:(Ljava/net/URL;Z)V
            astore 1 /* pv */
        start local 1 // javax.crypto.ProviderVerifier pv
         1: .line 178
            aload 1 /* pv */
            invokevirtual javax.crypto.ProviderVerifier.verify:()V
         2: .line 179
            aload 1 /* pv */
            invokevirtual javax.crypto.ProviderVerifier.getPermissions:()Ljavax/crypto/CryptoPermissions;
            areturn
        end local 1 // javax.crypto.ProviderVerifier pv
        end local 0 // java.net.URL codeBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  codeBase  Ljava/net/URL;
            1    3     1        pv  Ljavax/crypto/ProviderVerifier;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      codeBase  

  static void verifyProvider(java.net.URL, java.security.Provider);
    descriptor: (Ljava/net/URL;Ljava/security/Provider;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.net.URL codeBase
        start local 1 // java.security.Provider p
         0: .line 190
            new javax.crypto.ProviderVerifier
            dup
            aload 0 /* codeBase */
            aload 1 /* p */
            iconst_0
            invokespecial javax.crypto.ProviderVerifier.<init>:(Ljava/net/URL;Ljava/security/Provider;Z)V
            astore 2 /* pv */
        start local 2 // javax.crypto.ProviderVerifier pv
         1: .line 191
            aload 2 /* pv */
            invokevirtual javax.crypto.ProviderVerifier.verify:()V
         2: .line 192
            return
        end local 2 // javax.crypto.ProviderVerifier pv
        end local 1 // java.security.Provider p
        end local 0 // java.net.URL codeBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  codeBase  Ljava/net/URL;
            0    3     1         p  Ljava/security/Provider;
            1    3     2        pv  Ljavax/crypto/ProviderVerifier;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      codeBase  
      p         

  static synchronized java.lang.Exception getVerificationResult(java.security.Provider);
    descriptor: (Ljava/security/Provider;)Ljava/lang/Exception;
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.security.Provider p
         0: .line 203
            getstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* o */
        start local 1 // java.lang.Object o
         1: .line 204
            aload 1 /* o */
            getstatic javax.crypto.JceSecurity.PROVIDER_VERIFIED:Ljava/lang/Object;
            if_acmpne 3
         2: .line 205
            aconst_null
            areturn
         3: .line 206
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* o */
            ifnull 5
         4: .line 207
            aload 1 /* o */
            checkcast java.lang.Exception
            areturn
         5: .line 209
      StackMap locals:
      StackMap stack:
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 7
         6: .line 212
            new java.security.NoSuchProviderException
            dup
            ldc "Recursion during verification"
            invokespecial java.security.NoSuchProviderException.<init>:(Ljava/lang/String;)V
            areturn
         7: .line 215
      StackMap locals:
      StackMap stack:
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 216
            aload 0 /* p */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic javax.crypto.JceSecurity.getCodeBase:(Ljava/lang/Class;)Ljava/net/URL;
            astore 2 /* providerURL */
        start local 2 // java.net.URL providerURL
         9: .line 217
            aload 2 /* providerURL */
            aload 0 /* p */
            invokestatic javax.crypto.JceSecurity.verifyProvider:(Ljava/net/URL;Ljava/security/Provider;)V
        10: .line 219
            getstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
            aload 0 /* p */
            getstatic javax.crypto.JceSecurity.PROVIDER_VERIFIED:Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 225
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 220
            aconst_null
            areturn
        end local 2 // java.net.URL providerURL
        13: .line 221
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        14: .line 222
            getstatic javax.crypto.JceSecurity.verificationResults:Ljava/util/Map;
            aload 0 /* p */
            aload 2 /* e */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 223
            aload 2 /* e */
            astore 4
        16: .line 225
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 223
            aload 4
            areturn
        end local 2 // java.lang.Exception e
        18: .line 224
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        19: .line 225
            getstatic javax.crypto.JceSecurity.verifyingProviders:Ljava/util/Map;
            aload 0 /* p */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 226
            aload 3
            athrow
        end local 1 // java.lang.Object o
        end local 0 // java.security.Provider p
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0            p  Ljava/security/Provider;
            1   21     1            o  Ljava/lang/Object;
            9   13     2  providerURL  Ljava/net/URL;
           14   18     2            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           7    11      13  Class java.lang.Exception
           7    11      18  any
          13    16      18  any
    MethodParameters:
      Name  Flags
      p     

  static boolean canUseProvider(java.security.Provider);
    descriptor: (Ljava/security/Provider;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.Provider p
         0: .line 231
            aload 0 /* p */
            invokestatic javax.crypto.JceSecurity.getVerificationResult:(Ljava/security/Provider;)Ljava/lang/Exception;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.security.Provider p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     p  Ljava/security/Provider;
    MethodParameters:
      Name  Flags
      p     

  static java.net.URL getCodeBase(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/net/URL;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 253
            getstatic javax.crypto.JceSecurity.codeBaseCacheRef:Ljava/util/Map;
            dup
            astore 1
            monitorenter
         1: .line 254
            getstatic javax.crypto.JceSecurity.codeBaseCacheRef:Ljava/util/Map;
            aload 0 /* clazz */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.net.URL
            astore 2 /* url */
        start local 2 // java.net.URL url
         2: .line 255
            aload 2 /* url */
            ifnonnull 6
         3: .line 257
            new javax.crypto.JceSecurity$2
            dup
            aload 0 /* clazz */
            invokespecial javax.crypto.JceSecurity$2.<init>:(Ljava/lang/Class;)V
         4: .line 256
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.net.URL
            astore 2 /* url */
         5: .line 270
            getstatic javax.crypto.JceSecurity.codeBaseCacheRef:Ljava/util/Map;
            aload 0 /* clazz */
            aload 2 /* url */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 272
      StackMap locals: java.util.Map java.net.URL
      StackMap stack:
            aload 2 /* url */
            getstatic javax.crypto.JceSecurity.NULL_URL:Ljava/net/URL;
            if_acmpne 7
            aconst_null
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 2 /* url */
      StackMap locals:
      StackMap stack: java.net.URL
         8: aload 1
            monitorexit
         9: areturn
        end local 2 // java.net.URL url
        10: .line 253
      StackMap locals: java.lang.Class java.util.Map
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        11: athrow
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0  clazz  Ljava/lang/Class<*>;
            2   10     2    url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any
    Signature: (Ljava/lang/Class<*>;)Ljava/net/URL;
    MethodParameters:
       Name  Flags
      clazz  final

  private static void setupJurisdictionPolicies();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=15, args_size=0
         0: .line 282
            ldc "crypto.policy"
            invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* cryptoPolicyProperty */
        start local 0 // java.lang.String cryptoPolicyProperty
         1: .line 292
            aload 0 /* cryptoPolicyProperty */
            ifnonnull 9
         2: .line 293
            ldc "unlimited"
            astore 0 /* cryptoPolicyProperty */
         3: .line 294
            getstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
            ifnull 9
         4: .line 295
            getstatic javax.crypto.JceSecurity.debug:Lsun/security/util/Debug;
         5: .line 296
            new java.lang.StringBuilder
            dup
            ldc "Security Property 'crypto.policy' not found: using '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 297
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' as fallback"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 296
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 295
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 301
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* cryptoPolicyProperty */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 1 /* cpPath */
        start local 1 // java.nio.file.Path cpPath
        10: .line 303
            aload 1 /* cpPath */
            invokeinterface java.nio.file.Path.getNameCount:()I
            iconst_1
            if_icmpne 12
        11: .line 304
            aload 1 /* cpPath */
            aload 1 /* cpPath */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.compareTo:(Ljava/nio/file/Path;)I
            ifeq 17
        12: .line 305
      StackMap locals: java.nio.file.Path
      StackMap stack:
            new java.lang.SecurityException
            dup
        13: .line 306
            new java.lang.StringBuilder
            dup
            ldc "Invalid policy directory name format: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 307
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 306
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 305
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 312
      StackMap locals:
      StackMap stack:
            invokestatic jdk.internal.util.StaticProperty.javaHome:()Ljava/lang/String;
            astore 2 /* javaHomeProperty */
        start local 2 // java.lang.String javaHomeProperty
        18: .line 313
            aload 2 /* javaHomeProperty */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "conf"
            aastore
            dup
            iconst_1
        19: .line 314
            ldc "security"
            aastore
            dup
            iconst_2
            ldc "policy"
            aastore
        20: .line 313
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
        21: .line 314
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
        22: .line 313
            astore 3 /* javaHomePolicyPath */
        start local 3 // java.nio.file.Path javaHomePolicyPath
        23: .line 315
            aload 2 /* javaHomeProperty */
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "conf"
            aastore
            dup
            iconst_1
            ldc "security"
            aastore
            dup
            iconst_2
        24: .line 316
            ldc "policy"
            aastore
            dup
            iconst_3
            aload 0 /* cryptoPolicyProperty */
            aastore
        25: .line 315
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
        26: .line 316
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
        27: .line 315
            astore 4 /* cryptoPolicyPath */
        start local 4 // java.nio.file.Path cryptoPolicyPath
        28: .line 318
            aload 4 /* cryptoPolicyPath */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            aload 3 /* javaHomePolicyPath */
            invokeinterface java.nio.file.Path.compareTo:(Ljava/nio/file/Path;)I
            ifeq 34
        29: .line 319
            new java.lang.SecurityException
            dup
        30: .line 320
            new java.lang.StringBuilder
            dup
            ldc "Invalid cryptographic jurisdiction policy directory path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        31: .line 321
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 320
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 319
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 324
      StackMap locals: java.lang.String java.nio.file.Path java.nio.file.Path
      StackMap stack:
            aload 4 /* cryptoPolicyPath */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 36
        35: .line 325
            aload 4 /* cryptoPolicyPath */
            invokestatic java.nio.file.Files.isReadable:(Ljava/nio/file/Path;)Z
            ifne 41
        36: .line 326
      StackMap locals:
      StackMap stack:
            new java.lang.SecurityException
            dup
        37: .line 327
            new java.lang.StringBuilder
            dup
            ldc "Can't read cryptographic policy directory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        38: .line 328
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 327
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 326
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 331
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
        42: .line 332
            aload 4 /* cryptoPolicyPath */
            ldc "{default,exempt}_*.policy"
        43: .line 331
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/DirectoryStream;
            astore 7 /* stream */
        start local 7 // java.nio.file.DirectoryStream stream
        44: .line 333
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 9
            goto 80
      StackMap locals: java.lang.String java.nio.file.Path java.lang.String java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
        45: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 8 /* entry */
        start local 8 // java.nio.file.Path entry
        46: .line 334
            aconst_null
            astore 10
            aconst_null
            astore 11
        47: new java.io.BufferedInputStream
            dup
        48: .line 335
            aload 8 /* entry */
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newInputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
        49: .line 334
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 12 /* is */
        start local 12 // java.io.InputStream is
        50: .line 336
            aload 8 /* entry */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 13 /* filename */
        start local 13 // java.lang.String filename
        51: .line 338
            new javax.crypto.CryptoPermissions
            dup
            invokespecial javax.crypto.CryptoPermissions.<init>:()V
            astore 14 /* tmpPerms */
        start local 14 // javax.crypto.CryptoPermissions tmpPerms
        52: .line 339
            aload 14 /* tmpPerms */
            aload 12 /* is */
            invokevirtual javax.crypto.CryptoPermissions.load:(Ljava/io/InputStream;)V
        53: .line 341
            aload 13 /* filename */
            ldc "default_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 58
        54: .line 343
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
            ifnonnull 55
            aload 14 /* tmpPerms */
            goto 56
        55: .line 344
      StackMap locals: java.lang.String java.nio.file.Path java.lang.String java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.String javax.crypto.CryptoPermissions
      StackMap stack:
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
            aload 14 /* tmpPerms */
            invokevirtual javax.crypto.CryptoPermissions.getMinimum:(Ljavax/crypto/CryptoPermissions;)Ljavax/crypto/CryptoPermissions;
        56: .line 343
      StackMap locals:
      StackMap stack: javax.crypto.CryptoPermissions
            putstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
        57: .line 345
            goto 68
      StackMap locals:
      StackMap stack:
        58: aload 13 /* filename */
            ldc "exempt_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 63
        59: .line 347
            getstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
            ifnonnull 60
            aload 14 /* tmpPerms */
            goto 61
        60: .line 348
      StackMap locals:
      StackMap stack:
            getstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
            aload 14 /* tmpPerms */
            invokevirtual javax.crypto.CryptoPermissions.getMinimum:(Ljavax/crypto/CryptoPermissions;)Ljavax/crypto/CryptoPermissions;
        61: .line 347
      StackMap locals:
      StackMap stack: javax.crypto.CryptoPermissions
            putstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
        62: .line 349
            goto 68
        63: .line 352
      StackMap locals:
      StackMap stack:
            new java.lang.SecurityException
            dup
        64: .line 353
            new java.lang.StringBuilder
            dup
            ldc "Unexpected jurisdiction policy files in : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        65: .line 354
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        66: .line 353
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        67: .line 352
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // javax.crypto.CryptoPermissions tmpPerms
        end local 13 // java.lang.String filename
        68: .line 356
      StackMap locals:
      StackMap stack:
            aload 12 /* is */
            ifnull 80
            aload 12 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 80
      StackMap locals:
      StackMap stack: java.lang.Throwable
        69: astore 10
            aload 12 /* is */
            ifnull 70
            aload 12 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 12 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        70: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        71: astore 11
            aload 10
            ifnonnull 72
            aload 11
            astore 10
            goto 73
      StackMap locals:
      StackMap stack:
        72: aload 10
            aload 11
            if_acmpeq 73
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        73: aload 10
            athrow
      StackMap locals: java.lang.String java.nio.file.Path java.lang.String java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator
      StackMap stack: java.lang.Exception
        74: pop
        75: .line 357
            new java.lang.SecurityException
            dup
        76: .line 358
            new java.lang.StringBuilder
            dup
            ldc "Couldn't parse jurisdiction policy files in: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        77: .line 359
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        78: .line 358
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        79: .line 357
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.nio.file.Path entry
        80: .line 333
      StackMap locals: java.lang.String java.nio.file.Path java.lang.String java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 45
        81: .line 362
            aload 7 /* stream */
            ifnull 93
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 93
      StackMap locals: java.lang.String java.nio.file.Path java.lang.String java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
        82: astore 5
            aload 7 /* stream */
            ifnull 83
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 7 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        83: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        84: astore 6
            aload 5
            ifnonnull 85
            aload 6
            astore 5
            goto 86
      StackMap locals:
      StackMap stack:
        85: aload 5
            aload 6
            if_acmpeq 86
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        86: aload 5
            athrow
      StackMap locals: java.lang.String java.nio.file.Path java.lang.String java.nio.file.Path java.nio.file.Path
      StackMap stack: java.nio.file.DirectoryIteratorException
        87: pop
        88: .line 365
            new java.lang.SecurityException
            dup
        89: .line 366
            new java.lang.StringBuilder
            dup
            ldc "Couldn't iterate through the jurisdiction policy files: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        90: .line 367
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        91: .line 366
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        92: .line 365
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        93: .line 371
      StackMap locals:
      StackMap stack:
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
            ifnull 94
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
            invokevirtual javax.crypto.CryptoPermissions.isEmpty:()Z
            ifeq 99
        94: .line 372
      StackMap locals:
      StackMap stack:
            new java.lang.SecurityException
            dup
        95: .line 373
            new java.lang.StringBuilder
            dup
            ldc "Missing mandatory jurisdiction policy files: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        96: .line 374
            aload 0 /* cryptoPolicyProperty */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        97: .line 373
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        98: .line 372
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        99: .line 378
      StackMap locals:
      StackMap stack:
            getstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
            ifnull 101
            getstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
            invokevirtual javax.crypto.CryptoPermissions.isEmpty:()Z
            ifeq 101
       100: .line 379
            aconst_null
            putstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
       101: .line 381
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.nio.file.Path cryptoPolicyPath
        end local 3 // java.nio.file.Path javaHomePolicyPath
        end local 2 // java.lang.String javaHomeProperty
        end local 1 // java.nio.file.Path cpPath
        end local 0 // java.lang.String cryptoPolicyProperty
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            1  102     0  cryptoPolicyProperty  Ljava/lang/String;
           10  102     1                cpPath  Ljava/nio/file/Path;
           18  102     2      javaHomeProperty  Ljava/lang/String;
           23  102     3    javaHomePolicyPath  Ljava/nio/file/Path;
           28  102     4      cryptoPolicyPath  Ljava/nio/file/Path;
           44   83     7                stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           46   80     8                 entry  Ljava/nio/file/Path;
           50   70    12                    is  Ljava/io/InputStream;
           51   68    13              filename  Ljava/lang/String;
           52   68    14              tmpPerms  Ljavax/crypto/CryptoPermissions;
      Exception table:
        from    to  target  type
          50    68      69  any
          47    71      71  any
          46    74      74  Class java.lang.Exception
          44    81      82  any
          42    84      84  any
          41    87      87  Class java.nio.file.DirectoryIteratorException
    Exceptions:
      throws java.lang.Exception

  static javax.crypto.CryptoPermissions getDefaultPolicy();
    descriptor: ()Ljavax/crypto/CryptoPermissions;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 384
            getstatic javax.crypto.JceSecurity.defaultPolicy:Ljavax/crypto/CryptoPermissions;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static javax.crypto.CryptoPermissions getExemptPolicy();
    descriptor: ()Ljavax/crypto/CryptoPermissions;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 388
            getstatic javax.crypto.JceSecurity.exemptPolicy:Ljavax/crypto/CryptoPermissions;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static boolean isRestricted();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 392
            getstatic javax.crypto.JceSecurity.isRestricted:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JceSecurity.java"
NestMembers:
  javax.crypto.JceSecurity$1  javax.crypto.JceSecurity$2
InnerClasses:
  public Service = java.security.Provider$Service of java.security.Provider
  javax.crypto.JceSecurity$1
  javax.crypto.JceSecurity$2
  public final Instance = sun.security.jca.GetInstance$Instance of sun.security.jca.GetInstance