public class org.eclipse.jgit.internal.storage.file.PackFile implements java.lang.Iterable<org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jgit.internal.storage.file.PackFile
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger LOG;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.util.Comparator<org.eclipse.jgit.internal.storage.file.PackFile> SORT;
    descriptor: Ljava/util/Comparator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Comparator<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;

  private final java.io.File packFile;
    descriptor: Ljava/io/File;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int extensions;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.io.File keepFile;
    descriptor: Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE

  private volatile java.lang.String packName;
    descriptor: Ljava/lang/String;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  final int hash;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  private java.io.RandomAccessFile fd;
    descriptor: Ljava/io/RandomAccessFile;
    flags: (0x0002) ACC_PRIVATE

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

  long length;
    descriptor: J
    flags: (0x0000) 

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

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

  java.time.Instant packLastModified;
    descriptor: Ljava/time/Instant;
    flags: (0x0000) 

  private org.eclipse.jgit.internal.storage.file.PackFileSnapshot fileSnapshot;
    descriptor: Lorg/eclipse/jgit/internal/storage/file/PackFileSnapshot;
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean invalid;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile java.lang.Exception invalidatingCause;
    descriptor: Ljava/lang/Exception;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private java.util.concurrent.atomic.AtomicInteger transientErrorCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0002) ACC_PRIVATE

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

  private volatile org.eclipse.jgit.internal.storage.file.PackIndex loadedIdx;
    descriptor: Lorg/eclipse/jgit/internal/storage/file/PackIndex;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private org.eclipse.jgit.internal.storage.file.PackReverseIndex reverseIdx;
    descriptor: Lorg/eclipse/jgit/internal/storage/file/PackReverseIndex;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jgit.internal.storage.file.PackBitmapIndex bitmapIdx;
    descriptor: Lorg/eclipse/jgit/internal/storage/file/PackBitmapIndex;
    flags: (0x0002) ACC_PRIVATE

  private volatile org.eclipse.jgit.util.LongList corruptObjects;
    descriptor: Lorg/eclipse/jgit/util/LongList;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 72
            ldc Lorg/eclipse/jgit/internal/storage/file/PackFile;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.eclipse.jgit.internal.storage.file.PackFile.$assertionsDisabled:Z
         3: .line 73
            ldc Lorg/eclipse/jgit/internal/storage/file/PackFile;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.eclipse.jgit.internal.storage.file.PackFile.LOG:Lorg/slf4j/Logger;
         4: .line 78
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  org/eclipse/jgit/internal/storage/file/PackFile.lambda$0(Lorg/eclipse/jgit/internal/storage/file/PackFile;Lorg/eclipse/jgit/internal/storage/file/PackFile;)I (6)
                  (Lorg/eclipse/jgit/internal/storage/file/PackFile;Lorg/eclipse/jgit/internal/storage/file/PackFile;)I
            putstatic org.eclipse.jgit.internal.storage.file.PackFile.SORT:Ljava/util/Comparator;
         5: .line 79
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.io.File, int);
    descriptor: (Ljava/io/File;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // java.io.File packFile
        start local 2 // int extensions
         0: .line 139
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 94
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.eclipse.jgit.internal.storage.file.PackFile.readLock:Ljava/lang/Object;
         2: .line 112
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putfield org.eclipse.jgit.internal.storage.file.PackFile.transientErrorCount:Ljava/util/concurrent/atomic/AtomicInteger;
         3: .line 140
            aload 0 /* this */
            aload 1 /* packFile */
            putfield org.eclipse.jgit.internal.storage.file.PackFile.packFile:Ljava/io/File;
         4: .line 141
            aload 0 /* this */
            aload 1 /* packFile */
            invokestatic org.eclipse.jgit.internal.storage.file.PackFileSnapshot.save:(Ljava/io/File;)Lorg/eclipse/jgit/internal/storage/file/PackFileSnapshot;
            putfield org.eclipse.jgit.internal.storage.file.PackFile.fileSnapshot:Lorg/eclipse/jgit/internal/storage/file/PackFileSnapshot;
         5: .line 142
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fileSnapshot:Lorg/eclipse/jgit/internal/storage/file/PackFileSnapshot;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFileSnapshot.lastModifiedInstant:()Ljava/time/Instant;
            putfield org.eclipse.jgit.internal.storage.file.PackFile.packLastModified:Ljava/time/Instant;
         6: .line 143
            aload 0 /* this */
            iload 2 /* extensions */
            putfield org.eclipse.jgit.internal.storage.file.PackFile.extensions:I
         7: .line 148
            aload 0 /* this */
            aload 0 /* this */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            bipush 31
            imul
            putfield org.eclipse.jgit.internal.storage.file.PackFile.hash:I
         8: .line 149
            aload 0 /* this */
            ldc 9223372036854775807
            putfield org.eclipse.jgit.internal.storage.file.PackFile.length:J
         9: .line 150
            return
        end local 2 // int extensions
        end local 1 // java.io.File packFile
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0   10     1    packFile  Ljava/io/File;
            0   10     2  extensions  I
    MethodParameters:
            Name  Flags
      packFile    
      extensions  

  private org.eclipse.jgit.internal.storage.file.PackIndex idx();
    descriptor: ()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=5, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 153
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.loadedIdx:Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            astore 1 /* idx */
        start local 1 // org.eclipse.jgit.internal.storage.file.PackIndex idx
         1: .line 154
            aload 1 /* idx */
            ifnonnull 51
         2: .line 155
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 156
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.loadedIdx:Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            astore 1 /* idx */
         4: .line 157
            aload 1 /* idx */
            ifnonnull 47
         5: .line 158
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.invalid:Z
            ifeq 7
         6: .line 159
            new org.eclipse.jgit.errors.PackInvalidException
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packFile:Ljava/io/File;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.invalidatingCause:Ljava/lang/Exception;
            invokespecial org.eclipse.jgit.errors.PackInvalidException.<init>:(Ljava/io/File;Ljava/lang/Throwable;)V
            athrow
         7: .line 162
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackIndex org.eclipse.jgit.internal.storage.file.PackFile
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* start */
        start local 3 // long start
         8: .line 163
            aload 0 /* this */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.extFile:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Ljava/io/File;
            invokestatic org.eclipse.jgit.internal.storage.file.PackIndex.open:(Ljava/io/File;)Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            astore 1 /* idx */
         9: .line 164
            getstatic org.eclipse.jgit.internal.storage.file.PackFile.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 20
        10: .line 165
            getstatic org.eclipse.jgit.internal.storage.file.PackFile.LOG:Lorg/slf4j/Logger;
        11: .line 166
            ldc "Opening pack index %s, size %.3f MB took %d ms"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 167
            aload 0 /* this */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.extFile:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Ljava/io/File;
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        13: .line 168
            aload 0 /* this */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.extFile:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Ljava/io/File;
            invokevirtual java.io.File.length:()J
            l2f
        14: .line 169
            ldc 1048576.0
        15: .line 168
            fdiv
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            dup
            iconst_2
        16: .line 170
            invokestatic java.lang.System.currentTimeMillis:()J
        17: .line 171
            lload 3 /* start */
        18: .line 170
            lsub
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
        19: .line 165
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
        20: .line 174
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packChecksum:[B
            ifnonnull 26
        21: .line 175
            aload 0 /* this */
            aload 1 /* idx */
            getfield org.eclipse.jgit.internal.storage.file.PackIndex.packChecksum:[B
            putfield org.eclipse.jgit.internal.storage.file.PackFile.packChecksum:[B
        22: .line 176
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fileSnapshot:Lorg/eclipse/jgit/internal/storage/file/PackFileSnapshot;
        23: .line 177
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packChecksum:[B
            invokestatic org.eclipse.jgit.lib.ObjectId.fromRaw:([B)Lorg/eclipse/jgit/lib/ObjectId;
        24: .line 176
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFileSnapshot.setChecksum:(Lorg/eclipse/jgit/lib/AnyObjectId;)V
        25: .line 178
            goto 39
      StackMap locals:
      StackMap stack:
        26: aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packChecksum:[B
        27: .line 179
            aload 1 /* idx */
            getfield org.eclipse.jgit.internal.storage.file.PackIndex.packChecksum:[B
        28: .line 178
            invokestatic java.util.Arrays.equals:([B[B)Z
        29: .line 179
            ifne 39
        30: .line 180
            new org.eclipse.jgit.errors.PackMismatchException
            dup
        31: .line 181
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.packChecksumMismatch:Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        32: .line 182
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packFile:Ljava/io/File;
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        33: .line 183
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packChecksum:[B
            invokestatic org.eclipse.jgit.lib.ObjectId.fromRaw:([B)Lorg/eclipse/jgit/lib/ObjectId;
        34: .line 184
            invokevirtual org.eclipse.jgit.lib.ObjectId.name:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        35: .line 185
            aload 1 /* idx */
            getfield org.eclipse.jgit.internal.storage.file.PackIndex.packChecksum:[B
            invokestatic org.eclipse.jgit.lib.ObjectId.fromRaw:([B)Lorg/eclipse/jgit/lib/ObjectId;
        36: .line 186
            invokevirtual org.eclipse.jgit.lib.ObjectId.name:()Ljava/lang/String;
            aastore
        37: .line 181
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        38: .line 180
            invokespecial org.eclipse.jgit.errors.PackMismatchException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* idx */
            putfield org.eclipse.jgit.internal.storage.file.PackFile.loadedIdx:Lorg/eclipse/jgit/internal/storage/file/PackIndex;
        end local 3 // long start
        40: .line 189
            goto 47
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.file.PackIndex org.eclipse.jgit.internal.storage.file.PackFile
      StackMap stack: java.io.InterruptedIOException
        41: astore 3 /* e */
        start local 3 // java.io.InterruptedIOException e
        42: .line 192
            aload 3 /* e */
            athrow
        end local 3 // java.io.InterruptedIOException e
        43: .line 193
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        44: .line 194
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jgit.internal.storage.file.PackFile.invalid:Z
        45: .line 195
            aload 0 /* this */
            aload 3 /* e */
            putfield org.eclipse.jgit.internal.storage.file.PackFile.invalidatingCause:Ljava/lang/Exception;
        46: .line 196
            aload 3 /* e */
            athrow
        end local 3 // java.io.IOException e
        47: .line 155
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        48: goto 51
      StackMap locals:
      StackMap stack: java.lang.Throwable
        49: aload 2
            monitorexit
        50: athrow
        51: .line 201
      StackMap locals:
      StackMap stack:
            aload 1 /* idx */
            areturn
        end local 1 // org.eclipse.jgit.internal.storage.file.PackIndex idx
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   52     0   this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            1   52     1    idx  Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            8   40     3  start  J
           42   43     3      e  Ljava/io/InterruptedIOException;
           44   47     3      e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           7    40      41  Class java.io.InterruptedIOException
           7    40      43  Class java.io.IOException
           3    48      49  any
          49    50      49  any
    Exceptions:
      throws java.io.IOException

  public java.io.File getPackFile();
    descriptor: ()Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 209
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packFile:Ljava/io/File;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;

  public org.eclipse.jgit.internal.storage.file.PackIndex getIndex();
    descriptor: ()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 219
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
    Exceptions:
      throws java.io.IOException

  public java.lang.String getPackName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 228
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packName:Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 229
            aload 1 /* name */
            ifnonnull 8
         2: .line 230
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackFile:()Ljava/io/File;
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            astore 1 /* name */
         3: .line 231
            aload 1 /* name */
            ldc "pack-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 232
            aload 1 /* name */
            ldc "pack-"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* name */
         5: .line 233
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* name */
            ldc ".pack"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 7
         6: .line 234
            aload 1 /* name */
            iconst_0
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            ldc ".pack"
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* name */
         7: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            putfield org.eclipse.jgit.internal.storage.file.PackFile.packName:Ljava/lang/String;
         8: .line 237
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            1    9     1  name  Ljava/lang/String;

  public boolean hasObject(org.eclipse.jgit.lib.AnyObjectId);
    descriptor: (Lorg/eclipse/jgit/lib/AnyObjectId;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.lib.AnyObjectId id
         0: .line 254
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            aload 1 /* id */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.findOffset:(Lorg/eclipse/jgit/lib/AnyObjectId;)J
            lstore 2 /* offset */
        start local 2 // long offset
         1: .line 255
            lconst_0
            lload 2 /* offset */
            lcmp
            ifge 2
            aload 0 /* this */
            lload 2 /* offset */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.isCorrupt:(J)Z
            ifne 2
            iconst_1
            ireturn
      StackMap locals: long
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // long offset
        end local 1 // org.eclipse.jgit.lib.AnyObjectId id
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    3     1      id  Lorg/eclipse/jgit/lib/AnyObjectId;
            1    3     2  offset  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      id    

  public boolean shouldBeKept();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 264
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.keepFile:Ljava/io/File;
            ifnonnull 2
         1: .line 265
            aload 0 /* this */
            aload 0 /* this */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.KEEP:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.extFile:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Ljava/io/File;
            putfield org.eclipse.jgit.internal.storage.file.PackFile.keepFile:Ljava/io/File;
         2: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.keepFile:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ireturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;

  org.eclipse.jgit.lib.ObjectLoader get(org.eclipse.jgit.internal.storage.file.WindowCursor, org.eclipse.jgit.lib.AnyObjectId);
    descriptor: (Lorg/eclipse/jgit/internal/storage/file/WindowCursor;Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/lib/ObjectLoader;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        start local 2 // org.eclipse.jgit.lib.AnyObjectId id
         0: .line 283
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            aload 2 /* id */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.findOffset:(Lorg/eclipse/jgit/lib/AnyObjectId;)J
            lstore 3 /* offset */
        start local 3 // long offset
         1: .line 284
            lconst_0
            lload 3 /* offset */
            lcmp
            ifge 2
            aload 0 /* this */
            lload 3 /* offset */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.isCorrupt:(J)Z
            ifne 2
            aload 0 /* this */
            aload 1 /* curs */
            lload 3 /* offset */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.load:(Lorg/eclipse/jgit/internal/storage/file/WindowCursor;J)Lorg/eclipse/jgit/lib/ObjectLoader;
            goto 3
      StackMap locals: long
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: org.eclipse.jgit.lib.ObjectLoader
         3: areturn
        end local 3 // long offset
        end local 2 // org.eclipse.jgit.lib.AnyObjectId id
        end local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    4     1    curs  Lorg/eclipse/jgit/internal/storage/file/WindowCursor;
            0    4     2      id  Lorg/eclipse/jgit/lib/AnyObjectId;
            1    4     3  offset  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      curs  
      id    

  void resolve(java.util.Set<org.eclipse.jgit.lib.ObjectId>, org.eclipse.jgit.lib.AbbreviatedObjectId, );
    descriptor: (Ljava/util/Set;Lorg/eclipse/jgit/lib/AbbreviatedObjectId;I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // java.util.Set matches
        start local 2 // org.eclipse.jgit.lib.AbbreviatedObjectId id
        start local 3 // int matchLimit
         0: .line 289
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            aload 1 /* matches */
            aload 2 /* id */
            iload 3 /* matchLimit */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.resolve:(Ljava/util/Set;Lorg/eclipse/jgit/lib/AbbreviatedObjectId;I)V
         1: .line 290
            return
        end local 3 // int matchLimit
        end local 2 // org.eclipse.jgit.lib.AbbreviatedObjectId id
        end local 1 // java.util.Set matches
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    2     1     matches  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
            0    2     2          id  Lorg/eclipse/jgit/lib/AbbreviatedObjectId;
            0    2     3  matchLimit  I
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;Lorg/eclipse/jgit/lib/AbbreviatedObjectId;I)V
    MethodParameters:
            Name  Flags
      matches     
      id          
      matchLimit  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 296
            aload 0 /* this */
            invokestatic org.eclipse.jgit.internal.storage.file.WindowCache.purge:(Lorg/eclipse/jgit/internal/storage/file/PackFile;)V
         1: .line 297
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 298
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jgit.internal.storage.file.PackFile.loadedIdx:Lorg/eclipse/jgit/internal/storage/file/PackIndex;
         3: .line 299
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jgit.internal.storage.file.PackFile.reverseIdx:Lorg/eclipse/jgit/internal/storage/file/PackReverseIndex;
         4: .line 297
            aload 1
            monitorexit
         5: goto 8
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.file.PackFile
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 301
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any

  public java.util.Iterator<org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 318
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.iterator:()Ljava/util/Iterator;
         1: areturn
         2: .line 319
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         3: .line 320
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    Signature: ()Ljava/util/Iterator<Lorg/eclipse/jgit/internal/storage/file/PackIndex$MutableEntry;>;

  long getObjectCount();
    descriptor: ()J
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 333
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.getObjectCount:()J
            lreturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
    Exceptions:
      throws java.io.IOException

  org.eclipse.jgit.lib.ObjectId findObjectForOffset(long);
    descriptor: (J)Lorg/eclipse/jgit/lib/ObjectId;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // long offset
         0: .line 347
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getReverseIdx:()Lorg/eclipse/jgit/internal/storage/file/PackReverseIndex;
            lload 1 /* offset */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackReverseIndex.findObject:(J)Lorg/eclipse/jgit/lib/ObjectId;
            areturn
        end local 1 // long offset
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    1     1  offset  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      offset  

  org.eclipse.jgit.internal.storage.file.PackFileSnapshot getFileSnapshot();
    descriptor: ()Lorg/eclipse/jgit/internal/storage/file/PackFileSnapshot;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 357
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fileSnapshot:Lorg/eclipse/jgit/internal/storage/file/PackFileSnapshot;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;

  org.eclipse.jgit.lib.AnyObjectId getPackChecksum();
    descriptor: ()Lorg/eclipse/jgit/lib/AnyObjectId;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 361
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packChecksum:[B
            invokestatic org.eclipse.jgit.lib.ObjectId.fromRaw:([B)Lorg/eclipse/jgit/lib/ObjectId;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;

  private final byte[] decompress(long, int, org.eclipse.jgit.internal.storage.file.WindowCursor);
    descriptor: (JILorg/eclipse/jgit/internal/storage/file/WindowCursor;)[B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // long position
        start local 3 // int sz
        start local 4 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
         0: .line 368
            iload 3 /* sz */
            newarray 8
            astore 5 /* dstbuf */
        start local 5 // byte[] dstbuf
         1: .line 369
            goto 4
        end local 5 // byte[] dstbuf
      StackMap locals:
      StackMap stack: java.lang.OutOfMemoryError
         2: pop
         3: .line 377
            aconst_null
            areturn
        start local 5 // byte[] dstbuf
         4: .line 380
      StackMap locals: byte[]
      StackMap stack:
            aload 4 /* curs */
            aload 0 /* this */
            lload 1 /* position */
            aload 5 /* dstbuf */
            iconst_0
            invokevirtual org.eclipse.jgit.internal.storage.file.WindowCursor.inflate:(Lorg/eclipse/jgit/internal/storage/file/PackFile;J[BZ)I
            iload 3 /* sz */
            if_icmpeq 9
         5: .line 381
            new java.io.EOFException
            dup
         6: .line 382
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.shortCompressedStreamAt:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 383
            lload 1 /* position */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
         8: .line 381
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 384
      StackMap locals:
      StackMap stack:
            aload 5 /* dstbuf */
            areturn
        end local 5 // byte[] dstbuf
        end local 4 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        end local 3 // int sz
        end local 1 // long position
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0   10     1  position  J
            0   10     3        sz  I
            0   10     4      curs  Lorg/eclipse/jgit/internal/storage/file/WindowCursor;
            1    2     5    dstbuf  [B
            4   10     5    dstbuf  [B
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.OutOfMemoryError
    Exceptions:
      throws java.io.IOException, java.util.zip.DataFormatException
    MethodParameters:
          Name  Flags
      position  final
      sz        final
      curs      final

  void copyPackAsIs(org.eclipse.jgit.internal.storage.pack.PackOutputStream, org.eclipse.jgit.internal.storage.file.WindowCursor);
    descriptor: (Lorg/eclipse/jgit/internal/storage/pack/PackOutputStream;Lorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.pack.PackOutputStream out
        start local 2 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
         0: .line 390
            aload 2 /* curs */
            aload 0 /* this */
            lconst_0
            invokevirtual org.eclipse.jgit.internal.storage.file.WindowCursor.pin:(Lorg/eclipse/jgit/internal/storage/file/PackFile;J)V
         1: .line 391
            aload 2 /* curs */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.length:J
            aload 1 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.file.WindowCursor.copyPackAsIs:(Lorg/eclipse/jgit/internal/storage/file/PackFile;JLorg/eclipse/jgit/internal/storage/pack/PackOutputStream;)V
         2: .line 392
            return
        end local 2 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        end local 1 // org.eclipse.jgit.internal.storage.pack.PackOutputStream out
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    3     1   out  Lorg/eclipse/jgit/internal/storage/pack/PackOutputStream;
            0    3     2  curs  Lorg/eclipse/jgit/internal/storage/file/WindowCursor;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   
      curs  

  final void copyAsIs(org.eclipse.jgit.internal.storage.pack.PackOutputStream, org.eclipse.jgit.internal.storage.file.LocalObjectToPack, boolean, org.eclipse.jgit.internal.storage.file.WindowCursor);
    descriptor: (Lorg/eclipse/jgit/internal/storage/pack/PackOutputStream;Lorg/eclipse/jgit/internal/storage/file/LocalObjectToPack;ZLorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.pack.PackOutputStream out
        start local 2 // org.eclipse.jgit.internal.storage.file.LocalObjectToPack src
        start local 3 // boolean validate
        start local 4 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
         0: .line 397
            aload 0 /* this */
            aload 2 /* src */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.beginCopyAsIs:(Lorg/eclipse/jgit/internal/storage/pack/ObjectToPack;)V
         1: .line 399
            aload 0 /* this */
            aload 1 /* out */
            aload 2 /* src */
            iload 3 /* validate */
            aload 4 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.copyAsIs2:(Lorg/eclipse/jgit/internal/storage/pack/PackOutputStream;Lorg/eclipse/jgit/internal/storage/file/LocalObjectToPack;ZLorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
         2: .line 400
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 5
         4: .line 401
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.endCopyAsIs:()V
         5: .line 402
            aload 5
            athrow
         6: .line 401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.endCopyAsIs:()V
         7: .line 403
            return
        end local 4 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        end local 3 // boolean validate
        end local 2 // org.eclipse.jgit.internal.storage.file.LocalObjectToPack src
        end local 1 // org.eclipse.jgit.internal.storage.pack.PackOutputStream out
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    8     1       out  Lorg/eclipse/jgit/internal/storage/pack/PackOutputStream;
            0    8     2       src  Lorg/eclipse/jgit/internal/storage/file/LocalObjectToPack;
            0    8     3  validate  Z
            0    8     4      curs  Lorg/eclipse/jgit/internal/storage/file/WindowCursor;
      Exception table:
        from    to  target  type
           1     3       3  any
    Exceptions:
      throws java.io.IOException, org.eclipse.jgit.errors.StoredObjectRepresentationNotAvailableException
    MethodParameters:
          Name  Flags
      out       
      src       
      validate  
      curs      

  private void copyAsIs2(org.eclipse.jgit.internal.storage.pack.PackOutputStream, org.eclipse.jgit.internal.storage.file.LocalObjectToPack, boolean, org.eclipse.jgit.internal.storage.file.WindowCursor);
    descriptor: (Lorg/eclipse/jgit/internal/storage/pack/PackOutputStream;Lorg/eclipse/jgit/internal/storage/file/LocalObjectToPack;ZLorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=28, args_size=5
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.pack.PackOutputStream out
        start local 2 // org.eclipse.jgit.internal.storage.file.LocalObjectToPack src
        start local 3 // boolean validate
        start local 4 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
         0: .line 408
            iload 3 /* validate */
            ifeq 1
            new java.util.zip.CRC32
            dup
            invokespecial java.util.zip.CRC32.<init>:()V
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.util.zip.CRC32
         2: astore 5 /* crc1 */
        start local 5 // java.util.zip.CRC32 crc1
         3: .line 409
            iload 3 /* validate */
            ifeq 4
            new java.util.zip.CRC32
            dup
            invokespecial java.util.zip.CRC32.<init>:()V
            goto 5
      StackMap locals: java.util.zip.CRC32
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: java.util.zip.CRC32
         5: astore 6 /* crc2 */
        start local 6 // java.util.zip.CRC32 crc2
         6: .line 410
            aload 1 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackOutputStream.getCopyBuffer:()[B
            astore 7 /* buf */
        start local 7 // byte[] buf
         7: .line 414
            aload 0 /* this */
            aload 2 /* src */
            getfield org.eclipse.jgit.internal.storage.file.LocalObjectToPack.offset:J
            aload 7 /* buf */
            iconst_0
            bipush 20
            aload 4 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
         8: .line 415
            aload 7 /* buf */
            iconst_0
            baload
            sipush 255
            iand
            istore 8 /* c */
        start local 8 // int c
         9: .line 416
            iload 8 /* c */
            iconst_4
            ishr
            bipush 7
            iand
            istore 9 /* typeCode */
        start local 9 // int typeCode
        10: .line 417
            iload 8 /* c */
            bipush 15
            iand
            i2l
            lstore 10 /* inflatedLength */
        start local 10 // long inflatedLength
        11: .line 418
            iconst_4
            istore 12 /* shift */
        start local 12 // int shift
        12: .line 419
            iconst_1
            istore 13 /* headerCnt */
        start local 13 // int headerCnt
        13: .line 420
            goto 17
        14: .line 421
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.pack.PackOutputStream org.eclipse.jgit.internal.storage.file.LocalObjectToPack int org.eclipse.jgit.internal.storage.file.WindowCursor java.util.zip.CRC32 java.util.zip.CRC32 byte[] int int long int int
      StackMap stack:
            aload 7 /* buf */
            iload 13 /* headerCnt */
            iinc 13 /* headerCnt */ 1
            baload
            sipush 255
            iand
            istore 8 /* c */
        15: .line 422
            lload 10 /* inflatedLength */
            iload 8 /* c */
            bipush 127
            iand
            i2l
            iload 12 /* shift */
            lshl
            ladd
            lstore 10 /* inflatedLength */
        16: .line 423
            iinc 12 /* shift */ 7
        17: .line 420
      StackMap locals:
      StackMap stack:
            iload 8 /* c */
            sipush 128
            iand
            ifne 14
        18: .line 426
            iload 9 /* typeCode */
            bipush 6
            if_icmpne 27
        19: .line 428
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            iload 13 /* headerCnt */
            iinc 13 /* headerCnt */ 1
            baload
            sipush 255
            iand
            istore 8 /* c */
        20: .line 429
            iload 8 /* c */
            sipush 128
            iand
            ifne 19
        21: .line 430
            iload 3 /* validate */
            ifeq 46
        22: .line 431
            getstatic org.eclipse.jgit.internal.storage.file.PackFile.$assertionsDisabled:Z
            ifne 24
            aload 5 /* crc1 */
            ifnull 23
            aload 6 /* crc2 */
            ifnonnull 24
      StackMap locals:
      StackMap stack:
        23: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 432
      StackMap locals:
      StackMap stack:
            aload 5 /* crc1 */
            aload 7 /* buf */
            iconst_0
            iload 13 /* headerCnt */
            invokevirtual java.util.zip.CRC32.update:([BII)V
        25: .line 433
            aload 6 /* crc2 */
            aload 7 /* buf */
            iconst_0
            iload 13 /* headerCnt */
            invokevirtual java.util.zip.CRC32.update:([BII)V
        26: .line 435
            goto 46
      StackMap locals:
      StackMap stack:
        27: iload 9 /* typeCode */
            bipush 7
            if_icmpne 41
        28: .line 436
            iload 3 /* validate */
            ifeq 33
        29: .line 437
            getstatic org.eclipse.jgit.internal.storage.file.PackFile.$assertionsDisabled:Z
            ifne 31
            aload 5 /* crc1 */
            ifnull 30
            aload 6 /* crc2 */
            ifnonnull 31
      StackMap locals:
      StackMap stack:
        30: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        31: .line 438
      StackMap locals:
      StackMap stack:
            aload 5 /* crc1 */
            aload 7 /* buf */
            iconst_0
            iload 13 /* headerCnt */
            invokevirtual java.util.zip.CRC32.update:([BII)V
        32: .line 439
            aload 6 /* crc2 */
            aload 7 /* buf */
            iconst_0
            iload 13 /* headerCnt */
            invokevirtual java.util.zip.CRC32.update:([BII)V
        33: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* src */
            getfield org.eclipse.jgit.internal.storage.file.LocalObjectToPack.offset:J
            iload 13 /* headerCnt */
            i2l
            ladd
            aload 7 /* buf */
            iconst_0
            bipush 20
            aload 4 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
        34: .line 443
            iload 3 /* validate */
            ifeq 39
        35: .line 444
            getstatic org.eclipse.jgit.internal.storage.file.PackFile.$assertionsDisabled:Z
            ifne 37
            aload 5 /* crc1 */
            ifnull 36
            aload 6 /* crc2 */
            ifnonnull 37
      StackMap locals:
      StackMap stack:
        36: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        37: .line 445
      StackMap locals:
      StackMap stack:
            aload 5 /* crc1 */
            aload 7 /* buf */
            iconst_0
            bipush 20
            invokevirtual java.util.zip.CRC32.update:([BII)V
        38: .line 446
            aload 6 /* crc2 */
            aload 7 /* buf */
            iconst_0
            bipush 20
            invokevirtual java.util.zip.CRC32.update:([BII)V
        39: .line 448
      StackMap locals:
      StackMap stack:
            iinc 13 /* headerCnt */ 20
        40: .line 449
            goto 46
      StackMap locals:
      StackMap stack:
        41: iload 3 /* validate */
            ifeq 46
        42: .line 450
            getstatic org.eclipse.jgit.internal.storage.file.PackFile.$assertionsDisabled:Z
            ifne 44
            aload 5 /* crc1 */
            ifnull 43
            aload 6 /* crc2 */
            ifnonnull 44
      StackMap locals:
      StackMap stack:
        43: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        44: .line 451
      StackMap locals:
      StackMap stack:
            aload 5 /* crc1 */
            aload 7 /* buf */
            iconst_0
            iload 13 /* headerCnt */
            invokevirtual java.util.zip.CRC32.update:([BII)V
        45: .line 452
            aload 6 /* crc2 */
            aload 7 /* buf */
            iconst_0
            iload 13 /* headerCnt */
            invokevirtual java.util.zip.CRC32.update:([BII)V
        46: .line 455
      StackMap locals:
      StackMap stack:
            aload 2 /* src */
            getfield org.eclipse.jgit.internal.storage.file.LocalObjectToPack.offset:J
            iload 13 /* headerCnt */
            i2l
            ladd
            lstore 14 /* dataOffset */
        start local 14 // long dataOffset
        47: .line 456
            aload 2 /* src */
            getfield org.eclipse.jgit.internal.storage.file.LocalObjectToPack.length:J
            lstore 16 /* dataLength */
        start local 16 // long dataLength
        48: .line 464
            aload 4 /* curs */
            aload 0 /* this */
            lload 14 /* dataOffset */
            lload 16 /* dataLength */
            invokevirtual org.eclipse.jgit.internal.storage.file.WindowCursor.quickCopy:(Lorg/eclipse/jgit/internal/storage/file/PackFile;JJ)Lorg/eclipse/jgit/internal/storage/file/ByteArrayWindow;
            astore 20 /* quickCopy */
        start local 20 // org.eclipse.jgit.internal.storage.file.ByteArrayWindow quickCopy
        49: .line 466
            iload 3 /* validate */
            ifeq 70
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.hasCRC32Support:()Z
            ifeq 70
        50: .line 467
            getstatic org.eclipse.jgit.internal.storage.file.PackFile.$assertionsDisabled:Z
            ifne 51
            aload 5 /* crc1 */
            ifnonnull 51
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        51: .line 470
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.pack.PackOutputStream org.eclipse.jgit.internal.storage.file.LocalObjectToPack int org.eclipse.jgit.internal.storage.file.WindowCursor java.util.zip.CRC32 java.util.zip.CRC32 byte[] int int long int int long long top top org.eclipse.jgit.internal.storage.file.ByteArrayWindow
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            aload 2 /* src */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.findCRC32:(Lorg/eclipse/jgit/lib/AnyObjectId;)J
            lstore 18 /* expectedCRC */
        start local 18 // long expectedCRC
        52: .line 471
            aload 20 /* quickCopy */
            ifnull 55
        53: .line 472
            aload 20 /* quickCopy */
            aload 5 /* crc1 */
            lload 14 /* dataOffset */
            lload 16 /* dataLength */
            l2i
            invokevirtual org.eclipse.jgit.internal.storage.file.ByteArrayWindow.crc32:(Ljava/util/zip/CRC32;JI)V
        54: .line 473
            goto 64
        55: .line 474
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.pack.PackOutputStream org.eclipse.jgit.internal.storage.file.LocalObjectToPack int org.eclipse.jgit.internal.storage.file.WindowCursor java.util.zip.CRC32 java.util.zip.CRC32 byte[] int int long int int long long long org.eclipse.jgit.internal.storage.file.ByteArrayWindow
      StackMap stack:
            lload 14 /* dataOffset */
            lstore 21 /* pos */
        start local 21 // long pos
        56: .line 475
            lload 16 /* dataLength */
            lstore 23 /* cnt */
        start local 23 // long cnt
        57: .line 476
            goto 63
        58: .line 477
      StackMap locals: long long
      StackMap stack:
            lload 23 /* cnt */
            aload 7 /* buf */
            arraylength
            i2l
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            istore 25 /* n */
        start local 25 // int n
        59: .line 478
            aload 0 /* this */
            lload 21 /* pos */
            aload 7 /* buf */
            iconst_0
            iload 25 /* n */
            aload 4 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
        60: .line 479
            aload 5 /* crc1 */
            aload 7 /* buf */
            iconst_0
            iload 25 /* n */
            invokevirtual java.util.zip.CRC32.update:([BII)V
        61: .line 480
            lload 21 /* pos */
            iload 25 /* n */
            i2l
            ladd
            lstore 21 /* pos */
        62: .line 481
            lload 23 /* cnt */
            iload 25 /* n */
            i2l
            lsub
            lstore 23 /* cnt */
        end local 25 // int n
        63: .line 476
      StackMap locals:
      StackMap stack:
            lload 23 /* cnt */
            lconst_0
            lcmp
            ifgt 58
        end local 23 // long cnt
        end local 21 // long pos
        64: .line 484
      StackMap locals:
      StackMap stack:
            aload 5 /* crc1 */
            invokevirtual java.util.zip.CRC32.getValue:()J
            lload 18 /* expectedCRC */
            lcmp
            ifeq 114
        65: .line 485
            aload 0 /* this */
            aload 2 /* src */
            getfield org.eclipse.jgit.internal.storage.file.LocalObjectToPack.offset:J
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.setCorrupt:(J)V
        66: .line 486
            new org.eclipse.jgit.errors.CorruptObjectException
            dup
        67: .line 487
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.objectAtHasBadZlibStream:Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        68: .line 488
            aload 2 /* src */
            getfield org.eclipse.jgit.internal.storage.file.LocalObjectToPack.offset:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackFile:()Ljava/io/File;
            aastore
        69: .line 486
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.eclipse.jgit.errors.CorruptObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 18 // long expectedCRC
        70: .line 490
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.pack.PackOutputStream org.eclipse.jgit.internal.storage.file.LocalObjectToPack int org.eclipse.jgit.internal.storage.file.WindowCursor java.util.zip.CRC32 java.util.zip.CRC32 byte[] int int long int int long long top top org.eclipse.jgit.internal.storage.file.ByteArrayWindow
      StackMap stack:
            iload 3 /* validate */
            ifeq 97
        71: .line 495
            aload 4 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.WindowCursor.inflater:()Ljava/util/zip/Inflater;
            astore 21 /* inf */
        start local 21 // java.util.zip.Inflater inf
        72: .line 496
            sipush 1024
            newarray 8
            astore 22 /* tmp */
        start local 22 // byte[] tmp
        73: .line 497
            aload 20 /* quickCopy */
            ifnull 76
        74: .line 498
            aload 20 /* quickCopy */
            aload 21 /* inf */
            aload 22 /* tmp */
            lload 14 /* dataOffset */
            lload 16 /* dataLength */
            l2i
            invokevirtual org.eclipse.jgit.internal.storage.file.ByteArrayWindow.check:(Ljava/util/zip/Inflater;[BJI)V
        75: .line 499
            goto 88
        76: .line 500
      StackMap locals: java.util.zip.Inflater byte[]
      StackMap stack:
            getstatic org.eclipse.jgit.internal.storage.file.PackFile.$assertionsDisabled:Z
            ifne 77
            aload 5 /* crc1 */
            ifnonnull 77
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        77: .line 501
      StackMap locals:
      StackMap stack:
            lload 14 /* dataOffset */
            lstore 23 /* pos */
        start local 23 // long pos
        78: .line 502
            lload 16 /* dataLength */
            lstore 25 /* cnt */
        start local 25 // long cnt
        79: .line 503
            goto 87
        80: .line 504
      StackMap locals: long long
      StackMap stack:
            lload 25 /* cnt */
            aload 7 /* buf */
            arraylength
            i2l
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            istore 27 /* n */
        start local 27 // int n
        81: .line 505
            aload 0 /* this */
            lload 23 /* pos */
            aload 7 /* buf */
            iconst_0
            iload 27 /* n */
            aload 4 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
        82: .line 506
            aload 5 /* crc1 */
            aload 7 /* buf */
            iconst_0
            iload 27 /* n */
            invokevirtual java.util.zip.CRC32.update:([BII)V
        83: .line 507
            aload 21 /* inf */
            aload 7 /* buf */
            iconst_0
            iload 27 /* n */
            invokevirtual java.util.zip.Inflater.setInput:([BII)V
        84: .line 508
      StackMap locals: int
      StackMap stack:
            aload 21 /* inf */
            aload 22 /* tmp */
            iconst_0
            aload 22 /* tmp */
            arraylength
            invokevirtual java.util.zip.Inflater.inflate:([BII)I
            ifgt 84
        85: .line 510
            lload 23 /* pos */
            iload 27 /* n */
            i2l
            ladd
            lstore 23 /* pos */
        86: .line 511
            lload 25 /* cnt */
            iload 27 /* n */
            i2l
            lsub
            lstore 25 /* cnt */
        end local 27 // int n
        87: .line 503
      StackMap locals:
      StackMap stack:
            lload 25 /* cnt */
            lconst_0
            lcmp
            ifgt 80
        end local 25 // long cnt
        end local 23 // long pos
        88: .line 514
      StackMap locals:
      StackMap stack:
            aload 21 /* inf */
            invokevirtual java.util.zip.Inflater.finished:()Z
            ifeq 89
            aload 21 /* inf */
            invokevirtual java.util.zip.Inflater.getBytesRead:()J
            lload 16 /* dataLength */
            lcmp
            ifeq 94
        89: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* src */
            getfield org.eclipse.jgit.internal.storage.file.LocalObjectToPack.offset:J
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.setCorrupt:(J)V
        90: .line 516
            new java.io.EOFException
            dup
        91: .line 517
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.shortCompressedStreamAt:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        92: .line 518
            aload 2 /* src */
            getfield org.eclipse.jgit.internal.storage.file.LocalObjectToPack.offset:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
        93: .line 516
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
            athrow
        94: .line 520
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jgit.internal.storage.file.PackFile.$assertionsDisabled:Z
            ifne 95
            aload 5 /* crc1 */
            ifnonnull 95
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        95: .line 521
      StackMap locals:
      StackMap stack:
            aload 5 /* crc1 */
            invokevirtual java.util.zip.CRC32.getValue:()J
            lstore 18 /* expectedCRC */
        end local 22 // byte[] tmp
        end local 21 // java.util.zip.Inflater inf
        start local 18 // long expectedCRC
        96: .line 522
            goto 114
        end local 18 // long expectedCRC
        97: .line 523
      StackMap locals:
      StackMap stack:
            ldc -1
            lstore 18 /* expectedCRC */
        start local 18 // long expectedCRC
        98: .line 525
            goto 114
        end local 20 // org.eclipse.jgit.internal.storage.file.ByteArrayWindow quickCopy
        end local 18 // long expectedCRC
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.pack.PackOutputStream org.eclipse.jgit.internal.storage.file.LocalObjectToPack int org.eclipse.jgit.internal.storage.file.WindowCursor java.util.zip.CRC32 java.util.zip.CRC32 byte[] int int long int int long long
      StackMap stack: java.util.zip.DataFormatException
        99: astore 21 /* dataFormat */
        start local 21 // java.util.zip.DataFormatException dataFormat
       100: .line 526
            aload 0 /* this */
            aload 2 /* src */
            getfield org.eclipse.jgit.internal.storage.file.LocalObjectToPack.offset:J
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.setCorrupt:(J)V
       101: .line 528
            new org.eclipse.jgit.errors.CorruptObjectException
            dup
       102: .line 530
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.objectAtHasBadZlibStream:Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       103: .line 531
            aload 2 /* src */
            getfield org.eclipse.jgit.internal.storage.file.LocalObjectToPack.offset:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackFile:()Ljava/io/File;
            aastore
       104: .line 529
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
       105: .line 532
            aload 21 /* dataFormat */
       106: .line 528
            invokespecial org.eclipse.jgit.errors.CorruptObjectException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 22 /* corruptObject */
        start local 22 // org.eclipse.jgit.errors.CorruptObjectException corruptObject
       107: .line 534
            new org.eclipse.jgit.errors.StoredObjectRepresentationNotAvailableException
            dup
            aload 2 /* src */
       108: .line 535
            aload 22 /* corruptObject */
       109: .line 534
            invokespecial org.eclipse.jgit.errors.StoredObjectRepresentationNotAvailableException.<init>:(Lorg/eclipse/jgit/internal/storage/pack/ObjectToPack;Ljava/lang/Throwable;)V
            athrow
        end local 22 // org.eclipse.jgit.errors.CorruptObjectException corruptObject
        end local 21 // java.util.zip.DataFormatException dataFormat
       110: .line 537
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 21 /* ioError */
        start local 21 // java.io.IOException ioError
       111: .line 538
            new org.eclipse.jgit.errors.StoredObjectRepresentationNotAvailableException
            dup
            aload 2 /* src */
       112: .line 539
            aload 21 /* ioError */
       113: .line 538
            invokespecial org.eclipse.jgit.errors.StoredObjectRepresentationNotAvailableException.<init>:(Lorg/eclipse/jgit/internal/storage/pack/ObjectToPack;Ljava/lang/Throwable;)V
            athrow
        end local 21 // java.io.IOException ioError
        start local 18 // long expectedCRC
        start local 20 // org.eclipse.jgit.internal.storage.file.ByteArrayWindow quickCopy
       114: .line 542
      StackMap locals: long org.eclipse.jgit.internal.storage.file.ByteArrayWindow
      StackMap stack:
            aload 20 /* quickCopy */
            ifnull 118
       115: .line 546
            aload 1 /* out */
            aload 2 /* src */
            lload 10 /* inflatedLength */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackOutputStream.writeHeader:(Lorg/eclipse/jgit/internal/storage/pack/ObjectToPack;J)V
       116: .line 547
            aload 20 /* quickCopy */
            aload 1 /* out */
            lload 14 /* dataOffset */
            lload 16 /* dataLength */
            l2i
            invokevirtual org.eclipse.jgit.internal.storage.file.ByteArrayWindow.write:(Lorg/eclipse/jgit/internal/storage/pack/PackOutputStream;JI)V
       117: .line 549
            goto 151
      StackMap locals:
      StackMap stack:
       118: lload 16 /* dataLength */
            aload 7 /* buf */
            arraylength
            i2l
            lcmp
            ifgt 131
       119: .line 553
            iload 3 /* validate */
            ifne 128
       120: .line 554
            lload 14 /* dataOffset */
            lstore 21 /* pos */
        start local 21 // long pos
       121: .line 555
            lload 16 /* dataLength */
            lstore 23 /* cnt */
        start local 23 // long cnt
       122: .line 556
            goto 127
       123: .line 557
      StackMap locals: long long
      StackMap stack:
            lload 23 /* cnt */
            aload 7 /* buf */
            arraylength
            i2l
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            istore 25 /* n */
        start local 25 // int n
       124: .line 558
            aload 0 /* this */
            lload 21 /* pos */
            aload 7 /* buf */
            iconst_0
            iload 25 /* n */
            aload 4 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
       125: .line 559
            lload 21 /* pos */
            iload 25 /* n */
            i2l
            ladd
            lstore 21 /* pos */
       126: .line 560
            lload 23 /* cnt */
            iload 25 /* n */
            i2l
            lsub
            lstore 23 /* cnt */
        end local 25 // int n
       127: .line 556
      StackMap locals:
      StackMap stack:
            lload 23 /* cnt */
            lconst_0
            lcmp
            ifgt 123
        end local 23 // long cnt
        end local 21 // long pos
       128: .line 563
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            aload 2 /* src */
            lload 10 /* inflatedLength */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackOutputStream.writeHeader:(Lorg/eclipse/jgit/internal/storage/pack/ObjectToPack;J)V
       129: .line 564
            aload 1 /* out */
            aload 7 /* buf */
            iconst_0
            lload 16 /* dataLength */
            l2i
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackOutputStream.write:([BII)V
       130: .line 565
            goto 151
       131: .line 570
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            aload 2 /* src */
            lload 10 /* inflatedLength */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackOutputStream.writeHeader:(Lorg/eclipse/jgit/internal/storage/pack/ObjectToPack;J)V
       132: .line 571
            lload 14 /* dataOffset */
            lstore 21 /* pos */
        start local 21 // long pos
       133: .line 572
            lload 16 /* dataLength */
            lstore 23 /* cnt */
        start local 23 // long cnt
       134: .line 573
            goto 143
       135: .line 574
      StackMap locals: long long
      StackMap stack:
            lload 23 /* cnt */
            aload 7 /* buf */
            arraylength
            i2l
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            istore 25 /* n */
        start local 25 // int n
       136: .line 575
            aload 0 /* this */
            lload 21 /* pos */
            aload 7 /* buf */
            iconst_0
            iload 25 /* n */
            aload 4 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
       137: .line 576
            iload 3 /* validate */
            ifeq 140
       138: .line 577
            getstatic org.eclipse.jgit.internal.storage.file.PackFile.$assertionsDisabled:Z
            ifne 139
            aload 6 /* crc2 */
            ifnonnull 139
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       139: .line 578
      StackMap locals: int
      StackMap stack:
            aload 6 /* crc2 */
            aload 7 /* buf */
            iconst_0
            iload 25 /* n */
            invokevirtual java.util.zip.CRC32.update:([BII)V
       140: .line 580
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            aload 7 /* buf */
            iconst_0
            iload 25 /* n */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackOutputStream.write:([BII)V
       141: .line 581
            lload 21 /* pos */
            iload 25 /* n */
            i2l
            ladd
            lstore 21 /* pos */
       142: .line 582
            lload 23 /* cnt */
            iload 25 /* n */
            i2l
            lsub
            lstore 23 /* cnt */
        end local 25 // int n
       143: .line 573
      StackMap locals:
      StackMap stack:
            lload 23 /* cnt */
            lconst_0
            lcmp
            ifgt 135
       144: .line 584
            iload 3 /* validate */
            ifeq 151
       145: .line 585
            getstatic org.eclipse.jgit.internal.storage.file.PackFile.$assertionsDisabled:Z
            ifne 146
            aload 6 /* crc2 */
            ifnonnull 146
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       146: .line 586
      StackMap locals:
      StackMap stack:
            aload 6 /* crc2 */
            invokevirtual java.util.zip.CRC32.getValue:()J
            lload 18 /* expectedCRC */
            lcmp
            ifeq 151
       147: .line 587
            new org.eclipse.jgit.errors.CorruptObjectException
            dup
       148: .line 588
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.objectAtHasBadZlibStream:Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       149: .line 589
            aload 2 /* src */
            getfield org.eclipse.jgit.internal.storage.file.LocalObjectToPack.offset:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackFile:()Ljava/io/File;
            aastore
       150: .line 587
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.eclipse.jgit.errors.CorruptObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 23 // long cnt
        end local 21 // long pos
       151: .line 593
      StackMap locals:
      StackMap stack:
            return
        end local 20 // org.eclipse.jgit.internal.storage.file.ByteArrayWindow quickCopy
        end local 18 // long expectedCRC
        end local 16 // long dataLength
        end local 14 // long dataOffset
        end local 13 // int headerCnt
        end local 12 // int shift
        end local 10 // long inflatedLength
        end local 9 // int typeCode
        end local 8 // int c
        end local 7 // byte[] buf
        end local 6 // java.util.zip.CRC32 crc2
        end local 5 // java.util.zip.CRC32 crc1
        end local 4 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        end local 3 // boolean validate
        end local 2 // org.eclipse.jgit.internal.storage.file.LocalObjectToPack src
        end local 1 // org.eclipse.jgit.internal.storage.pack.PackOutputStream out
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  152     0            this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0  152     1             out  Lorg/eclipse/jgit/internal/storage/pack/PackOutputStream;
            0  152     2             src  Lorg/eclipse/jgit/internal/storage/file/LocalObjectToPack;
            0  152     3        validate  Z
            0  152     4            curs  Lorg/eclipse/jgit/internal/storage/file/WindowCursor;
            3  152     5            crc1  Ljava/util/zip/CRC32;
            6  152     6            crc2  Ljava/util/zip/CRC32;
            7  152     7             buf  [B
            9  152     8               c  I
           10  152     9        typeCode  I
           11  152    10  inflatedLength  J
           12  152    12           shift  I
           13  152    13       headerCnt  I
           47  152    14      dataOffset  J
           48  152    16      dataLength  J
           52   70    18     expectedCRC  J
           96   97    18     expectedCRC  J
           98   99    18     expectedCRC  J
          114  152    18     expectedCRC  J
           49   99    20       quickCopy  Lorg/eclipse/jgit/internal/storage/file/ByteArrayWindow;
          114  152    20       quickCopy  Lorg/eclipse/jgit/internal/storage/file/ByteArrayWindow;
           56   64    21             pos  J
           57   64    23             cnt  J
           59   63    25               n  I
           72   96    21             inf  Ljava/util/zip/Inflater;
           73   96    22             tmp  [B
           78   88    23             pos  J
           79   88    25             cnt  J
           81   87    27               n  I
          100  110    21      dataFormat  Ljava/util/zip/DataFormatException;
          107  110    22   corruptObject  Lorg/eclipse/jgit/errors/CorruptObjectException;
          111  114    21         ioError  Ljava/io/IOException;
          121  128    21             pos  J
          122  128    23             cnt  J
          124  127    25               n  I
          133  151    21             pos  J
          134  151    23             cnt  J
          136  143    25               n  I
      Exception table:
        from    to  target  type
          48    98      99  Class java.util.zip.DataFormatException
          48    98     110  Class java.io.IOException
    Exceptions:
      throws java.io.IOException, org.eclipse.jgit.errors.StoredObjectRepresentationNotAvailableException
    MethodParameters:
          Name  Flags
      out       
      src       
      validate  
      curs      

  boolean invalid();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 596
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.invalid:Z
            ireturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;

  void setInvalid();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 600
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jgit.internal.storage.file.PackFile.invalid:Z
         1: .line 601
            return
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;

  int incrementTransientErrorCount();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 604
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.transientErrorCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            ireturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;

  void resetTransientErrorCount();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 608
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.transientErrorCount:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
         1: .line 609
            return
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;

  private void readFully(long, byte[], int, int, org.eclipse.jgit.internal.storage.file.WindowCursor);
    descriptor: (J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // long position
        start local 3 // byte[] dstbuf
        start local 4 // int dstoff
        start local 5 // int cnt
        start local 6 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
         0: .line 614
            aload 6 /* curs */
            aload 0 /* this */
            lload 1 /* position */
            aload 3 /* dstbuf */
            iload 4 /* dstoff */
            iload 5 /* cnt */
            invokevirtual org.eclipse.jgit.internal.storage.file.WindowCursor.copy:(Lorg/eclipse/jgit/internal/storage/file/PackFile;J[BII)I
            iload 5 /* cnt */
            if_icmpeq 2
         1: .line 615
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
         2: .line 616
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        end local 5 // int cnt
        end local 4 // int dstoff
        end local 3 // byte[] dstbuf
        end local 1 // long position
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    3     1  position  J
            0    3     3    dstbuf  [B
            0    3     4    dstoff  I
            0    3     5       cnt  I
            0    3     6      curs  Lorg/eclipse/jgit/internal/storage/file/WindowCursor;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      position  final
      dstbuf    final
      dstoff    
      cnt       final
      curs      final

  private synchronized void beginCopyAsIs(org.eclipse.jgit.internal.storage.pack.ObjectToPack);
    descriptor: (Lorg/eclipse/jgit/internal/storage/pack/ObjectToPack;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.pack.ObjectToPack otp
         0: .line 620
            aload 0 /* this */
            dup
            getfield org.eclipse.jgit.internal.storage.file.PackFile.activeCopyRawData:I
            iconst_1
            iadd
            dup_x1
            putfield org.eclipse.jgit.internal.storage.file.PackFile.activeCopyRawData:I
            iconst_1
            if_icmpne 7
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.activeWindows:I
            ifne 7
         1: .line 622
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.doOpen:()V
         2: .line 623
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 2 /* thisPackNotValid */
        start local 2 // java.io.IOException thisPackNotValid
         4: .line 624
            new org.eclipse.jgit.errors.StoredObjectRepresentationNotAvailableException
            dup
            aload 1 /* otp */
         5: .line 625
            aload 2 /* thisPackNotValid */
         6: .line 624
            invokespecial org.eclipse.jgit.errors.StoredObjectRepresentationNotAvailableException.<init>:(Lorg/eclipse/jgit/internal/storage/pack/ObjectToPack;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException thisPackNotValid
         7: .line 628
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jgit.internal.storage.pack.ObjectToPack otp
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    8     1               otp  Lorg/eclipse/jgit/internal/storage/pack/ObjectToPack;
            4    7     2  thisPackNotValid  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
    Exceptions:
      throws org.eclipse.jgit.errors.StoredObjectRepresentationNotAvailableException
    MethodParameters:
      Name  Flags
      otp   

  private synchronized void endCopyAsIs();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 631
            aload 0 /* this */
            dup
            getfield org.eclipse.jgit.internal.storage.file.PackFile.activeCopyRawData:I
            iconst_1
            isub
            dup_x1
            putfield org.eclipse.jgit.internal.storage.file.PackFile.activeCopyRawData:I
            ifne 2
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.activeWindows:I
            ifne 2
         1: .line 632
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.doClose:()V
         2: .line 633
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;

  synchronized boolean beginWindowCache();
    descriptor: ()Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 636
            aload 0 /* this */
            dup
            getfield org.eclipse.jgit.internal.storage.file.PackFile.activeWindows:I
            iconst_1
            iadd
            dup_x1
            putfield org.eclipse.jgit.internal.storage.file.PackFile.activeWindows:I
            iconst_1
            if_icmpne 4
         1: .line 637
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.activeCopyRawData:I
            ifne 3
         2: .line 638
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.doOpen:()V
         3: .line 639
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 641
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
    Exceptions:
      throws java.io.IOException

  synchronized boolean endWindowCache();
    descriptor: ()Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 645
            aload 0 /* this */
            dup
            getfield org.eclipse.jgit.internal.storage.file.PackFile.activeWindows:I
            iconst_1
            isub
            dup_x1
            putfield org.eclipse.jgit.internal.storage.file.PackFile.activeWindows:I
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* r */
        start local 1 // boolean r
         3: .line 646
            iload 1 /* r */
            ifeq 5
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.activeCopyRawData:I
            ifne 5
         4: .line 647
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.doClose:()V
         5: .line 648
      StackMap locals: int
      StackMap stack:
            iload 1 /* r */
            ireturn
        end local 1 // boolean r
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            3    6     1     r  Z

  private void doOpen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 652
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.invalid:Z
            ifeq 3
         1: .line 653
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.invalidatingCause:Ljava/lang/Exception;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.openFail:(ZLjava/lang/Exception;)V
         2: .line 654
            new org.eclipse.jgit.errors.PackInvalidException
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packFile:Ljava/io/File;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.invalidatingCause:Ljava/lang/Exception;
            invokespecial org.eclipse.jgit.errors.PackInvalidException.<init>:(Ljava/io/File;Ljava/lang/Throwable;)V
            athrow
         3: .line 657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.readLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         4: .line 658
            aload 0 /* this */
            new java.io.RandomAccessFile
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packFile:Ljava/io/File;
            ldc "r"
            invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
         5: .line 659
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
            invokevirtual java.io.RandomAccessFile.length:()J
            putfield org.eclipse.jgit.internal.storage.file.PackFile.length:J
         6: .line 660
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.onOpenPack:()V
         7: .line 657
            aload 1
            monitorexit
         8: goto 25
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile java.lang.Object
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 662
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile
      StackMap stack: java.io.InterruptedIOException
            astore 1 /* e */
        start local 1 // java.io.InterruptedIOException e
        12: .line 664
            aload 0 /* this */
            iconst_0
            aload 1 /* e */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.openFail:(ZLjava/lang/Exception;)V
        13: .line 665
            aload 1 /* e */
            athrow
        end local 1 // java.io.InterruptedIOException e
        14: .line 666
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            astore 1 /* fn */
        start local 1 // java.io.FileNotFoundException fn
        15: .line 670
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packFile:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifeq 16
            iconst_0
            goto 17
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile java.io.FileNotFoundException
      StackMap stack: org.eclipse.jgit.internal.storage.file.PackFile
        16: iconst_1
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile java.io.FileNotFoundException
      StackMap stack: org.eclipse.jgit.internal.storage.file.PackFile int
        17: aload 1 /* fn */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.openFail:(ZLjava/lang/Exception;)V
        18: .line 671
            aload 1 /* fn */
            athrow
        end local 1 // java.io.FileNotFoundException fn
        19: .line 676
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile
      StackMap stack: java.io.IOException
            astore 1 /* pe */
        start local 1 // java.io.IOException pe
        20: .line 678
            aload 0 /* this */
            iconst_1
            aload 1 /* pe */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.openFail:(ZLjava/lang/Exception;)V
        21: .line 679
            aload 1 /* pe */
            athrow
        end local 1 // java.io.IOException pe
        22: .line 680
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* ge */
        start local 1 // java.lang.Exception ge
        23: .line 683
            aload 0 /* this */
            iconst_0
            aload 1 /* ge */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.openFail:(ZLjava/lang/Exception;)V
        24: .line 684
            aload 1 /* ge */
            athrow
        end local 1 // java.lang.Exception ge
        25: .line 686
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
           12   14     1     e  Ljava/io/InterruptedIOException;
           15   19     1    fn  Ljava/io/FileNotFoundException;
           20   22     1    pe  Ljava/io/IOException;
           23   25     1    ge  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     8       9  any
           9    10       9  any
           3    11      11  Class java.io.InterruptedIOException
           3    11      14  Class java.io.FileNotFoundException
           3    11      19  Class java.io.EOFException
           3    11      19  Class java.nio.file.AccessDeniedException
           3    11      19  Class java.nio.file.NoSuchFileException
           3    11      19  Class org.eclipse.jgit.errors.CorruptObjectException
           3    11      19  Class org.eclipse.jgit.errors.NoPackSignatureException
           3    11      19  Class org.eclipse.jgit.errors.PackMismatchException
           3    11      19  Class org.eclipse.jgit.errors.UnpackException
           3    11      19  Class org.eclipse.jgit.errors.UnsupportedPackIndexVersionException
           3    11      19  Class org.eclipse.jgit.errors.UnsupportedPackVersionException
           3    11      22  Class java.io.IOException
           3    11      22  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.IOException

  private void openFail(boolean, java.lang.Exception);
    descriptor: (ZLjava/lang/Exception;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // boolean invalidate
        start local 2 // java.lang.Exception cause
         0: .line 689
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jgit.internal.storage.file.PackFile.activeWindows:I
         1: .line 690
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jgit.internal.storage.file.PackFile.activeCopyRawData:I
         2: .line 691
            aload 0 /* this */
            iload 1 /* invalidate */
            putfield org.eclipse.jgit.internal.storage.file.PackFile.invalid:Z
         3: .line 692
            aload 0 /* this */
            aload 2 /* cause */
            putfield org.eclipse.jgit.internal.storage.file.PackFile.invalidatingCause:Ljava/lang/Exception;
         4: .line 693
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.doClose:()V
         5: .line 694
            return
        end local 2 // java.lang.Exception cause
        end local 1 // boolean invalidate
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    6     1  invalidate  Z
            0    6     2       cause  Ljava/lang/Exception;
    MethodParameters:
            Name  Flags
      invalidate  
      cause       

  private void doClose();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 697
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.readLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 698
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
            ifnull 6
         2: .line 700
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
            invokevirtual java.io.RandomAccessFile.close:()V
         3: .line 701
            goto 5
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile java.lang.Object
      StackMap stack: java.io.IOException
         4: pop
         5: .line 706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
         6: .line 697
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 1
            monitorexit
         9: athrow
        10: .line 709
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
           1     7       8  any
           8     9       8  any

  org.eclipse.jgit.internal.storage.file.ByteArrayWindow read(long, int);
    descriptor: (JI)Lorg/eclipse/jgit/internal/storage/file/ByteArrayWindow;
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // long pos
        start local 3 // int size
         0: .line 712
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.readLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         1: .line 713
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.invalid:Z
            ifne 2
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
            ifnonnull 3
         2: .line 719
      StackMap locals: java.lang.Object
      StackMap stack:
            new org.eclipse.jgit.errors.PackInvalidException
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packFile:Ljava/io/File;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.invalidatingCause:Ljava/lang/Exception;
            invokespecial org.eclipse.jgit.errors.PackInvalidException.<init>:(Ljava/io/File;Ljava/lang/Throwable;)V
            athrow
         3: .line 721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.length:J
            lload 1 /* pos */
            iload 3 /* size */
            i2l
            ladd
            lcmp
            ifge 5
         4: .line 722
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.length:J
            lload 1 /* pos */
            lsub
            l2i
            istore 3 /* size */
         5: .line 723
      StackMap locals:
      StackMap stack:
            iload 3 /* size */
            newarray 8
            astore 5 /* buf */
        start local 5 // byte[] buf
         6: .line 724
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
            lload 1 /* pos */
            invokevirtual java.io.RandomAccessFile.seek:(J)V
         7: .line 725
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
            aload 5 /* buf */
            iconst_0
            iload 3 /* size */
            invokevirtual java.io.RandomAccessFile.readFully:([BII)V
         8: .line 726
            new org.eclipse.jgit.internal.storage.file.ByteArrayWindow
            dup
            aload 0 /* this */
            lload 1 /* pos */
            aload 5 /* buf */
            invokespecial org.eclipse.jgit.internal.storage.file.ByteArrayWindow.<init>:(Lorg/eclipse/jgit/internal/storage/file/PackFile;J[B)V
            aload 4
            monitorexit
         9: areturn
        end local 5 // byte[] buf
        10: .line 712
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        11: athrow
        end local 3 // int size
        end local 1 // long pos
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0   12     1   pos  J
            0   12     3  size  I
            6   10     5   buf  [B
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      pos   
      size  

  org.eclipse.jgit.internal.storage.file.ByteWindow mmap(long, int);
    descriptor: (JI)Lorg/eclipse/jgit/internal/storage/file/ByteWindow;
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // long pos
        start local 3 // int size
         0: .line 731
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.readLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         1: .line 732
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.length:J
            lload 1 /* pos */
            iload 3 /* size */
            i2l
            ladd
            lcmp
            ifge 3
         2: .line 733
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.length:J
            lload 1 /* pos */
            lsub
            l2i
            istore 3 /* size */
         3: .line 737
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
            invokevirtual java.io.RandomAccessFile.getChannel:()Ljava/nio/channels/FileChannel;
            getstatic java.nio.channels.FileChannel$MapMode.READ_ONLY:Ljava/nio/channels/FileChannel$MapMode;
            lload 1 /* pos */
            iload 3 /* size */
            i2l
            invokevirtual java.nio.channels.FileChannel.map:(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
            astore 5 /* map */
        start local 5 // java.nio.MappedByteBuffer map
         4: .line 738
            goto 9
        end local 5 // java.nio.MappedByteBuffer map
      StackMap locals:
      StackMap stack: java.io.IOException
         5: pop
         6: .line 743
            invokestatic java.lang.System.gc:()V
         7: .line 744
            invokestatic java.lang.System.runFinalization:()V
         8: .line 745
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
            invokevirtual java.io.RandomAccessFile.getChannel:()Ljava/nio/channels/FileChannel;
            getstatic java.nio.channels.FileChannel$MapMode.READ_ONLY:Ljava/nio/channels/FileChannel$MapMode;
            lload 1 /* pos */
            iload 3 /* size */
            i2l
            invokevirtual java.nio.channels.FileChannel.map:(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
            astore 5 /* map */
        start local 5 // java.nio.MappedByteBuffer map
         9: .line 748
      StackMap locals: java.nio.MappedByteBuffer
      StackMap stack:
            aload 5 /* map */
            invokevirtual java.nio.MappedByteBuffer.hasArray:()Z
            ifeq 12
        10: .line 749
            new org.eclipse.jgit.internal.storage.file.ByteArrayWindow
            dup
            aload 0 /* this */
            lload 1 /* pos */
            aload 5 /* map */
            invokevirtual java.nio.MappedByteBuffer.array:()[B
            invokespecial org.eclipse.jgit.internal.storage.file.ByteArrayWindow.<init>:(Lorg/eclipse/jgit/internal/storage/file/PackFile;J[B)V
            aload 4
            monitorexit
        11: areturn
        12: .line 750
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.internal.storage.file.ByteBufferWindow
            dup
            aload 0 /* this */
            lload 1 /* pos */
            aload 5 /* map */
            invokespecial org.eclipse.jgit.internal.storage.file.ByteBufferWindow.<init>:(Lorg/eclipse/jgit/internal/storage/file/PackFile;JLjava/nio/ByteBuffer;)V
            aload 4
            monitorexit
        13: areturn
        end local 5 // java.nio.MappedByteBuffer map
        14: .line 731
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile long int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        15: athrow
        end local 3 // int size
        end local 1 // long pos
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0   16     1   pos  J
            0   16     3  size  I
            4    5     5   map  Ljava/nio/MappedByteBuffer;
            9   14     5   map  Ljava/nio/MappedByteBuffer;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
           1    11      14  any
          12    13      14  any
          14    15      14  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      pos   
      size  

  private void onOpenPack();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 755
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            astore 1 /* idx */
        start local 1 // org.eclipse.jgit.internal.storage.file.PackIndex idx
         1: .line 756
            bipush 20
            newarray 8
            astore 2 /* buf */
        start local 2 // byte[] buf
         2: .line 758
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
            lconst_0
            invokevirtual java.io.RandomAccessFile.seek:(J)V
         3: .line 759
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
            aload 2 /* buf */
            iconst_0
            bipush 12
            invokevirtual java.io.RandomAccessFile.readFully:([BII)V
         4: .line 760
            aload 2 /* buf */
            iconst_0
            getstatic org.eclipse.jgit.lib.Constants.PACK_SIGNATURE:[B
            invokestatic org.eclipse.jgit.util.RawParseUtils.match:([BI[B)I
            iconst_4
            if_icmpeq 6
         5: .line 761
            new org.eclipse.jgit.errors.NoPackSignatureException
            dup
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.notAPACKFile:Ljava/lang/String;
            invokespecial org.eclipse.jgit.errors.NoPackSignatureException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 763
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackIndex byte[]
      StackMap stack:
            aload 2 /* buf */
            iconst_4
            invokestatic org.eclipse.jgit.util.NB.decodeUInt32:([BI)J
            lstore 3 /* vers */
        start local 3 // long vers
         7: .line 764
            aload 2 /* buf */
            bipush 8
            invokestatic org.eclipse.jgit.util.NB.decodeUInt32:([BI)J
            lstore 5 /* packCnt */
        start local 5 // long packCnt
         8: .line 765
            lload 3 /* vers */
            ldc 2
            lcmp
            ifeq 10
            lload 3 /* vers */
            ldc 3
            lcmp
            ifeq 10
         9: .line 766
            new org.eclipse.jgit.errors.UnsupportedPackVersionException
            dup
            lload 3 /* vers */
            invokespecial org.eclipse.jgit.errors.UnsupportedPackVersionException.<init>:(J)V
            athrow
        10: .line 769
      StackMap locals: long long
      StackMap stack:
            lload 5 /* packCnt */
            aload 1 /* idx */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.getObjectCount:()J
            lcmp
            ifeq 16
        11: .line 770
            new org.eclipse.jgit.errors.PackMismatchException
            dup
        12: .line 771
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.packObjectCountMismatch:Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        13: .line 772
            lload 5 /* packCnt */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 1 /* idx */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.getObjectCount:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
        14: .line 773
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackFile:()Ljava/io/File;
            aastore
        15: .line 770
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.eclipse.jgit.errors.PackMismatchException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.length:J
            ldc 20
            lsub
            invokevirtual java.io.RandomAccessFile.seek:(J)V
        17: .line 777
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.fd:Ljava/io/RandomAccessFile;
            aload 2 /* buf */
            iconst_0
            bipush 20
            invokevirtual java.io.RandomAccessFile.readFully:([BII)V
        18: .line 778
            aload 2 /* buf */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packChecksum:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 25
        19: .line 779
            new org.eclipse.jgit.errors.PackMismatchException
            dup
        20: .line 780
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.packChecksumMismatch:Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        21: .line 781
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackFile:()Ljava/io/File;
            aastore
            dup
            iconst_1
        22: .line 782
            aload 2 /* buf */
            invokestatic org.eclipse.jgit.lib.ObjectId.fromRaw:([B)Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.lib.ObjectId.name:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        23: .line 783
            aload 1 /* idx */
            getfield org.eclipse.jgit.internal.storage.file.PackIndex.packChecksum:[B
            invokestatic org.eclipse.jgit.lib.ObjectId.fromRaw:([B)Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.lib.ObjectId.name:()Ljava/lang/String;
            aastore
        24: .line 779
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.eclipse.jgit.errors.PackMismatchException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 785
      StackMap locals:
      StackMap stack:
            return
        end local 5 // long packCnt
        end local 3 // long vers
        end local 2 // byte[] buf
        end local 1 // org.eclipse.jgit.internal.storage.file.PackIndex idx
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            1   26     1      idx  Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            2   26     2      buf  [B
            7   26     3     vers  J
            8   26     5  packCnt  J
    Exceptions:
      throws java.io.IOException

  org.eclipse.jgit.lib.ObjectLoader load(org.eclipse.jgit.internal.storage.file.WindowCursor, long);
    descriptor: (Lorg/eclipse/jgit/internal/storage/file/WindowCursor;J)Lorg/eclipse/jgit/lib/ObjectLoader;
    flags: (0x0000) 
    Code:
      stack=10, locals=18, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        start local 2 // long pos
         0: .line 790
            aload 1 /* curs */
            getfield org.eclipse.jgit.internal.storage.file.WindowCursor.tempId:[B
            astore 4 /* ib */
        start local 4 // byte[] ib
         1: .line 791
            aconst_null
            astore 5 /* delta */
        start local 5 // org.eclipse.jgit.internal.storage.file.PackFile$Delta delta
         2: .line 792
            aconst_null
            astore 6 /* data */
        start local 6 // byte[] data
         3: .line 793
            iconst_m1
            istore 7 /* type */
        start local 7 // int type
         4: .line 794
            iconst_0
            istore 8 /* cached */
        start local 8 // boolean cached
         5: .line 797
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.file.WindowCursor long byte[] org.eclipse.jgit.internal.storage.file.PackFile$Delta byte[] int int
      StackMap stack:
            aload 0 /* this */
            lload 2 /* pos */
            aload 4 /* ib */
            iconst_0
            bipush 20
            aload 1 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
         6: .line 798
            aload 4 /* ib */
            iconst_0
            baload
            sipush 255
            iand
            istore 9 /* c */
        start local 9 // int c
         7: .line 799
            iload 9 /* c */
            iconst_4
            ishr
            bipush 7
            iand
            istore 10 /* typeCode */
        start local 10 // int typeCode
         8: .line 800
            iload 9 /* c */
            bipush 15
            iand
            i2l
            lstore 11 /* sz */
        start local 11 // long sz
         9: .line 801
            iconst_4
            istore 13 /* shift */
        start local 13 // int shift
        10: .line 802
            iconst_1
            istore 14 /* p */
        start local 14 // int p
        11: .line 803
            goto 15
        12: .line 804
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.file.WindowCursor long byte[] org.eclipse.jgit.internal.storage.file.PackFile$Delta byte[] int int int int long int int
      StackMap stack:
            aload 4 /* ib */
            iload 14 /* p */
            iinc 14 /* p */ 1
            baload
            sipush 255
            iand
            istore 9 /* c */
        13: .line 805
            lload 11 /* sz */
            iload 9 /* c */
            bipush 127
            iand
            i2l
            iload 13 /* shift */
            lshl
            ladd
            lstore 11 /* sz */
        14: .line 806
            iinc 13 /* shift */ 7
        15: .line 803
      StackMap locals:
      StackMap stack:
            iload 9 /* c */
            sipush 128
            iand
            ifne 12
        16: .line 809
            iload 10 /* typeCode */
            tableswitch { // 1 - 7
                    1: 17
                    2: 17
                    3: 17
                    4: 17
                    5: 62
                    6: 29
                    7: 49
              default: 62
          }
        17: .line 814
      StackMap locals:
      StackMap stack:
            aload 5 /* delta */
            ifnonnull 18
            lload 11 /* sz */
            aload 1 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.WindowCursor.getStreamFileThreshold:()I
            i2l
            lcmp
            ifge 19
        18: .line 815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* pos */
            iload 14 /* p */
            i2l
            ladd
            lload 11 /* sz */
            l2i
            aload 1 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.decompress:(JILorg/eclipse/jgit/internal/storage/file/WindowCursor;)[B
            astore 6 /* data */
        19: .line 818
      StackMap locals:
      StackMap stack:
            aload 5 /* delta */
            ifnull 22
        20: .line 819
            iload 10 /* typeCode */
            istore 7 /* type */
        21: .line 820
            goto 66
        22: .line 823
      StackMap locals:
      StackMap stack:
            aload 6 /* data */
            ifnull 25
        23: .line 824
            new org.eclipse.jgit.lib.ObjectLoader$SmallObject
            dup
            iload 10 /* typeCode */
            aload 6 /* data */
            invokespecial org.eclipse.jgit.lib.ObjectLoader$SmallObject.<init>:(I[B)V
        24: areturn
        25: .line 826
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.internal.storage.file.LargePackedWholeObject
            dup
            iload 10 /* typeCode */
            lload 11 /* sz */
            lload 2 /* pos */
            iload 14 /* p */
        26: .line 827
            aload 0 /* this */
            aload 1 /* curs */
            getfield org.eclipse.jgit.internal.storage.file.WindowCursor.db:Lorg/eclipse/jgit/internal/storage/file/FileObjectDatabase;
        27: .line 826
            invokespecial org.eclipse.jgit.internal.storage.file.LargePackedWholeObject.<init>:(IJJILorg/eclipse/jgit/internal/storage/file/PackFile;Lorg/eclipse/jgit/internal/storage/file/FileObjectDatabase;)V
        28: areturn
        29: .line 831
      StackMap locals:
      StackMap stack:
            aload 4 /* ib */
            iload 14 /* p */
            iinc 14 /* p */ 1
            baload
            sipush 255
            iand
            istore 9 /* c */
        30: .line 832
            iload 9 /* c */
            bipush 127
            iand
            i2l
            lstore 15 /* base */
        start local 15 // long base
        31: .line 833
            goto 36
        32: .line 834
      StackMap locals: long
      StackMap stack:
            lload 15 /* base */
            lconst_1
            ladd
            lstore 15 /* base */
        33: .line 835
            aload 4 /* ib */
            iload 14 /* p */
            iinc 14 /* p */ 1
            baload
            sipush 255
            iand
            istore 9 /* c */
        34: .line 836
            lload 15 /* base */
            bipush 7
            lshl
            lstore 15 /* base */
        35: .line 837
            lload 15 /* base */
            iload 9 /* c */
            bipush 127
            iand
            i2l
            ladd
            lstore 15 /* base */
        36: .line 833
      StackMap locals:
      StackMap stack:
            iload 9 /* c */
            sipush 128
            iand
            ifne 32
        37: .line 839
            lload 2 /* pos */
            lload 15 /* base */
            lsub
            lstore 15 /* base */
        38: .line 840
            new org.eclipse.jgit.internal.storage.file.PackFile$Delta
            dup
            aload 5 /* delta */
            lload 2 /* pos */
            lload 11 /* sz */
            l2i
            iload 14 /* p */
            lload 15 /* base */
            invokespecial org.eclipse.jgit.internal.storage.file.PackFile$Delta.<init>:(Lorg/eclipse/jgit/internal/storage/file/PackFile$Delta;JIIJ)V
            astore 5 /* delta */
        39: .line 841
            lload 11 /* sz */
            aload 5 /* delta */
            getfield org.eclipse.jgit.internal.storage.file.PackFile$Delta.deltaSize:I
            i2l
            lcmp
            ifeq 41
        40: .line 842
            goto 66
        41: .line 844
      StackMap locals:
      StackMap stack:
            aload 1 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.WindowCursor.getDeltaBaseCache:()Lorg/eclipse/jgit/internal/storage/file/DeltaBaseCache;
            aload 0 /* this */
            lload 15 /* base */
            invokevirtual org.eclipse.jgit.internal.storage.file.DeltaBaseCache.get:(Lorg/eclipse/jgit/internal/storage/file/PackFile;J)Lorg/eclipse/jgit/internal/storage/file/DeltaBaseCache$Entry;
            astore 17 /* e */
        start local 17 // org.eclipse.jgit.internal.storage.file.DeltaBaseCache$Entry e
        42: .line 845
            aload 17 /* e */
            ifnull 47
        43: .line 846
            aload 17 /* e */
            getfield org.eclipse.jgit.internal.storage.file.DeltaBaseCache$Entry.type:I
            istore 7 /* type */
        44: .line 847
            aload 17 /* e */
            getfield org.eclipse.jgit.internal.storage.file.DeltaBaseCache$Entry.data:[B
            astore 6 /* data */
        45: .line 848
            iconst_1
            istore 8 /* cached */
        46: .line 849
            goto 66
        47: .line 851
      StackMap locals: org.eclipse.jgit.internal.storage.file.DeltaBaseCache$Entry
      StackMap stack:
            lload 15 /* base */
            lstore 2 /* pos */
        48: .line 852
            goto 5
        end local 17 // org.eclipse.jgit.internal.storage.file.DeltaBaseCache$Entry e
        end local 15 // long base
        49: .line 856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* pos */
            iload 14 /* p */
            i2l
            ladd
            aload 4 /* ib */
            iconst_0
            bipush 20
            aload 1 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
        50: .line 857
            aload 0 /* this */
            aload 4 /* ib */
            invokestatic org.eclipse.jgit.lib.ObjectId.fromRaw:([B)Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.findDeltaBase:(Lorg/eclipse/jgit/lib/ObjectId;)J
            lstore 15 /* base */
        start local 15 // long base
        51: .line 858
            new org.eclipse.jgit.internal.storage.file.PackFile$Delta
            dup
            aload 5 /* delta */
            lload 2 /* pos */
            lload 11 /* sz */
            l2i
            iload 14 /* p */
            bipush 20
            iadd
            lload 15 /* base */
            invokespecial org.eclipse.jgit.internal.storage.file.PackFile$Delta.<init>:(Lorg/eclipse/jgit/internal/storage/file/PackFile$Delta;JIIJ)V
            astore 5 /* delta */
        52: .line 859
            lload 11 /* sz */
            aload 5 /* delta */
            getfield org.eclipse.jgit.internal.storage.file.PackFile$Delta.deltaSize:I
            i2l
            lcmp
            ifeq 54
        53: .line 860
            goto 66
        54: .line 862
      StackMap locals: long
      StackMap stack:
            aload 1 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.WindowCursor.getDeltaBaseCache:()Lorg/eclipse/jgit/internal/storage/file/DeltaBaseCache;
            aload 0 /* this */
            lload 15 /* base */
            invokevirtual org.eclipse.jgit.internal.storage.file.DeltaBaseCache.get:(Lorg/eclipse/jgit/internal/storage/file/PackFile;J)Lorg/eclipse/jgit/internal/storage/file/DeltaBaseCache$Entry;
            astore 17 /* e */
        start local 17 // org.eclipse.jgit.internal.storage.file.DeltaBaseCache$Entry e
        55: .line 863
            aload 17 /* e */
            ifnull 60
        56: .line 864
            aload 17 /* e */
            getfield org.eclipse.jgit.internal.storage.file.DeltaBaseCache$Entry.type:I
            istore 7 /* type */
        57: .line 865
            aload 17 /* e */
            getfield org.eclipse.jgit.internal.storage.file.DeltaBaseCache$Entry.data:[B
            astore 6 /* data */
        58: .line 866
            iconst_1
            istore 8 /* cached */
        59: .line 867
            goto 66
        60: .line 869
      StackMap locals: org.eclipse.jgit.internal.storage.file.DeltaBaseCache$Entry
      StackMap stack:
            lload 15 /* base */
            lstore 2 /* pos */
        61: .line 870
            goto 5
        end local 17 // org.eclipse.jgit.internal.storage.file.DeltaBaseCache$Entry e
        end local 15 // long base
        62: .line 874
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
        63: .line 875
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.unknownObjectType:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        64: .line 876
            iload 10 /* typeCode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        65: .line 874
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // int p
        end local 13 // int shift
        end local 11 // long sz
        end local 10 // int typeCode
        end local 9 // int c
        66: .line 883
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.file.WindowCursor long byte[] org.eclipse.jgit.internal.storage.file.PackFile$Delta byte[] int int
      StackMap stack:
            aload 6 /* data */
            ifnonnull 68
        67: .line 884
            new java.io.IOException
            dup
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.inMemoryBufferLimitExceeded:Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        68: .line 886
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jgit.internal.storage.file.PackFile.$assertionsDisabled:Z
            ifne 69
            aload 5 /* delta */
            ifnonnull 69
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        69: .line 889
      StackMap locals:
      StackMap stack:
            iload 8 /* cached */
            ifeq 71
        70: .line 890
            iconst_0
            istore 8 /* cached */
            goto 73
        71: .line 891
      StackMap locals:
      StackMap stack:
            aload 5 /* delta */
            getfield org.eclipse.jgit.internal.storage.file.PackFile$Delta.next:Lorg/eclipse/jgit/internal/storage/file/PackFile$Delta;
            ifnonnull 73
        72: .line 892
            aload 1 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.WindowCursor.getDeltaBaseCache:()Lorg/eclipse/jgit/internal/storage/file/DeltaBaseCache;
            aload 0 /* this */
            aload 5 /* delta */
            getfield org.eclipse.jgit.internal.storage.file.PackFile$Delta.basePos:J
            aload 6 /* data */
            iload 7 /* type */
            invokevirtual org.eclipse.jgit.internal.storage.file.DeltaBaseCache.store:(Lorg/eclipse/jgit/internal/storage/file/PackFile;J[BI)V
        73: .line 894
      StackMap locals:
      StackMap stack:
            aload 5 /* delta */
            getfield org.eclipse.jgit.internal.storage.file.PackFile$Delta.deltaPos:J
            lstore 2 /* pos */
        74: .line 896
            aload 0 /* this */
            lload 2 /* pos */
            aload 5 /* delta */
            getfield org.eclipse.jgit.internal.storage.file.PackFile$Delta.hdrLen:I
            i2l
            ladd
        75: .line 897
            aload 5 /* delta */
            getfield org.eclipse.jgit.internal.storage.file.PackFile$Delta.deltaSize:I
            aload 1 /* curs */
        76: .line 896
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.decompress:(JILorg/eclipse/jgit/internal/storage/file/WindowCursor;)[B
            astore 9 /* cmds */
        start local 9 // byte[] cmds
        77: .line 898
            aload 9 /* cmds */
            ifnonnull 80
        78: .line 899
            aconst_null
            astore 6 /* data */
        79: .line 900
            new org.eclipse.jgit.errors.LargeObjectException$OutOfMemory
            dup
            new java.lang.OutOfMemoryError
            dup
            invokespecial java.lang.OutOfMemoryError.<init>:()V
            invokespecial org.eclipse.jgit.errors.LargeObjectException$OutOfMemory.<init>:(Ljava/lang/OutOfMemoryError;)V
            athrow
        80: .line 903
      StackMap locals: byte[]
      StackMap stack:
            aload 9 /* cmds */
            invokestatic org.eclipse.jgit.internal.storage.pack.BinaryDelta.getResultSize:([B)J
            lstore 10 /* sz */
        start local 10 // long sz
        81: .line 904
            ldc 2147483647
            lload 10 /* sz */
            lcmp
            ifgt 83
        82: .line 905
            new org.eclipse.jgit.errors.LargeObjectException$ExceedsByteArrayLimit
            dup
            invokespecial org.eclipse.jgit.errors.LargeObjectException$ExceedsByteArrayLimit.<init>:()V
            athrow
        83: .line 909
      StackMap locals: long
      StackMap stack:
            lload 10 /* sz */
            l2i
            newarray 8
            astore 12 /* result */
        start local 12 // byte[] result
        84: .line 910
            goto 88
        end local 12 // byte[] result
      StackMap locals:
      StackMap stack: java.lang.OutOfMemoryError
        85: astore 13 /* tooBig */
        start local 13 // java.lang.OutOfMemoryError tooBig
        86: .line 911
            aconst_null
            astore 6 /* data */
        87: .line 912
            new org.eclipse.jgit.errors.LargeObjectException$OutOfMemory
            dup
            aload 13 /* tooBig */
            invokespecial org.eclipse.jgit.errors.LargeObjectException$OutOfMemory.<init>:(Ljava/lang/OutOfMemoryError;)V
            athrow
        end local 13 // java.lang.OutOfMemoryError tooBig
        start local 12 // byte[] result
        88: .line 915
      StackMap locals: byte[]
      StackMap stack:
            aload 6 /* data */
            aload 9 /* cmds */
            aload 12 /* result */
            invokestatic org.eclipse.jgit.internal.storage.pack.BinaryDelta.apply:([B[B[B)[B
            pop
        89: .line 916
            aload 12 /* result */
            astore 6 /* data */
        90: .line 917
            aload 5 /* delta */
            getfield org.eclipse.jgit.internal.storage.file.PackFile$Delta.next:Lorg/eclipse/jgit/internal/storage/file/PackFile$Delta;
            astore 5 /* delta */
        end local 12 // byte[] result
        end local 10 // long sz
        end local 9 // byte[] cmds
        91: .line 918
            aload 5 /* delta */
            ifnonnull 69
        92: .line 920
            new org.eclipse.jgit.lib.ObjectLoader$SmallObject
            dup
            iload 7 /* type */
            aload 6 /* data */
            invokespecial org.eclipse.jgit.lib.ObjectLoader$SmallObject.<init>:(I[B)V
        93: areturn
        end local 8 // boolean cached
        end local 7 // int type
        end local 6 // byte[] data
        end local 5 // org.eclipse.jgit.internal.storage.file.PackFile$Delta delta
        end local 4 // byte[] ib
        94: .line 922
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.file.WindowCursor long
      StackMap stack: java.util.zip.DataFormatException
            astore 4 /* dfe */
        start local 4 // java.util.zip.DataFormatException dfe
        95: .line 923
            new org.eclipse.jgit.errors.CorruptObjectException
            dup
        96: .line 925
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.objectAtHasBadZlibStream:Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        97: .line 926
            lload 2 /* pos */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackFile:()Ljava/io/File;
            aastore
        98: .line 924
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        99: .line 927
            aload 4 /* dfe */
       100: .line 923
            invokespecial org.eclipse.jgit.errors.CorruptObjectException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.util.zip.DataFormatException dfe
        end local 2 // long pos
        end local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0  101     0      this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0  101     1      curs  Lorg/eclipse/jgit/internal/storage/file/WindowCursor;
            0  101     2       pos  J
            1   94     4        ib  [B
            2   94     5     delta  Lorg/eclipse/jgit/internal/storage/file/PackFile$Delta;
            3   94     6      data  [B
            4   94     7      type  I
            5   94     8    cached  Z
            7   66     9         c  I
            8   66    10  typeCode  I
            9   66    11        sz  J
           10   66    13     shift  I
           11   66    14         p  I
           31   49    15      base  J
           42   49    17         e  Lorg/eclipse/jgit/internal/storage/file/DeltaBaseCache$Entry;
           51   62    15      base  J
           55   62    17         e  Lorg/eclipse/jgit/internal/storage/file/DeltaBaseCache$Entry;
           77   91     9      cmds  [B
           81   91    10        sz  J
           84   85    12    result  [B
           88   91    12    result  [B
           86   88    13    tooBig  Ljava/lang/OutOfMemoryError;
           95  101     4       dfe  Ljava/util/zip/DataFormatException;
      Exception table:
        from    to  target  type
          83    84      85  Class java.lang.OutOfMemoryError
           0    24      94  Class java.util.zip.DataFormatException
          25    28      94  Class java.util.zip.DataFormatException
          29    93      94  Class java.util.zip.DataFormatException
    Exceptions:
      throws java.io.IOException, org.eclipse.jgit.errors.LargeObjectException
    MethodParameters:
      Name  Flags
      curs  
      pos   

  private long findDeltaBase(org.eclipse.jgit.lib.ObjectId);
    descriptor: (Lorg/eclipse/jgit/lib/ObjectId;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.lib.ObjectId baseId
         0: .line 933
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            aload 1 /* baseId */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.findOffset:(Lorg/eclipse/jgit/lib/AnyObjectId;)J
            lstore 2 /* ofs */
        start local 2 // long ofs
         1: .line 934
            lload 2 /* ofs */
            lconst_0
            lcmp
            ifge 5
         2: .line 935
            new org.eclipse.jgit.errors.MissingObjectException
            dup
            aload 1 /* baseId */
         3: .line 936
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.missingDeltaBase:Ljava/lang/String;
         4: .line 935
            invokespecial org.eclipse.jgit.errors.MissingObjectException.<init>:(Lorg/eclipse/jgit/lib/ObjectId;Ljava/lang/String;)V
            athrow
         5: .line 937
      StackMap locals: long
      StackMap stack:
            lload 2 /* ofs */
            lreturn
        end local 2 // long ofs
        end local 1 // org.eclipse.jgit.lib.ObjectId baseId
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    6     1  baseId  Lorg/eclipse/jgit/lib/ObjectId;
            1    6     2     ofs  J
    Exceptions:
      throws java.io.IOException, org.eclipse.jgit.errors.MissingObjectException
    MethodParameters:
        Name  Flags
      baseId  

  byte[] getDeltaHeader(org.eclipse.jgit.internal.storage.file.WindowCursor, long);
    descriptor: (Lorg/eclipse/jgit/internal/storage/file/WindowCursor;J)[B
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor wc
        start local 2 // long pos
         0: .line 972
            bipush 18
            newarray 8
            astore 4 /* hdr */
        start local 4 // byte[] hdr
         1: .line 973
            aload 1 /* wc */
            aload 0 /* this */
            lload 2 /* pos */
            aload 4 /* hdr */
            iconst_1
            invokevirtual org.eclipse.jgit.internal.storage.file.WindowCursor.inflate:(Lorg/eclipse/jgit/internal/storage/file/PackFile;J[BZ)I
            pop
         2: .line 974
            aload 4 /* hdr */
            areturn
        end local 4 // byte[] hdr
        end local 2 // long pos
        end local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor wc
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    3     1    wc  Lorg/eclipse/jgit/internal/storage/file/WindowCursor;
            0    3     2   pos  J
            1    3     4   hdr  [B
    Exceptions:
      throws java.io.IOException, java.util.zip.DataFormatException
    MethodParameters:
      Name  Flags
      wc    
      pos   

  int getObjectType(org.eclipse.jgit.internal.storage.file.WindowCursor, long);
    descriptor: (Lorg/eclipse/jgit/internal/storage/file/WindowCursor;J)I
    flags: (0x0000) 
    Code:
      stack=7, locals=10, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        start local 2 // long pos
         0: .line 978
            aload 1 /* curs */
            getfield org.eclipse.jgit.internal.storage.file.WindowCursor.tempId:[B
            astore 4 /* ib */
        start local 4 // byte[] ib
         1: .line 980
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            lload 2 /* pos */
            aload 4 /* ib */
            iconst_0
            bipush 20
            aload 1 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
         2: .line 981
            aload 4 /* ib */
            iconst_0
            baload
            sipush 255
            iand
            istore 5 /* c */
        start local 5 // int c
         3: .line 982
            iload 5 /* c */
            iconst_4
            ishr
            bipush 7
            iand
            istore 6 /* type */
        start local 6 // int type
         4: .line 984
            iload 6 /* type */
            tableswitch { // 1 - 7
                    1: 5
                    2: 5
                    3: 5
                    4: 5
                    5: 27
                    6: 6
                    7: 20
              default: 27
          }
         5: .line 989
      StackMap locals: int int
      StackMap stack:
            iload 6 /* type */
            ireturn
         6: .line 992
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* p */
        start local 7 // int p
         7: .line 993
            goto 9
         8: .line 994
      StackMap locals: int
      StackMap stack:
            aload 4 /* ib */
            iload 7 /* p */
            iinc 7 /* p */ 1
            baload
            sipush 255
            iand
            istore 5 /* c */
         9: .line 993
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            sipush 128
            iand
            ifne 8
        10: .line 995
            aload 4 /* ib */
            iload 7 /* p */
            iinc 7 /* p */ 1
            baload
            sipush 255
            iand
            istore 5 /* c */
        11: .line 996
            iload 5 /* c */
            bipush 127
            iand
            i2l
            lstore 8 /* ofs */
        start local 8 // long ofs
        12: .line 997
            goto 17
        13: .line 998
      StackMap locals: long
      StackMap stack:
            lload 8 /* ofs */
            lconst_1
            ladd
            lstore 8 /* ofs */
        14: .line 999
            aload 4 /* ib */
            iload 7 /* p */
            iinc 7 /* p */ 1
            baload
            sipush 255
            iand
            istore 5 /* c */
        15: .line 1000
            lload 8 /* ofs */
            bipush 7
            lshl
            lstore 8 /* ofs */
        16: .line 1001
            lload 8 /* ofs */
            iload 5 /* c */
            bipush 127
            iand
            i2l
            ladd
            lstore 8 /* ofs */
        17: .line 997
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            sipush 128
            iand
            ifne 13
        18: .line 1003
            lload 2 /* pos */
            lload 8 /* ofs */
            lsub
            lstore 2 /* pos */
        19: .line 1004
            goto 1
        end local 8 // long ofs
        end local 7 // int p
        20: .line 1008
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* p */
        start local 7 // int p
        21: .line 1009
            goto 23
        22: .line 1010
      StackMap locals: int
      StackMap stack:
            aload 4 /* ib */
            iload 7 /* p */
            iinc 7 /* p */ 1
            baload
            sipush 255
            iand
            istore 5 /* c */
        23: .line 1009
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            sipush 128
            iand
            ifne 22
        24: .line 1011
            aload 0 /* this */
            lload 2 /* pos */
            iload 7 /* p */
            i2l
            ladd
            aload 4 /* ib */
            iconst_0
            bipush 20
            aload 1 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
        25: .line 1012
            aload 0 /* this */
            aload 4 /* ib */
            invokestatic org.eclipse.jgit.lib.ObjectId.fromRaw:([B)Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.findDeltaBase:(Lorg/eclipse/jgit/lib/ObjectId;)J
            lstore 2 /* pos */
        26: .line 1013
            goto 1
        end local 7 // int p
        27: .line 1017
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
        28: .line 1018
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.unknownObjectType:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        29: .line 1019
            iload 6 /* type */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        30: .line 1018
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        31: .line 1017
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // int type
        end local 5 // int c
        end local 4 // byte[] ib
        end local 2 // long pos
        end local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   32     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0   32     1  curs  Lorg/eclipse/jgit/internal/storage/file/WindowCursor;
            0   32     2   pos  J
            1   32     4    ib  [B
            3   32     5     c  I
            4   32     6  type  I
            7   20     7     p  I
           12   20     8   ofs  J
           21   27     7     p  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      curs  
      pos   

  long getObjectSize(org.eclipse.jgit.internal.storage.file.WindowCursor, org.eclipse.jgit.lib.AnyObjectId);
    descriptor: (Lorg/eclipse/jgit/internal/storage/file/WindowCursor;Lorg/eclipse/jgit/lib/AnyObjectId;)J
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        start local 2 // org.eclipse.jgit.lib.AnyObjectId id
         0: .line 1026
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            aload 2 /* id */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.findOffset:(Lorg/eclipse/jgit/lib/AnyObjectId;)J
            lstore 3 /* offset */
        start local 3 // long offset
         1: .line 1027
            lconst_0
            lload 3 /* offset */
            lcmp
            ifge 2
            aload 0 /* this */
            aload 1 /* curs */
            lload 3 /* offset */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getObjectSize:(Lorg/eclipse/jgit/internal/storage/file/WindowCursor;J)J
            goto 3
      StackMap locals: long
      StackMap stack:
         2: ldc -1
      StackMap locals:
      StackMap stack: long
         3: lreturn
        end local 3 // long offset
        end local 2 // org.eclipse.jgit.lib.AnyObjectId id
        end local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    4     1    curs  Lorg/eclipse/jgit/internal/storage/file/WindowCursor;
            0    4     2      id  Lorg/eclipse/jgit/lib/AnyObjectId;
            1    4     3  offset  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      curs  
      id    

  long getObjectSize(org.eclipse.jgit.internal.storage.file.WindowCursor, long);
    descriptor: (Lorg/eclipse/jgit/internal/storage/file/WindowCursor;J)J
    flags: (0x0000) 
    Code:
      stack=8, locals=14, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        start local 2 // long pos
         0: .line 1032
            aload 1 /* curs */
            getfield org.eclipse.jgit.internal.storage.file.WindowCursor.tempId:[B
            astore 4 /* ib */
        start local 4 // byte[] ib
         1: .line 1033
            aload 0 /* this */
            lload 2 /* pos */
            aload 4 /* ib */
            iconst_0
            bipush 20
            aload 1 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
         2: .line 1034
            aload 4 /* ib */
            iconst_0
            baload
            sipush 255
            iand
            istore 5 /* c */
        start local 5 // int c
         3: .line 1035
            iload 5 /* c */
            iconst_4
            ishr
            bipush 7
            iand
            istore 6 /* type */
        start local 6 // int type
         4: .line 1036
            iload 5 /* c */
            bipush 15
            iand
            i2l
            lstore 7 /* sz */
        start local 7 // long sz
         5: .line 1037
            iconst_4
            istore 9 /* shift */
        start local 9 // int shift
         6: .line 1038
            iconst_1
            istore 10 /* p */
        start local 10 // int p
         7: .line 1039
            goto 11
         8: .line 1040
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.file.WindowCursor long byte[] int int long int int
      StackMap stack:
            aload 4 /* ib */
            iload 10 /* p */
            iinc 10 /* p */ 1
            baload
            sipush 255
            iand
            istore 5 /* c */
         9: .line 1041
            lload 7 /* sz */
            iload 5 /* c */
            bipush 127
            iand
            i2l
            iload 9 /* shift */
            lshl
            ladd
            lstore 7 /* sz */
        10: .line 1042
            iinc 9 /* shift */ 7
        11: .line 1039
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            sipush 128
            iand
            ifne 8
        12: .line 1046
            iload 6 /* type */
            tableswitch { // 1 - 7
                    1: 13
                    2: 13
                    3: 13
                    4: 13
                    5: 22
                    6: 14
                    7: 20
              default: 22
          }
        13: .line 1051
      StackMap locals:
      StackMap stack:
            lload 7 /* sz */
            lreturn
        14: .line 1054
      StackMap locals:
      StackMap stack:
            aload 4 /* ib */
            iload 10 /* p */
            iinc 10 /* p */ 1
            baload
            sipush 255
            iand
            istore 5 /* c */
        15: .line 1055
            goto 17
        16: .line 1056
      StackMap locals:
      StackMap stack:
            aload 4 /* ib */
            iload 10 /* p */
            iinc 10 /* p */ 1
            baload
            sipush 255
            iand
            istore 5 /* c */
        17: .line 1055
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            sipush 128
            iand
            ifne 16
        18: .line 1057
            lload 2 /* pos */
            iload 10 /* p */
            i2l
            ladd
            lstore 11 /* deltaAt */
        start local 11 // long deltaAt
        19: .line 1058
            goto 25
        end local 11 // long deltaAt
        20: .line 1061
      StackMap locals:
      StackMap stack:
            lload 2 /* pos */
            iload 10 /* p */
            i2l
            ladd
            ldc 20
            ladd
            lstore 11 /* deltaAt */
        start local 11 // long deltaAt
        21: .line 1062
            goto 25
        end local 11 // long deltaAt
        22: .line 1065
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
        23: .line 1066
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.unknownObjectType:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 6 /* type */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        24: .line 1065
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        start local 11 // long deltaAt
        25: .line 1070
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* curs */
            lload 11 /* deltaAt */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getDeltaHeader:(Lorg/eclipse/jgit/internal/storage/file/WindowCursor;J)[B
            invokestatic org.eclipse.jgit.internal.storage.pack.BinaryDelta.getResultSize:([B)J
        26: lreturn
        27: .line 1071
      StackMap locals:
      StackMap stack: java.util.zip.DataFormatException
            astore 13 /* e */
        start local 13 // java.util.zip.DataFormatException e
        28: .line 1072
            new org.eclipse.jgit.errors.CorruptObjectException
            dup
        29: .line 1073
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.objectAtHasBadZlibStream:Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            lload 2 /* pos */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
        30: .line 1074
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackFile:()Ljava/io/File;
            aastore
        31: .line 1072
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        32: .line 1074
            aload 13 /* e */
        33: .line 1072
            invokespecial org.eclipse.jgit.errors.CorruptObjectException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.util.zip.DataFormatException e
        end local 11 // long deltaAt
        end local 10 // int p
        end local 9 // int shift
        end local 7 // long sz
        end local 6 // int type
        end local 5 // int c
        end local 4 // byte[] ib
        end local 2 // long pos
        end local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0     this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0   34     1     curs  Lorg/eclipse/jgit/internal/storage/file/WindowCursor;
            0   34     2      pos  J
            1   34     4       ib  [B
            3   34     5        c  I
            4   34     6     type  I
            5   34     7       sz  J
            6   34     9    shift  I
            7   34    10        p  I
           19   20    11  deltaAt  J
           21   22    11  deltaAt  J
           25   34    11  deltaAt  J
           28   34    13        e  Ljava/util/zip/DataFormatException;
      Exception table:
        from    to  target  type
          25    26      27  Class java.util.zip.DataFormatException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      curs  
      pos   

  org.eclipse.jgit.internal.storage.file.LocalObjectRepresentation representation(org.eclipse.jgit.internal.storage.file.WindowCursor, org.eclipse.jgit.lib.AnyObjectId);
    descriptor: (Lorg/eclipse/jgit/internal/storage/file/WindowCursor;Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/internal/storage/file/LocalObjectRepresentation;
    flags: (0x0000) 
    Code:
      stack=7, locals=13, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        start local 2 // org.eclipse.jgit.lib.AnyObjectId objectId
         0: .line 1080
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            aload 2 /* objectId */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.findOffset:(Lorg/eclipse/jgit/lib/AnyObjectId;)J
            lstore 3 /* pos */
        start local 3 // long pos
         1: .line 1081
            lload 3 /* pos */
            lconst_0
            lcmp
            ifge 3
         2: .line 1082
            aconst_null
            areturn
         3: .line 1084
      StackMap locals: long
      StackMap stack:
            aload 1 /* curs */
            getfield org.eclipse.jgit.internal.storage.file.WindowCursor.tempId:[B
            astore 5 /* ib */
        start local 5 // byte[] ib
         4: .line 1085
            aload 0 /* this */
            lload 3 /* pos */
            aload 5 /* ib */
            iconst_0
            bipush 20
            aload 1 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
         5: .line 1086
            aload 5 /* ib */
            iconst_0
            baload
            sipush 255
            iand
            istore 6 /* c */
        start local 6 // int c
         6: .line 1087
            iconst_1
            istore 7 /* p */
        start local 7 // int p
         7: .line 1088
            iload 6 /* c */
            iconst_4
            ishr
            bipush 7
            iand
            istore 8 /* typeCode */
        start local 8 // int typeCode
         8: .line 1089
            goto 10
         9: .line 1090
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile org.eclipse.jgit.internal.storage.file.WindowCursor org.eclipse.jgit.lib.AnyObjectId long byte[] int int int
      StackMap stack:
            aload 5 /* ib */
            iload 7 /* p */
            iinc 7 /* p */ 1
            baload
            sipush 255
            iand
            istore 6 /* c */
        10: .line 1089
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            sipush 128
            iand
            ifne 9
        11: .line 1092
            aload 0 /* this */
            lload 3 /* pos */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.findEndOffset:(J)J
            lload 3 /* pos */
            lsub
            lstore 9 /* len */
        start local 9 // long len
        12: .line 1093
            iload 8 /* typeCode */
            tableswitch { // 1 - 7
                    1: 13
                    2: 13
                    3: 13
                    4: 13
                    5: 29
                    6: 14
                    7: 24
              default: 29
          }
        13: .line 1098
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 3 /* pos */
            lload 9 /* len */
            iload 7 /* p */
            i2l
            lsub
            invokestatic org.eclipse.jgit.internal.storage.file.LocalObjectRepresentation.newWhole:(Lorg/eclipse/jgit/internal/storage/file/PackFile;JJ)Lorg/eclipse/jgit/internal/storage/file/LocalObjectRepresentation;
            areturn
        14: .line 1101
      StackMap locals:
      StackMap stack:
            aload 5 /* ib */
            iload 7 /* p */
            iinc 7 /* p */ 1
            baload
            sipush 255
            iand
            istore 6 /* c */
        15: .line 1102
            iload 6 /* c */
            bipush 127
            iand
            i2l
            lstore 11 /* ofs */
        start local 11 // long ofs
        16: .line 1103
            goto 21
        17: .line 1104
      StackMap locals: long
      StackMap stack:
            lload 11 /* ofs */
            lconst_1
            ladd
            lstore 11 /* ofs */
        18: .line 1105
            aload 5 /* ib */
            iload 7 /* p */
            iinc 7 /* p */ 1
            baload
            sipush 255
            iand
            istore 6 /* c */
        19: .line 1106
            lload 11 /* ofs */
            bipush 7
            lshl
            lstore 11 /* ofs */
        20: .line 1107
            lload 11 /* ofs */
            iload 6 /* c */
            bipush 127
            iand
            i2l
            ladd
            lstore 11 /* ofs */
        21: .line 1103
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            sipush 128
            iand
            ifne 17
        22: .line 1109
            lload 3 /* pos */
            lload 11 /* ofs */
            lsub
            lstore 11 /* ofs */
        23: .line 1110
            aload 0 /* this */
            lload 3 /* pos */
            lload 9 /* len */
            iload 7 /* p */
            i2l
            lsub
            lload 11 /* ofs */
            invokestatic org.eclipse.jgit.internal.storage.file.LocalObjectRepresentation.newDelta:(Lorg/eclipse/jgit/internal/storage/file/PackFile;JJJ)Lorg/eclipse/jgit/internal/storage/file/LocalObjectRepresentation;
            areturn
        end local 11 // long ofs
        24: .line 1114
      StackMap locals:
      StackMap stack:
            lload 9 /* len */
            iload 7 /* p */
            i2l
            lsub
            lstore 9 /* len */
        25: .line 1115
            lload 9 /* len */
            ldc 20
            lsub
            lstore 9 /* len */
        26: .line 1116
            aload 0 /* this */
            lload 3 /* pos */
            iload 7 /* p */
            i2l
            ladd
            aload 5 /* ib */
            iconst_0
            bipush 20
            aload 1 /* curs */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.readFully:(J[BIILorg/eclipse/jgit/internal/storage/file/WindowCursor;)V
        27: .line 1117
            aload 5 /* ib */
            invokestatic org.eclipse.jgit.lib.ObjectId.fromRaw:([B)Lorg/eclipse/jgit/lib/ObjectId;
            astore 11 /* id */
        start local 11 // org.eclipse.jgit.lib.ObjectId id
        28: .line 1118
            aload 0 /* this */
            lload 3 /* pos */
            lload 9 /* len */
            aload 11 /* id */
            invokestatic org.eclipse.jgit.internal.storage.file.LocalObjectRepresentation.newDelta:(Lorg/eclipse/jgit/internal/storage/file/PackFile;JJLorg/eclipse/jgit/lib/ObjectId;)Lorg/eclipse/jgit/internal/storage/file/LocalObjectRepresentation;
            areturn
        end local 11 // org.eclipse.jgit.lib.ObjectId id
        29: .line 1122
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
        30: .line 1123
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.unknownObjectType:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        31: .line 1124
            iload 8 /* typeCode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        32: .line 1123
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        33: .line 1122
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // long len
        end local 8 // int typeCode
        end local 7 // int p
        end local 6 // int c
        end local 5 // byte[] ib
        end local 3 // long pos
        end local 2 // org.eclipse.jgit.lib.AnyObjectId objectId
        end local 1 // org.eclipse.jgit.internal.storage.file.WindowCursor curs
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   34     0      this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0   34     1      curs  Lorg/eclipse/jgit/internal/storage/file/WindowCursor;
            0   34     2  objectId  Lorg/eclipse/jgit/lib/AnyObjectId;
            1   34     3       pos  J
            4   34     5        ib  [B
            6   34     6         c  I
            7   34     7         p  I
            8   34     8  typeCode  I
           12   34     9       len  J
           16   24    11       ofs  J
           28   29    11        id  Lorg/eclipse/jgit/lib/ObjectId;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      curs      final
      objectId  final

  private long findEndOffset(long);
    descriptor: (J)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // long startOffset
         0: .line 1130
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.length:J
            ldc 20
            lsub
            lstore 3 /* maxOffset */
        start local 3 // long maxOffset
         1: .line 1131
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getReverseIdx:()Lorg/eclipse/jgit/internal/storage/file/PackReverseIndex;
            lload 1 /* startOffset */
            lload 3 /* maxOffset */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackReverseIndex.findNextOffset:(JJ)J
            lreturn
        end local 3 // long maxOffset
        end local 1 // long startOffset
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    2     1  startOffset  J
            1    2     3    maxOffset  J
    Exceptions:
      throws java.io.IOException, org.eclipse.jgit.errors.CorruptObjectException
    MethodParameters:
             Name  Flags
      startOffset  

  synchronized org.eclipse.jgit.internal.storage.file.PackBitmapIndex getBitmapIndex();
    descriptor: ()Lorg/eclipse/jgit/internal/storage/file/PackBitmapIndex;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 1135
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.invalid:Z
            ifne 1
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.invalidBitmap:Z
            ifeq 2
         1: .line 1136
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 1137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.bitmapIdx:Lorg/eclipse/jgit/internal/storage/file/PackBitmapIndex;
            ifnonnull 13
            aload 0 /* this */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.BITMAP_INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.hasExt:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Z
            ifeq 13
         3: .line 1140
            aload 0 /* this */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.BITMAP_INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.extFile:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Ljava/io/File;
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
         4: .line 1141
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getReverseIdx:()Lorg/eclipse/jgit/internal/storage/file/PackReverseIndex;
         5: .line 1140
            invokestatic org.eclipse.jgit.internal.storage.file.PackBitmapIndex.open:(Ljava/io/File;Lorg/eclipse/jgit/internal/storage/file/PackIndex;Lorg/eclipse/jgit/internal/storage/file/PackReverseIndex;)Lorg/eclipse/jgit/internal/storage/file/PackBitmapIndex;
            astore 1 /* idx */
        start local 1 // org.eclipse.jgit.internal.storage.file.PackBitmapIndex idx
         6: .line 1142
            goto 10
        end local 1 // org.eclipse.jgit.internal.storage.file.PackBitmapIndex idx
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
         7: pop
         8: .line 1146
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jgit.internal.storage.file.PackFile.invalidBitmap:Z
         9: .line 1147
            aconst_null
            areturn
        start local 1 // org.eclipse.jgit.internal.storage.file.PackBitmapIndex idx
        10: .line 1151
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackBitmapIndex
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packChecksum:[B
            aload 1 /* idx */
            getfield org.eclipse.jgit.internal.storage.file.PackBitmapIndex.packChecksum:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 12
        11: .line 1152
            aload 0 /* this */
            aload 1 /* idx */
            putfield org.eclipse.jgit.internal.storage.file.PackFile.bitmapIdx:Lorg/eclipse/jgit/internal/storage/file/PackBitmapIndex;
            goto 13
        12: .line 1154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jgit.internal.storage.file.PackFile.invalidBitmap:Z
        end local 1 // org.eclipse.jgit.internal.storage.file.PackBitmapIndex idx
        13: .line 1156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.bitmapIdx:Lorg/eclipse/jgit/internal/storage/file/PackBitmapIndex;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            6    7     1   idx  Lorg/eclipse/jgit/internal/storage/file/PackBitmapIndex;
           10   13     1   idx  Lorg/eclipse/jgit/internal/storage/file/PackBitmapIndex;
      Exception table:
        from    to  target  type
           3     6       7  Class java.io.FileNotFoundException
    Exceptions:
      throws java.io.IOException

  private synchronized org.eclipse.jgit.internal.storage.file.PackReverseIndex getReverseIdx();
    descriptor: ()Lorg/eclipse/jgit/internal/storage/file/PackReverseIndex;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 1160
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.reverseIdx:Lorg/eclipse/jgit/internal/storage/file/PackReverseIndex;
            ifnonnull 2
         1: .line 1161
            aload 0 /* this */
            new org.eclipse.jgit.internal.storage.file.PackReverseIndex
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.idx:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            invokespecial org.eclipse.jgit.internal.storage.file.PackReverseIndex.<init>:(Lorg/eclipse/jgit/internal/storage/file/PackIndex;)V
            putfield org.eclipse.jgit.internal.storage.file.PackFile.reverseIdx:Lorg/eclipse/jgit/internal/storage/file/PackReverseIndex;
         2: .line 1162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.reverseIdx:Lorg/eclipse/jgit/internal/storage/file/PackReverseIndex;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
    Exceptions:
      throws java.io.IOException

  private boolean isCorrupt(long);
    descriptor: (J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // long offset
         0: .line 1166
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.corruptObjects:Lorg/eclipse/jgit/util/LongList;
            astore 3 /* list */
        start local 3 // org.eclipse.jgit.util.LongList list
         1: .line 1167
            aload 3 /* list */
            ifnonnull 3
         2: .line 1168
            iconst_0
            ireturn
         3: .line 1169
      StackMap locals: org.eclipse.jgit.util.LongList
      StackMap stack:
            aload 3 /* list */
            dup
            astore 4
            monitorenter
         4: .line 1170
            aload 3 /* list */
            lload 1 /* offset */
            invokevirtual org.eclipse.jgit.util.LongList.contains:(J)Z
            aload 4
            monitorexit
         5: ireturn
         6: .line 1169
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile long org.eclipse.jgit.util.LongList org.eclipse.jgit.util.LongList
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
         7: athrow
        end local 3 // org.eclipse.jgit.util.LongList list
        end local 1 // long offset
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    8     1  offset  J
            1    8     3    list  Lorg/eclipse/jgit/util/LongList;
      Exception table:
        from    to  target  type
           4     5       6  any
           6     7       6  any
    MethodParameters:
        Name  Flags
      offset  

  private void setCorrupt(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // long offset
         0: .line 1175
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.corruptObjects:Lorg/eclipse/jgit/util/LongList;
            astore 3 /* list */
        start local 3 // org.eclipse.jgit.util.LongList list
         1: .line 1176
            aload 3 /* list */
            ifnonnull 11
         2: .line 1177
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.readLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         3: .line 1178
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.corruptObjects:Lorg/eclipse/jgit/util/LongList;
            astore 3 /* list */
         4: .line 1179
            aload 3 /* list */
            ifnonnull 7
         5: .line 1180
            new org.eclipse.jgit.util.LongList
            dup
            invokespecial org.eclipse.jgit.util.LongList.<init>:()V
            astore 3 /* list */
         6: .line 1181
            aload 0 /* this */
            aload 3 /* list */
            putfield org.eclipse.jgit.internal.storage.file.PackFile.corruptObjects:Lorg/eclipse/jgit/util/LongList;
         7: .line 1177
      StackMap locals: org.eclipse.jgit.util.LongList java.lang.Object
      StackMap stack:
            aload 4
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 4
            monitorexit
        10: athrow
        11: .line 1185
      StackMap locals:
      StackMap stack:
            aload 3 /* list */
            dup
            astore 4
            monitorenter
        12: .line 1186
            aload 3 /* list */
            lload 1 /* offset */
            invokevirtual org.eclipse.jgit.util.LongList.add:(J)V
        13: .line 1185
            aload 4
            monitorexit
        14: goto 17
      StackMap locals: org.eclipse.jgit.internal.storage.file.PackFile long org.eclipse.jgit.util.LongList org.eclipse.jgit.util.LongList
      StackMap stack: java.lang.Throwable
        15: aload 4
            monitorexit
        16: athrow
        17: .line 1188
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.eclipse.jgit.util.LongList list
        end local 1 // long offset
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0   18     1  offset  J
            1   18     3    list  Lorg/eclipse/jgit/util/LongList;
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any
          12    14      15  any
          15    16      15  any
    MethodParameters:
        Name  Flags
      offset  

  private java.io.File extFile(org.eclipse.jgit.internal.storage.pack.PackExt);
    descriptor: (Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.pack.PackExt ext
         0: .line 1191
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packFile:Ljava/io/File;
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            astore 2 /* p */
        start local 2 // java.lang.String p
         1: .line 1192
            aload 2 /* p */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* dot */
        start local 3 // int dot
         2: .line 1193
            iload 3 /* dot */
            ifge 3
            aload 2 /* p */
            goto 4
      StackMap locals: java.lang.String int
      StackMap stack:
         3: aload 2 /* p */
            iconst_0
            iload 3 /* dot */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 4 /* b */
        start local 4 // java.lang.String b
         5: .line 1194
            new java.io.File
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packFile:Ljava/io/File;
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            new java.lang.StringBuilder
            dup
            aload 4 /* b */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* ext */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 4 // java.lang.String b
        end local 3 // int dot
        end local 2 // java.lang.String p
        end local 1 // org.eclipse.jgit.internal.storage.pack.PackExt ext
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    6     1   ext  Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            1    6     2     p  Ljava/lang/String;
            2    6     3   dot  I
            5    6     4     b  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      ext   

  private boolean hasExt(org.eclipse.jgit.internal.storage.pack.PackExt);
    descriptor: (Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
        start local 1 // org.eclipse.jgit.internal.storage.pack.PackExt ext
         0: .line 1198
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.extensions:I
            aload 1 /* ext */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getBit:()I
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.eclipse.jgit.internal.storage.pack.PackExt ext
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    2     1   ext  Lorg/eclipse/jgit/internal/storage/pack/PackExt;
    MethodParameters:
      Name  Flags
      ext   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
         0: .line 1204
            new java.lang.StringBuilder
            dup
            ldc "PackFile [packFileName="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packFile:Ljava/io/File;
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", length="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 1205
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packFile:Ljava/io/File;
            invokevirtual java.io.File.length:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ", packChecksum="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 1206
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packChecksum:[B
            invokestatic org.eclipse.jgit.lib.ObjectId.fromRaw:([B)Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.lib.ObjectId.name:()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;
         3: .line 1204
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jgit/internal/storage/file/PackFile;

  private static int lambda$0(org.eclipse.jgit.internal.storage.file.PackFile, org.eclipse.jgit.internal.storage.file.PackFile);
    descriptor: (Lorg/eclipse/jgit/internal/storage/file/PackFile;Lorg/eclipse/jgit/internal/storage/file/PackFile;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.PackFile a
        start local 1 // org.eclipse.jgit.internal.storage.file.PackFile b
         0: .line 78
            aload 1 /* b */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packLastModified:Ljava/time/Instant;
         1: .line 79
            aload 0 /* a */
            getfield org.eclipse.jgit.internal.storage.file.PackFile.packLastModified:Ljava/time/Instant;
            invokevirtual java.time.Instant.compareTo:(Ljava/time/Instant;)I
            ireturn
        end local 1 // org.eclipse.jgit.internal.storage.file.PackFile b
        end local 0 // org.eclipse.jgit.internal.storage.file.PackFile a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0    2     1     b  Lorg/eclipse/jgit/internal/storage/file/PackFile;
}
Signature: Ljava/lang/Object;Ljava/lang/Iterable<Lorg/eclipse/jgit/internal/storage/file/PackIndex$MutableEntry;>;
SourceFile: "PackFile.java"
NestMembers:
  org.eclipse.jgit.internal.storage.file.PackFile$Delta
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public MapMode = java.nio.channels.FileChannel$MapMode of java.nio.channels.FileChannel
  public ExceedsByteArrayLimit = org.eclipse.jgit.errors.LargeObjectException$ExceedsByteArrayLimit of org.eclipse.jgit.errors.LargeObjectException
  public OutOfMemory = org.eclipse.jgit.errors.LargeObjectException$OutOfMemory of org.eclipse.jgit.errors.LargeObjectException
  Entry = org.eclipse.jgit.internal.storage.file.DeltaBaseCache$Entry of org.eclipse.jgit.internal.storage.file.DeltaBaseCache
  private Delta = org.eclipse.jgit.internal.storage.file.PackFile$Delta of org.eclipse.jgit.internal.storage.file.PackFile
  public MutableEntry = org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry of org.eclipse.jgit.internal.storage.file.PackIndex
  public SmallObject = org.eclipse.jgit.lib.ObjectLoader$SmallObject of org.eclipse.jgit.lib.ObjectLoader