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

  private static final java.security.Provider digestProvider;
    descriptor: Ljava/security/Provider;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  java.util.HashMap<java.lang.String, java.security.MessageDigest> createdDigests;
    descriptor: Ljava/util/HashMap;
    flags: (0x0000) 
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/security/MessageDigest;>;

  java.util.ArrayList<java.security.MessageDigest> digests;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0000) 
    Signature: Ljava/util/ArrayList<Ljava/security/MessageDigest;>;

  java.util.ArrayList<byte[]> manifestHashes;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0000) 
    Signature: Ljava/util/ArrayList<[B>;

  private sun.misc.BASE64Decoder decoder;
    descriptor: Lsun/misc/BASE64Decoder;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.util.jar.Manifest man;
    descriptor: Ljava/util/jar/Manifest;
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.jar.JarEntry entry;
    descriptor: Ljava/util/jar/JarEntry;
    flags: (0x0002) ACC_PRIVATE

  private java.security.CodeSigner[] signers;
    descriptor: [Ljava/security/CodeSigner;
    flags: (0x0002) ACC_PRIVATE

  private static final char[] hexc;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 45
            ldc "jar"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.util.ManifestEntryVerifier.debug:Lsun/security/util/Debug;
         1: .line 47
            invokestatic sun.security.jca.Providers.getSunProvider:()Ljava/security/Provider;
            putstatic sun.security.util.ManifestEntryVerifier.digestProvider:Ljava/security/Provider;
         2: .line 229
            bipush 16
            newarray 5
            dup
            iconst_0
            bipush 48
            castore
            dup
            iconst_1
            bipush 49
            castore
            dup
            iconst_2
            bipush 50
            castore
            dup
            iconst_3
            bipush 51
            castore
            dup
            iconst_4
            bipush 52
            castore
            dup
            iconst_5
            bipush 53
            castore
            dup
            bipush 6
            bipush 54
            castore
            dup
            bipush 7
            bipush 55
            castore
            dup
            bipush 8
            bipush 56
            castore
            dup
            bipush 9
            bipush 57
            castore
            dup
            bipush 10
            bipush 97
            castore
            dup
            bipush 11
            bipush 98
            castore
            dup
            bipush 12
            bipush 99
            castore
            dup
            bipush 13
            bipush 100
            castore
            dup
            bipush 14
            bipush 101
            castore
            dup
            bipush 15
            bipush 102
            castore
         3: .line 228
            putstatic sun.security.util.ManifestEntryVerifier.hexc:[C
         4: .line 229
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.util.jar.Manifest);
    descriptor: (Ljava/util/jar/Manifest;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.util.ManifestEntryVerifier this
        start local 1 // java.util.jar.Manifest man
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            aconst_null
            putfield sun.security.util.ManifestEntryVerifier.decoder:Lsun/misc/BASE64Decoder;
         2: .line 59
            aload 0 /* this */
            aconst_null
            putfield sun.security.util.ManifestEntryVerifier.name:Ljava/lang/String;
         3: .line 62
            aload 0 /* this */
            iconst_1
            putfield sun.security.util.ManifestEntryVerifier.skip:Z
         4: .line 66
            aload 0 /* this */
            aconst_null
            putfield sun.security.util.ManifestEntryVerifier.signers:[Ljava/security/CodeSigner;
         5: .line 73
            aload 0 /* this */
            new java.util.HashMap
            dup
            bipush 11
            invokespecial java.util.HashMap.<init>:(I)V
            putfield sun.security.util.ManifestEntryVerifier.createdDigests:Ljava/util/HashMap;
         6: .line 74
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.util.ManifestEntryVerifier.digests:Ljava/util/ArrayList;
         7: .line 75
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.util.ManifestEntryVerifier.manifestHashes:Ljava/util/ArrayList;
         8: .line 76
            aload 0 /* this */
            new sun.misc.BASE64Decoder
            dup
            invokespecial sun.misc.BASE64Decoder.<init>:()V
            putfield sun.security.util.ManifestEntryVerifier.decoder:Lsun/misc/BASE64Decoder;
         9: .line 77
            aload 0 /* this */
            aload 1 /* man */
            putfield sun.security.util.ManifestEntryVerifier.man:Ljava/util/jar/Manifest;
        10: .line 78
            return
        end local 1 // java.util.jar.Manifest man
        end local 0 // sun.security.util.ManifestEntryVerifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/security/util/ManifestEntryVerifier;
            0   11     1   man  Ljava/util/jar/Manifest;
    MethodParameters:
      Name  Flags
      man   

  public void setEntry(java.lang.String, java.util.jar.JarEntry);
    descriptor: (Ljava/lang/String;Ljava/util/jar/JarEntry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // sun.security.util.ManifestEntryVerifier this
        start local 1 // java.lang.String name
        start local 2 // java.util.jar.JarEntry entry
         0: .line 89
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.digests:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         1: .line 90
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.manifestHashes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         2: .line 91
            aload 0 /* this */
            aload 1 /* name */
            putfield sun.security.util.ManifestEntryVerifier.name:Ljava/lang/String;
         3: .line 92
            aload 0 /* this */
            aload 2 /* entry */
            putfield sun.security.util.ManifestEntryVerifier.entry:Ljava/util/jar/JarEntry;
         4: .line 94
            aload 0 /* this */
            iconst_1
            putfield sun.security.util.ManifestEntryVerifier.skip:Z
         5: .line 95
            aload 0 /* this */
            aconst_null
            putfield sun.security.util.ManifestEntryVerifier.signers:[Ljava/security/CodeSigner;
         6: .line 97
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.man:Ljava/util/jar/Manifest;
            ifnull 7
            aload 1 /* name */
            ifnonnull 8
         7: .line 98
      StackMap locals:
      StackMap stack:
            return
         8: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.security.util.ManifestEntryVerifier.skip:Z
         9: .line 106
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.man:Ljava/util/jar/Manifest;
            aload 1 /* name */
            invokevirtual java.util.jar.Manifest.getAttributes:(Ljava/lang/String;)Ljava/util/jar/Attributes;
            astore 3 /* attr */
        start local 3 // java.util.jar.Attributes attr
        10: .line 107
            aload 3 /* attr */
            ifnonnull 16
        11: .line 111
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.man:Ljava/util/jar/Manifest;
            new java.lang.StringBuilder
            dup
            ldc "./"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.jar.Manifest.getAttributes:(Ljava/lang/String;)Ljava/util/jar/Attributes;
            astore 3 /* attr */
        12: .line 112
            aload 3 /* attr */
            ifnonnull 16
        13: .line 113
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.man:Ljava/util/jar/Manifest;
            new java.lang.StringBuilder
            dup
            ldc "/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.jar.Manifest.getAttributes:(Ljava/lang/String;)Ljava/util/jar/Attributes;
            astore 3 /* attr */
        14: .line 114
            aload 3 /* attr */
            ifnonnull 16
        15: .line 115
            return
        16: .line 119
      StackMap locals: java.util.jar.Attributes
      StackMap stack:
            aload 3 /* attr */
            invokevirtual java.util.jar.Attributes.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 34
      StackMap locals: sun.security.util.ManifestEntryVerifier java.lang.String java.util.jar.JarEntry java.util.jar.Attributes top java.util.Iterator
      StackMap stack:
        17: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* se */
        start local 4 // java.util.Map$Entry se
        18: .line 120
            aload 4 /* se */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 6 /* key */
        start local 6 // java.lang.String key
        19: .line 122
            aload 6 /* key */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            ldc "-DIGEST"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 34
        20: .line 124
            aload 6 /* key */
            iconst_0
            aload 6 /* key */
            invokevirtual java.lang.String.length:()I
            bipush 7
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* algorithm */
        start local 7 // java.lang.String algorithm
        21: .line 126
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.createdDigests:Ljava/util/HashMap;
            aload 7 /* algorithm */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.MessageDigest
            astore 8 /* digest */
        start local 8 // java.security.MessageDigest digest
        22: .line 128
            aload 8 /* digest */
            ifnonnull 28
        23: .line 132
            aload 7 /* algorithm */
            getstatic sun.security.util.ManifestEntryVerifier.digestProvider:Ljava/security/Provider;
        24: .line 131
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/MessageDigest;
            astore 8 /* digest */
        25: .line 133
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.createdDigests:Ljava/util/HashMap;
            aload 7 /* algorithm */
            aload 8 /* digest */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 134
            goto 28
      StackMap locals: sun.security.util.ManifestEntryVerifier java.lang.String java.util.jar.JarEntry java.util.jar.Attributes java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String java.security.MessageDigest
      StackMap stack: java.security.NoSuchAlgorithmException
        27: pop
        28: .line 139
      StackMap locals:
      StackMap stack:
            aload 8 /* digest */
            ifnull 34
        29: .line 140
            aload 8 /* digest */
            invokevirtual java.security.MessageDigest.reset:()V
        30: .line 141
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.digests:Ljava/util/ArrayList;
            aload 8 /* digest */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        31: .line 142
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.manifestHashes:Ljava/util/ArrayList;
        32: .line 143
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.decoder:Lsun/misc/BASE64Decoder;
            aload 4 /* se */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual sun.misc.BASE64Decoder.decodeBuffer:(Ljava/lang/String;)[B
        33: .line 142
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.security.MessageDigest digest
        end local 7 // java.lang.String algorithm
        end local 6 // java.lang.String key
        end local 4 // java.util.Map$Entry se
        34: .line 119
      StackMap locals: sun.security.util.ManifestEntryVerifier java.lang.String java.util.jar.JarEntry java.util.jar.Attributes top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        35: .line 147
            return
        end local 3 // java.util.jar.Attributes attr
        end local 2 // java.util.jar.JarEntry entry
        end local 1 // java.lang.String name
        end local 0 // sun.security.util.ManifestEntryVerifier this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   36     0       this  Lsun/security/util/ManifestEntryVerifier;
            0   36     1       name  Ljava/lang/String;
            0   36     2      entry  Ljava/util/jar/JarEntry;
           10   36     3       attr  Ljava/util/jar/Attributes;
           18   34     4         se  Ljava/util/Map$Entry<Ljava/lang/Object;Ljava/lang/Object;>;
           19   34     6        key  Ljava/lang/String;
           21   34     7  algorithm  Ljava/lang/String;
           22   34     8     digest  Ljava/security/MessageDigest;
      Exception table:
        from    to  target  type
          23    26      27  Class java.security.NoSuchAlgorithmException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      name   
      entry  

  public void update(byte);
    descriptor: (B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.util.ManifestEntryVerifier this
        start local 1 // byte buffer
         0: .line 153
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.skip:Z
            ifeq 1
            return
         1: .line 155
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 156
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.digests:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.security.MessageDigest
            iload 1 /* buffer */
            invokevirtual java.security.MessageDigest.update:(B)V
         4: .line 155
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.digests:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 3
        end local 2 // int i
         6: .line 158
            return
        end local 1 // byte buffer
        end local 0 // sun.security.util.ManifestEntryVerifier this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/security/util/ManifestEntryVerifier;
            0    7     1  buffer  B
            2    6     2       i  I
    MethodParameters:
        Name  Flags
      buffer  

  public void update(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.security.util.ManifestEntryVerifier this
        start local 1 // byte[] buffer
        start local 2 // int off
        start local 3 // int len
         0: .line 164
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.skip:Z
            ifeq 1
            return
         1: .line 166
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 167
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.digests:Ljava/util/ArrayList;
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.security.MessageDigest
            aload 1 /* buffer */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.security.MessageDigest.update:([BII)V
         4: .line 166
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.digests:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 3
        end local 4 // int i
         6: .line 169
            return
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buffer
        end local 0 // sun.security.util.ManifestEntryVerifier this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/security/util/ManifestEntryVerifier;
            0    7     1  buffer  [B
            0    7     2     off  I
            0    7     3     len  I
            2    6     4       i  I
    MethodParameters:
        Name  Flags
      buffer  
      off     
      len     

  public java.util.jar.JarEntry getEntry();
    descriptor: ()Ljava/util/jar/JarEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.util.ManifestEntryVerifier this
         0: .line 176
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.entry:Ljava/util/jar/JarEntry;
            areturn
        end local 0 // sun.security.util.ManifestEntryVerifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/util/ManifestEntryVerifier;

  public java.security.CodeSigner[] verify(java.util.Hashtable<java.lang.String, java.security.CodeSigner[]>, java.util.Hashtable<java.lang.String, java.security.CodeSigner[]>);
    descriptor: (Ljava/util/Hashtable;Ljava/util/Hashtable;)[Ljava/security/CodeSigner;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // sun.security.util.ManifestEntryVerifier this
        start local 1 // java.util.Hashtable verifiedSigners
        start local 2 // java.util.Hashtable sigFileSigners
         0: .line 191
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.skip:Z
            ifeq 1
            aconst_null
            areturn
         1: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.digests:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifeq 3
         2: .line 194
            new java.lang.SecurityException
            dup
            new java.lang.StringBuilder
            dup
            ldc "digest missing for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.signers:[Ljava/security/CodeSigner;
            ifnull 5
         4: .line 198
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.signers:[Ljava/security/CodeSigner;
            areturn
         5: .line 200
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 22
         7: .line 202
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.digests:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.security.MessageDigest
            astore 4 /* digest */
        start local 4 // java.security.MessageDigest digest
         8: .line 203
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.manifestHashes:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast byte[]
            astore 5 /* manHash */
        start local 5 // byte[] manHash
         9: .line 204
            aload 4 /* digest */
            invokevirtual java.security.MessageDigest.digest:()[B
            astore 6 /* theHash */
        start local 6 // byte[] theHash
        10: .line 206
            getstatic sun.security.util.ManifestEntryVerifier.debug:Lsun/security/util/Debug;
            ifnull 17
        11: .line 207
            getstatic sun.security.util.ManifestEntryVerifier.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Manifest Entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 208
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " digest="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* digest */
            invokevirtual java.security.MessageDigest.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 207
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        14: .line 209
            getstatic sun.security.util.ManifestEntryVerifier.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  manifest "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* manHash */
            invokestatic sun.security.util.ManifestEntryVerifier.toHex:([B)Ljava/lang/String;
            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
        15: .line 210
            getstatic sun.security.util.ManifestEntryVerifier.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  computed "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* theHash */
            invokestatic sun.security.util.ManifestEntryVerifier.toHex:([B)Ljava/lang/String;
            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
        16: .line 211
            getstatic sun.security.util.ManifestEntryVerifier.debug:Lsun/security/util/Debug;
            invokevirtual sun.security.util.Debug.println:()V
        17: .line 214
      StackMap locals: java.security.MessageDigest byte[] byte[]
      StackMap stack:
            aload 6 /* theHash */
            aload 5 /* manHash */
            invokestatic java.security.MessageDigest.isEqual:([B[B)Z
            ifne 21
        18: .line 215
            new java.lang.SecurityException
            dup
            new java.lang.StringBuilder
            dup
            aload 4 /* digest */
            invokevirtual java.security.MessageDigest.getAlgorithm:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 216
            ldc " digest error for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 215
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // byte[] theHash
        end local 5 // byte[] manHash
        end local 4 // java.security.MessageDigest digest
        21: .line 200
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 3 /* i */
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.digests:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 7
        end local 3 // int i
        23: .line 220
            aload 0 /* this */
            aload 2 /* sigFileSigners */
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.name:Ljava/lang/String;
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.CodeSigner[]
            putfield sun.security.util.ManifestEntryVerifier.signers:[Ljava/security/CodeSigner;
        24: .line 221
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.signers:[Ljava/security/CodeSigner;
            ifnull 26
        25: .line 222
            aload 1 /* verifiedSigners */
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.name:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.signers:[Ljava/security/CodeSigner;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.ManifestEntryVerifier.signers:[Ljava/security/CodeSigner;
            areturn
        end local 2 // java.util.Hashtable sigFileSigners
        end local 1 // java.util.Hashtable verifiedSigners
        end local 0 // sun.security.util.ManifestEntryVerifier this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   27     0             this  Lsun/security/util/ManifestEntryVerifier;
            0   27     1  verifiedSigners  Ljava/util/Hashtable<Ljava/lang/String;[Ljava/security/CodeSigner;>;
            0   27     2   sigFileSigners  Ljava/util/Hashtable<Ljava/lang/String;[Ljava/security/CodeSigner;>;
            6   23     3                i  I
            8   21     4           digest  Ljava/security/MessageDigest;
            9   21     5          manHash  [B
           10   21     6          theHash  [B
    Exceptions:
      throws java.util.jar.JarException
    Signature: (Ljava/util/Hashtable<Ljava/lang/String;[Ljava/security/CodeSigner;>;Ljava/util/Hashtable<Ljava/lang/String;[Ljava/security/CodeSigner;>;)[Ljava/security/CodeSigner;
    MethodParameters:
                 Name  Flags
      verifiedSigners  
      sigFileSigners   

  static java.lang.String toHex(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // byte[] data
         0: .line 238
            new java.lang.StringBuffer
            dup
            aload 0 /* data */
            arraylength
            iconst_2
            imul
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 240
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 241
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 1 /* sb */
            getstatic sun.security.util.ManifestEntryVerifier.hexc:[C
            aload 0 /* data */
            iload 2 /* i */
            baload
            iconst_4
            ishr
            bipush 15
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 242
            aload 1 /* sb */
            getstatic sun.security.util.ManifestEntryVerifier.hexc:[C
            aload 0 /* data */
            iload 2 /* i */
            baload
            bipush 15
            iand
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         5: .line 240
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* data */
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 244
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  data  [B
            1    8     1    sb  Ljava/lang/StringBuffer;
            2    7     2     i  I
    MethodParameters:
      Name  Flags
      data  
}
SourceFile: "ManifestEntryVerifier.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map