public class java.util.zip.ZipOutputStream extends java.util.zip.DeflaterOutputStream implements java.util.zip.ZipConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.util.zip.ZipOutputStream
  super_class: java.util.zip.DeflaterOutputStream
{
  private static final boolean inhibitZip64;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.util.zip.ZipOutputStream$XEntry current;
    descriptor: Ljava/util/zip/ZipOutputStream$XEntry;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Vector<java.util.zip.ZipOutputStream$XEntry> xentries;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Ljava/util/zip/ZipOutputStream$XEntry;>;

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

  private java.util.zip.CRC32 crc;
    descriptor: Ljava/util/zip/CRC32;
    flags: (0x0002) ACC_PRIVATE

  private long written;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long locoff;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private final java.util.zip.ZipCoder zc;
    descriptor: Ljava/util/zip/ZipCoder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static final int STORED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int DEFLATED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 58
            new sun.security.action.GetPropertyAction
            dup
         1: .line 59
            ldc "jdk.util.zip.inhibitZip64"
            ldc "false"
         2: .line 58
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 57
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
         4: .line 56
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
         5: .line 55
            putstatic java.util.zip.ZipOutputStream.inhibitZip64:Z
         6: .line 108
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static int version(java.util.zip.ZipEntry);
    descriptor: (Ljava/util/zip/ZipEntry;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.zip.ZipEntry e
         0: .line 85
            aload 0 /* e */
            getfield java.util.zip.ZipEntry.method:I
            lookupswitch { // 2
                    0: 2
                    8: 1
              default: 3
          }
         1: .line 86
      StackMap locals:
      StackMap stack:
            bipush 20
            ireturn
         2: .line 87
      StackMap locals:
      StackMap stack:
            bipush 10
            ireturn
         3: .line 88
      StackMap locals:
      StackMap stack:
            new java.util.zip.ZipException
            dup
            ldc "unsupported compression method"
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.util.zip.ZipEntry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     e  Ljava/util/zip/ZipEntry;
    Exceptions:
      throws java.util.zip.ZipException
    MethodParameters:
      Name  Flags
      e     

  private void ensureOpen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.zip.ZipOutputStream this
         0: .line 96
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.closed:Z
            ifeq 2
         1: .line 97
            new java.io.IOException
            dup
            ldc "Stream closed"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 99
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/zip/ZipOutputStream;
    Exceptions:
      throws java.io.IOException

  public void <init>(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // java.io.OutputStream out
         0: .line 119
            aload 0 /* this */
            aload 1 /* out */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.util.zip.ZipOutputStream.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
         1: .line 120
            return
        end local 1 // java.io.OutputStream out
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/zip/ZipOutputStream;
            0    2     1   out  Ljava/io/OutputStream;
    MethodParameters:
      Name  Flags
      out   

  public void <init>(java.io.OutputStream, java.nio.charset.Charset);
    descriptor: (Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // java.io.OutputStream out
        start local 2 // java.nio.charset.Charset charset
         0: .line 133
            aload 0 /* this */
            aload 1 /* out */
            new java.util.zip.Deflater
            dup
            iconst_m1
            iconst_1
            invokespecial java.util.zip.Deflater.<init>:(IZ)V
            invokespecial java.util.zip.DeflaterOutputStream.<init>:(Ljava/io/OutputStream;Ljava/util/zip/Deflater;)V
         1: .line 71
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield java.util.zip.ZipOutputStream.xentries:Ljava/util/Vector;
         2: .line 72
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield java.util.zip.ZipOutputStream.names:Ljava/util/HashSet;
         3: .line 73
            aload 0 /* this */
            new java.util.zip.CRC32
            dup
            invokespecial java.util.zip.CRC32.<init>:()V
            putfield java.util.zip.ZipOutputStream.crc:Ljava/util/zip/CRC32;
         4: .line 74
            aload 0 /* this */
            lconst_0
            putfield java.util.zip.ZipOutputStream.written:J
         5: .line 75
            aload 0 /* this */
            lconst_0
            putfield java.util.zip.ZipOutputStream.locoff:J
         6: .line 77
            aload 0 /* this */
            bipush 8
            putfield java.util.zip.ZipOutputStream.method:I
         7: .line 80
            aload 0 /* this */
            iconst_0
            putfield java.util.zip.ZipOutputStream.closed:Z
         8: .line 134
            aload 2 /* charset */
            ifnonnull 10
         9: .line 135
            new java.lang.NullPointerException
            dup
            ldc "charset is null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 136
      StackMap locals: java.util.zip.ZipOutputStream java.io.OutputStream java.nio.charset.Charset
      StackMap stack:
            aload 0 /* this */
            aload 2 /* charset */
            invokestatic java.util.zip.ZipCoder.get:(Ljava/nio/charset/Charset;)Ljava/util/zip/ZipCoder;
            putfield java.util.zip.ZipOutputStream.zc:Ljava/util/zip/ZipCoder;
        11: .line 137
            aload 0 /* this */
            iconst_1
            putfield java.util.zip.ZipOutputStream.usesDefaultDeflater:Z
        12: .line 138
            return
        end local 2 // java.nio.charset.Charset charset
        end local 1 // java.io.OutputStream out
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Ljava/util/zip/ZipOutputStream;
            0   13     1      out  Ljava/io/OutputStream;
            0   13     2  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      out      
      charset  

  public void setComment(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // java.lang.String comment
         0: .line 147
            aload 1 /* comment */
            ifnull 4
         1: .line 148
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.zc:Ljava/util/zip/ZipCoder;
            aload 1 /* comment */
            invokevirtual java.util.zip.ZipCoder.getBytes:(Ljava/lang/String;)[B
            putfield java.util.zip.ZipOutputStream.comment:[B
         2: .line 149
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.comment:[B
            arraylength
            ldc 65535
            if_icmple 4
         3: .line 150
            new java.lang.IllegalArgumentException
            dup
            ldc "ZIP file comment too long."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 152
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String comment
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljava/util/zip/ZipOutputStream;
            0    5     1  comment  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      comment  

  public void setMethod(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // int method
         0: .line 163
            iload 1 /* method */
            bipush 8
            if_icmpeq 2
            iload 1 /* method */
            ifeq 2
         1: .line 164
            new java.lang.IllegalArgumentException
            dup
            ldc "invalid compression method"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* method */
            putfield java.util.zip.ZipOutputStream.method:I
         3: .line 167
            return
        end local 1 // int method
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljava/util/zip/ZipOutputStream;
            0    4     1  method  I
    MethodParameters:
        Name  Flags
      method  

  public void setLevel(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // int level
         0: .line 176
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.def:Ljava/util/zip/Deflater;
            iload 1 /* level */
            invokevirtual java.util.zip.Deflater.setLevel:(I)V
         1: .line 177
            return
        end local 1 // int level
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/util/zip/ZipOutputStream;
            0    2     1  level  I
    MethodParameters:
       Name  Flags
      level  

  public void putNextEntry(java.util.zip.ZipEntry);
    descriptor: (Ljava/util/zip/ZipEntry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // java.util.zip.ZipEntry e
         0: .line 190
            aload 0 /* this */
            invokevirtual java.util.zip.ZipOutputStream.ensureOpen:()V
         1: .line 191
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.current:Ljava/util/zip/ZipOutputStream$XEntry;
            ifnull 3
         2: .line 192
            aload 0 /* this */
            invokevirtual java.util.zip.ZipOutputStream.closeEntry:()V
         3: .line 194
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.xdostime:J
            ldc -1
            lcmp
            ifne 5
         4: .line 197
            aload 1 /* e */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.util.zip.ZipEntry.setTime:(J)V
         5: .line 199
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.method:I
            iconst_m1
            if_icmpne 7
         6: .line 200
            aload 1 /* e */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.method:I
            putfield java.util.zip.ZipEntry.method:I
         7: .line 203
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            iconst_0
            putfield java.util.zip.ZipEntry.flag:I
         8: .line 204
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.method:I
            lookupswitch { // 2
                    0: 12
                    8: 9
              default: 26
          }
         9: .line 208
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.size:J
            ldc -1
            lcmp
            ifeq 10
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            ldc -1
            lcmp
            ifeq 10
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.crc:J
            ldc -1
            lcmp
            ifne 27
        10: .line 209
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            bipush 8
            putfield java.util.zip.ZipEntry.flag:I
        11: .line 211
            goto 27
        12: .line 215
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.size:J
            ldc -1
            lcmp
            ifne 15
        13: .line 216
            aload 1 /* e */
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            putfield java.util.zip.ZipEntry.size:J
        14: .line 217
            goto 22
      StackMap locals:
      StackMap stack:
        15: aload 1 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            ldc -1
            lcmp
            ifne 18
        16: .line 218
            aload 1 /* e */
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.size:J
            putfield java.util.zip.ZipEntry.csize:J
        17: .line 219
            goto 22
      StackMap locals:
      StackMap stack:
        18: aload 1 /* e */
            getfield java.util.zip.ZipEntry.size:J
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            lcmp
            ifeq 22
        19: .line 220
            new java.util.zip.ZipException
            dup
        20: .line 221
            ldc "STORED entry where compressed != uncompressed size"
        21: .line 220
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 223
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.size:J
            ldc -1
            lcmp
            ifeq 23
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.crc:J
            ldc -1
            lcmp
            ifne 27
        23: .line 224
      StackMap locals:
      StackMap stack:
            new java.util.zip.ZipException
            dup
        24: .line 225
            ldc "STORED entry missing size, compressed size, or crc-32"
        25: .line 224
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 229
      StackMap locals:
      StackMap stack:
            new java.util.zip.ZipException
            dup
            ldc "unsupported compression method"
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.names:Ljava/util/HashSet;
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.name:Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            ifne 29
        28: .line 232
            new java.util.zip.ZipException
            dup
            new java.lang.StringBuilder
            dup
            ldc "duplicate entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.zc:Ljava/util/zip/ZipCoder;
            invokevirtual java.util.zip.ZipCoder.isUTF8:()Z
            ifeq 31
        30: .line 235
            aload 1 /* e */
            dup
            getfield java.util.zip.ZipEntry.flag:I
            sipush 2048
            ior
            putfield java.util.zip.ZipEntry.flag:I
        31: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.zip.ZipOutputStream$XEntry
            dup
            aload 1 /* e */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.written:J
            invokespecial java.util.zip.ZipOutputStream$XEntry.<init>:(Ljava/util/zip/ZipEntry;J)V
            putfield java.util.zip.ZipOutputStream.current:Ljava/util/zip/ZipOutputStream$XEntry;
        32: .line 237
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.xentries:Ljava/util/Vector;
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.current:Ljava/util/zip/ZipOutputStream$XEntry;
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        33: .line 238
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.current:Ljava/util/zip/ZipOutputStream$XEntry;
            invokevirtual java.util.zip.ZipOutputStream.writeLOC:(Ljava/util/zip/ZipOutputStream$XEntry;)V
        34: .line 239
            return
        end local 1 // java.util.zip.ZipEntry e
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   35     0  this  Ljava/util/zip/ZipOutputStream;
            0   35     1     e  Ljava/util/zip/ZipEntry;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      e     

  public void closeEntry();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // java.util.zip.ZipOutputStream this
         0: .line 248
            aload 0 /* this */
            invokevirtual java.util.zip.ZipOutputStream.ensureOpen:()V
         1: .line 249
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.current:Ljava/util/zip/ZipOutputStream$XEntry;
            ifnull 51
         2: .line 250
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.current:Ljava/util/zip/ZipOutputStream$XEntry;
            getfield java.util.zip.ZipOutputStream$XEntry.entry:Ljava/util/zip/ZipEntry;
            astore 1 /* e */
        start local 1 // java.util.zip.ZipEntry e
         3: .line 251
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.method:I
            lookupswitch { // 2
                    0: 35
                    8: 4
              default: 48
          }
         4: .line 253
      StackMap locals: java.util.zip.ZipEntry
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.finish:()V
         5: .line 254
            goto 7
         6: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.zip.ZipOutputStream.deflate:()V
         7: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.finished:()Z
            ifeq 6
         8: .line 257
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.flag:I
            bipush 8
            iand
            ifne 28
         9: .line 259
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.size:J
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.getBytesRead:()J
            lcmp
            ifeq 15
        10: .line 260
            new java.util.zip.ZipException
            dup
        11: .line 261
            new java.lang.StringBuilder
            dup
            ldc "invalid entry size (expected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.size:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        12: .line 262
            ldc " but got "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.getBytesRead:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " bytes)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 261
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 260
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 264
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.getBytesWritten:()J
            lcmp
            ifeq 21
        16: .line 265
            new java.util.zip.ZipException
            dup
        17: .line 266
            new java.lang.StringBuilder
            dup
            ldc "invalid entry compressed size (expected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 267
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " but got "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.getBytesWritten:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " bytes)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 266
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 265
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 269
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.crc:J
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.crc:Ljava/util/zip/CRC32;
            invokevirtual java.util.zip.CRC32.getValue:()J
            lcmp
            ifeq 32
        22: .line 270
            new java.util.zip.ZipException
            dup
        23: .line 271
            new java.lang.StringBuilder
            dup
            ldc "invalid entry CRC-32 (expected 0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 272
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.crc:J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " but got 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 273
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.crc:Ljava/util/zip/CRC32;
            invokevirtual java.util.zip.CRC32.getValue:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 271
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 270
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 276
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.getBytesRead:()J
            putfield java.util.zip.ZipEntry.size:J
        29: .line 277
            aload 1 /* e */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.getBytesWritten:()J
            putfield java.util.zip.ZipEntry.csize:J
        30: .line 278
            aload 1 /* e */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.crc:Ljava/util/zip/CRC32;
            invokevirtual java.util.zip.CRC32.getValue:()J
            putfield java.util.zip.ZipEntry.crc:J
        31: .line 279
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual java.util.zip.ZipOutputStream.writeEXT:(Ljava/util/zip/ZipEntry;)V
        32: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.def:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.reset:()V
        33: .line 282
            aload 0 /* this */
            dup
            getfield java.util.zip.ZipOutputStream.written:J
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            ladd
            putfield java.util.zip.ZipOutputStream.written:J
        34: .line 283
            goto 49
        35: .line 286
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.size:J
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.written:J
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.locoff:J
            lsub
            lcmp
            ifeq 41
        36: .line 287
            new java.util.zip.ZipException
            dup
        37: .line 288
            new java.lang.StringBuilder
            dup
            ldc "invalid entry size (expected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.size:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        38: .line 289
            ldc " but got "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.written:J
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.locoff:J
            lsub
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " bytes)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 288
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 287
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 291
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.crc:J
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.crc:Ljava/util/zip/CRC32;
            invokevirtual java.util.zip.CRC32.getValue:()J
            lcmp
            ifeq 49
        42: .line 292
            new java.util.zip.ZipException
            dup
        43: .line 293
            new java.lang.StringBuilder
            dup
            ldc "invalid entry crc-32 (expected 0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        44: .line 294
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.crc:J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " but got 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        45: .line 295
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.crc:Ljava/util/zip/CRC32;
            invokevirtual java.util.zip.CRC32.getValue:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        46: .line 293
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        47: .line 292
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        48: .line 299
      StackMap locals:
      StackMap stack:
            new java.util.zip.ZipException
            dup
            ldc "invalid compression method"
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.crc:Ljava/util/zip/CRC32;
            invokevirtual java.util.zip.CRC32.reset:()V
        50: .line 302
            aload 0 /* this */
            aconst_null
            putfield java.util.zip.ZipOutputStream.current:Ljava/util/zip/ZipOutputStream$XEntry;
        end local 1 // java.util.zip.ZipEntry e
        51: .line 304
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   52     0  this  Ljava/util/zip/ZipOutputStream;
            3   51     1     e  Ljava/util/zip/ZipEntry;
    Exceptions:
      throws java.io.IOException

  public synchronized void write(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 318
            aload 0 /* this */
            invokevirtual java.util.zip.ZipOutputStream.ensureOpen:()V
         1: .line 319
            iload 2 /* off */
            iflt 2
            iload 3 /* len */
            iflt 2
            iload 2 /* off */
            aload 1 /* b */
            arraylength
            iload 3 /* len */
            isub
            if_icmple 3
         2: .line 320
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         3: .line 321
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            ifne 5
         4: .line 322
            return
         5: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.current:Ljava/util/zip/ZipOutputStream$XEntry;
            ifnonnull 7
         6: .line 326
            new java.util.zip.ZipException
            dup
            ldc "no current ZIP entry"
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.current:Ljava/util/zip/ZipOutputStream$XEntry;
            getfield java.util.zip.ZipOutputStream$XEntry.entry:Ljava/util/zip/ZipEntry;
            astore 4 /* entry */
        start local 4 // java.util.zip.ZipEntry entry
         8: .line 329
            aload 4 /* entry */
            getfield java.util.zip.ZipEntry.method:I
            lookupswitch { // 2
                    0: 11
                    8: 9
              default: 18
          }
         9: .line 331
      StackMap locals: java.util.zip.ZipEntry
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokespecial java.util.zip.DeflaterOutputStream.write:([BII)V
        10: .line 332
            goto 19
        11: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.util.zip.ZipOutputStream.written:J
            iload 3 /* len */
            i2l
            ladd
            putfield java.util.zip.ZipOutputStream.written:J
        12: .line 335
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.written:J
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.locoff:J
            lsub
            aload 4 /* entry */
            getfield java.util.zip.ZipEntry.size:J
            lcmp
            ifle 16
        13: .line 336
            new java.util.zip.ZipException
            dup
        14: .line 337
            ldc "attempt to write past end of STORED entry"
        15: .line 336
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.out:Ljava/io/OutputStream;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.io.OutputStream.write:([BII)V
        17: .line 340
            goto 19
        18: .line 342
      StackMap locals:
      StackMap stack:
            new java.util.zip.ZipException
            dup
            ldc "invalid compression method"
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.crc:Ljava/util/zip/CRC32;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.util.zip.CRC32.update:([BII)V
        20: .line 345
            return
        end local 4 // java.util.zip.ZipEntry entry
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0   this  Ljava/util/zip/ZipOutputStream;
            0   21     1      b  [B
            0   21     2    off  I
            0   21     3    len  I
            8   21     4  entry  Ljava/util/zip/ZipEntry;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  public void finish();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // java.util.zip.ZipOutputStream this
         0: .line 355
            aload 0 /* this */
            invokevirtual java.util.zip.ZipOutputStream.ensureOpen:()V
         1: .line 356
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.finished:Z
            ifeq 3
         2: .line 357
            return
         3: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.current:Ljava/util/zip/ZipOutputStream$XEntry;
            ifnull 5
         4: .line 360
            aload 0 /* this */
            invokevirtual java.util.zip.ZipOutputStream.closeEntry:()V
         5: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.written:J
            lstore 1 /* off */
        start local 1 // long off
         6: .line 364
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.xentries:Ljava/util/Vector;
            invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: java.util.zip.ZipOutputStream long top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.zip.ZipOutputStream$XEntry
            astore 3 /* xentry */
        start local 3 // java.util.zip.ZipOutputStream$XEntry xentry
         8: .line 365
            aload 0 /* this */
            aload 3 /* xentry */
            invokevirtual java.util.zip.ZipOutputStream.writeCEN:(Ljava/util/zip/ZipOutputStream$XEntry;)V
        end local 3 // java.util.zip.ZipOutputStream$XEntry xentry
         9: .line 364
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 366
            aload 0 /* this */
            lload 1 /* off */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.written:J
            lload 1 /* off */
            lsub
            invokevirtual java.util.zip.ZipOutputStream.writeEND:(JJ)V
        11: .line 367
            aload 0 /* this */
            iconst_1
            putfield java.util.zip.ZipOutputStream.finished:Z
        12: .line 368
            return
        end local 1 // long off
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Ljava/util/zip/ZipOutputStream;
            6   13     1     off  J
            8    9     3  xentry  Ljava/util/zip/ZipOutputStream$XEntry;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.zip.ZipOutputStream this
         0: .line 376
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.closed:Z
            ifne 3
         1: .line 377
            aload 0 /* this */
            invokespecial java.util.zip.DeflaterOutputStream.close:()V
         2: .line 378
            aload 0 /* this */
            iconst_1
            putfield java.util.zip.ZipOutputStream.closed:Z
         3: .line 380
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/zip/ZipOutputStream;
    Exceptions:
      throws java.io.IOException

  private void writeLOC(java.util.zip.ZipOutputStream$XEntry);
    descriptor: (Ljava/util/zip/ZipOutputStream$XEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // java.util.zip.ZipOutputStream$XEntry xentry
         0: .line 386
            aload 1 /* xentry */
            getfield java.util.zip.ZipOutputStream$XEntry.entry:Ljava/util/zip/ZipEntry;
            astore 2 /* e */
        start local 2 // java.util.zip.ZipEntry e
         1: .line 387
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.flag:I
            istore 3 /* flag */
        start local 3 // int flag
         2: .line 388
            iconst_0
            istore 4 /* hasZip64 */
        start local 4 // boolean hasZip64
         3: .line 389
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.extra:[B
            invokevirtual java.util.zip.ZipOutputStream.getExtraLen:([B)I
            istore 5 /* elen */
        start local 5 // int elen
         4: .line 391
            aload 0 /* this */
            ldc 67324752
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
         5: .line 392
            iload 3 /* flag */
            bipush 8
            iand
            bipush 8
            if_icmpne 14
         6: .line 393
            aload 0 /* this */
            aload 2 /* e */
            invokestatic java.util.zip.ZipOutputStream.version:(Ljava/util/zip/ZipEntry;)I
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
         7: .line 394
            aload 0 /* this */
            iload 3 /* flag */
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
         8: .line 395
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.method:I
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
         9: .line 396
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.xdostime:J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        10: .line 399
            aload 0 /* this */
            lconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        11: .line 400
            aload 0 /* this */
            lconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        12: .line 401
            aload 0 /* this */
            lconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        13: .line 402
            goto 30
        14: .line 403
      StackMap locals: java.util.zip.ZipOutputStream java.util.zip.ZipOutputStream$XEntry java.util.zip.ZipEntry int int int
      StackMap stack:
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            ldc 4294967295
            lcmp
            ifge 15
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.size:J
            ldc 4294967295
            lcmp
            iflt 18
        15: .line 404
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* hasZip64 */
        16: .line 405
            aload 0 /* this */
            bipush 45
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        17: .line 406
            goto 19
        18: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* e */
            invokestatic java.util.zip.ZipOutputStream.version:(Ljava/util/zip/ZipEntry;)I
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        19: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* flag */
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        20: .line 410
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.method:I
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        21: .line 411
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.xdostime:J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        22: .line 412
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.crc:J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        23: .line 413
            iload 4 /* hasZip64 */
            ifeq 28
        24: .line 414
            aload 0 /* this */
            ldc 4294967295
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        25: .line 415
            aload 0 /* this */
            ldc 4294967295
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        26: .line 416
            iinc 5 /* elen */ 20
        27: .line 417
            goto 30
        28: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        29: .line 419
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.size:J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        30: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.zc:Ljava/util/zip/ZipCoder;
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.name:Ljava/lang/String;
            invokevirtual java.util.zip.ZipCoder.getBytes:(Ljava/lang/String;)[B
            astore 6 /* nameBytes */
        start local 6 // byte[] nameBytes
        31: .line 423
            aload 0 /* this */
            aload 6 /* nameBytes */
            arraylength
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        32: .line 425
            iconst_0
            istore 7 /* elenEXTT */
        start local 7 // int elenEXTT
        33: .line 426
            iconst_0
            istore 8 /* flagEXTT */
        start local 8 // int flagEXTT
        34: .line 427
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.mtime:Ljava/nio/file/attribute/FileTime;
            ifnull 37
        35: .line 428
            iinc 7 /* elenEXTT */ 4
        36: .line 429
            iload 8 /* flagEXTT */
            iconst_1
            ior
            istore 8 /* flagEXTT */
        37: .line 431
      StackMap locals: byte[] int int
      StackMap stack:
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.atime:Ljava/nio/file/attribute/FileTime;
            ifnull 40
        38: .line 432
            iinc 7 /* elenEXTT */ 4
        39: .line 433
            iload 8 /* flagEXTT */
            iconst_2
            ior
            istore 8 /* flagEXTT */
        40: .line 435
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.ctime:Ljava/nio/file/attribute/FileTime;
            ifnull 43
        41: .line 436
            iinc 7 /* elenEXTT */ 4
        42: .line 437
            iload 8 /* flagEXTT */
            iconst_4
            ior
            istore 8 /* flagEXTT */
        43: .line 439
      StackMap locals:
      StackMap stack:
            iload 8 /* flagEXTT */
            ifeq 45
        44: .line 440
            iload 5 /* elen */
            iload 7 /* elenEXTT */
            iconst_5
            iadd
            iadd
            istore 5 /* elen */
        45: .line 441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* elen */
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        46: .line 442
            aload 0 /* this */
            aload 6 /* nameBytes */
            iconst_0
            aload 6 /* nameBytes */
            arraylength
            invokevirtual java.util.zip.ZipOutputStream.writeBytes:([BII)V
        47: .line 443
            iload 4 /* hasZip64 */
            ifeq 52
        48: .line 444
            aload 0 /* this */
            iconst_1
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        49: .line 445
            aload 0 /* this */
            bipush 16
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        50: .line 446
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.size:J
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
        51: .line 447
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
        52: .line 449
      StackMap locals:
      StackMap stack:
            iload 8 /* flagEXTT */
            ifeq 62
        53: .line 450
            aload 0 /* this */
            sipush 21589
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        54: .line 451
            aload 0 /* this */
            iload 7 /* elenEXTT */
            iconst_1
            iadd
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        55: .line 452
            aload 0 /* this */
            iload 8 /* flagEXTT */
            invokevirtual java.util.zip.ZipOutputStream.writeByte:(I)V
        56: .line 453
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.mtime:Ljava/nio/file/attribute/FileTime;
            ifnull 58
        57: .line 454
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.mtime:Ljava/nio/file/attribute/FileTime;
            invokestatic java.util.zip.ZipUtils.fileTimeToUnixTime:(Ljava/nio/file/attribute/FileTime;)J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        58: .line 455
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.atime:Ljava/nio/file/attribute/FileTime;
            ifnull 60
        59: .line 456
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.atime:Ljava/nio/file/attribute/FileTime;
            invokestatic java.util.zip.ZipUtils.fileTimeToUnixTime:(Ljava/nio/file/attribute/FileTime;)J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        60: .line 457
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.ctime:Ljava/nio/file/attribute/FileTime;
            ifnull 62
        61: .line 458
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.ctime:Ljava/nio/file/attribute/FileTime;
            invokestatic java.util.zip.ZipUtils.fileTimeToUnixTime:(Ljava/nio/file/attribute/FileTime;)J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        62: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.extra:[B
            invokevirtual java.util.zip.ZipOutputStream.writeExtra:([B)V
        63: .line 461
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.written:J
            putfield java.util.zip.ZipOutputStream.locoff:J
        64: .line 462
            return
        end local 8 // int flagEXTT
        end local 7 // int elenEXTT
        end local 6 // byte[] nameBytes
        end local 5 // int elen
        end local 4 // boolean hasZip64
        end local 3 // int flag
        end local 2 // java.util.zip.ZipEntry e
        end local 1 // java.util.zip.ZipOutputStream$XEntry xentry
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   65     0       this  Ljava/util/zip/ZipOutputStream;
            0   65     1     xentry  Ljava/util/zip/ZipOutputStream$XEntry;
            1   65     2          e  Ljava/util/zip/ZipEntry;
            2   65     3       flag  I
            3   65     4   hasZip64  Z
            4   65     5       elen  I
           31   65     6  nameBytes  [B
           33   65     7   elenEXTT  I
           34   65     8   flagEXTT  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      xentry  

  private void writeEXT(java.util.zip.ZipEntry);
    descriptor: (Ljava/util/zip/ZipEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // java.util.zip.ZipEntry e
         0: .line 468
            aload 0 /* this */
            ldc 134695760
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
         1: .line 469
            aload 0 /* this */
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.crc:J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
         2: .line 470
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            ldc 4294967295
            lcmp
            ifge 3
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.size:J
            ldc 4294967295
            lcmp
            iflt 6
         3: .line 471
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
         4: .line 472
            aload 0 /* this */
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.size:J
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
         5: .line 473
            goto 8
         6: .line 474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
         7: .line 475
            aload 0 /* this */
            aload 1 /* e */
            getfield java.util.zip.ZipEntry.size:J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
         8: .line 477
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.zip.ZipEntry e
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/util/zip/ZipOutputStream;
            0    9     1     e  Ljava/util/zip/ZipEntry;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      e     

  private void writeCEN(java.util.zip.ZipOutputStream$XEntry);
    descriptor: (Ljava/util/zip/ZipOutputStream$XEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=17, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // java.util.zip.ZipOutputStream$XEntry xentry
         0: .line 484
            aload 1 /* xentry */
            getfield java.util.zip.ZipOutputStream$XEntry.entry:Ljava/util/zip/ZipEntry;
            astore 2 /* e */
        start local 2 // java.util.zip.ZipEntry e
         1: .line 485
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.flag:I
            istore 3 /* flag */
        start local 3 // int flag
         2: .line 486
            aload 2 /* e */
            invokestatic java.util.zip.ZipOutputStream.version:(Ljava/util/zip/ZipEntry;)I
            istore 4 /* version */
        start local 4 // int version
         3: .line 487
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            lstore 5 /* csize */
        start local 5 // long csize
         4: .line 488
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.size:J
            lstore 7 /* size */
        start local 7 // long size
         5: .line 489
            aload 1 /* xentry */
            getfield java.util.zip.ZipOutputStream$XEntry.offset:J
            lstore 9 /* offset */
        start local 9 // long offset
         6: .line 490
            iconst_0
            istore 11 /* elenZIP64 */
        start local 11 // int elenZIP64
         7: .line 491
            iconst_0
            istore 12 /* hasZip64 */
        start local 12 // boolean hasZip64
         8: .line 493
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            ldc 4294967295
            lcmp
            iflt 12
         9: .line 494
            ldc 4294967295
            lstore 5 /* csize */
        10: .line 495
            iinc 11 /* elenZIP64 */ 8
        11: .line 496
            iconst_1
            istore 12 /* hasZip64 */
        12: .line 498
      StackMap locals: java.util.zip.ZipOutputStream java.util.zip.ZipOutputStream$XEntry java.util.zip.ZipEntry int int long long long int int
      StackMap stack:
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.size:J
            ldc 4294967295
            lcmp
            iflt 16
        13: .line 499
            ldc 4294967295
            lstore 7 /* size */
        14: .line 500
            iinc 11 /* elenZIP64 */ 8
        15: .line 501
            iconst_1
            istore 12 /* hasZip64 */
        16: .line 503
      StackMap locals:
      StackMap stack:
            aload 1 /* xentry */
            getfield java.util.zip.ZipOutputStream$XEntry.offset:J
            ldc 4294967295
            lcmp
            iflt 20
        17: .line 504
            ldc 4294967295
            lstore 9 /* offset */
        18: .line 505
            iinc 11 /* elenZIP64 */ 8
        19: .line 506
            iconst_1
            istore 12 /* hasZip64 */
        20: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 33639248
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        21: .line 509
            iload 12 /* hasZip64 */
            ifeq 25
        22: .line 510
            aload 0 /* this */
            bipush 45
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        23: .line 511
            aload 0 /* this */
            bipush 45
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        24: .line 512
            goto 27
        25: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* version */
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        26: .line 514
            aload 0 /* this */
            iload 4 /* version */
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        27: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* flag */
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        28: .line 517
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.method:I
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        29: .line 518
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.xdostime:J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        30: .line 519
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.crc:J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        31: .line 520
            aload 0 /* this */
            lload 5 /* csize */
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        32: .line 521
            aload 0 /* this */
            lload 7 /* size */
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        33: .line 522
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.zc:Ljava/util/zip/ZipCoder;
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.name:Ljava/lang/String;
            invokevirtual java.util.zip.ZipCoder.getBytes:(Ljava/lang/String;)[B
            astore 13 /* nameBytes */
        start local 13 // byte[] nameBytes
        34: .line 523
            aload 0 /* this */
            aload 13 /* nameBytes */
            arraylength
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        35: .line 525
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.extra:[B
            invokevirtual java.util.zip.ZipOutputStream.getExtraLen:([B)I
            istore 14 /* elen */
        start local 14 // int elen
        36: .line 526
            iload 12 /* hasZip64 */
            ifeq 38
        37: .line 527
            iload 14 /* elen */
            iload 11 /* elenZIP64 */
            iconst_4
            iadd
            iadd
            istore 14 /* elen */
        38: .line 531
      StackMap locals: byte[] int
      StackMap stack:
            iconst_0
            istore 15 /* flagEXTT */
        start local 15 // int flagEXTT
        39: .line 532
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.mtime:Ljava/nio/file/attribute/FileTime;
            ifnull 42
        40: .line 533
            iinc 14 /* elen */ 4
        41: .line 534
            iload 15 /* flagEXTT */
            iconst_1
            ior
            istore 15 /* flagEXTT */
        42: .line 536
      StackMap locals: int
      StackMap stack:
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.atime:Ljava/nio/file/attribute/FileTime;
            ifnull 44
        43: .line 537
            iload 15 /* flagEXTT */
            iconst_2
            ior
            istore 15 /* flagEXTT */
        44: .line 539
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.ctime:Ljava/nio/file/attribute/FileTime;
            ifnull 46
        45: .line 540
            iload 15 /* flagEXTT */
            iconst_4
            ior
            istore 15 /* flagEXTT */
        46: .line 542
      StackMap locals:
      StackMap stack:
            iload 15 /* flagEXTT */
            ifeq 48
        47: .line 543
            iinc 14 /* elen */ 5
        48: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 14 /* elen */
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        49: .line 547
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.comment:Ljava/lang/String;
            ifnull 53
        50: .line 548
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.zc:Ljava/util/zip/ZipCoder;
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.comment:Ljava/lang/String;
            invokevirtual java.util.zip.ZipCoder.getBytes:(Ljava/lang/String;)[B
            astore 16 /* commentBytes */
        start local 16 // byte[] commentBytes
        51: .line 549
            aload 0 /* this */
            aload 16 /* commentBytes */
            arraylength
            ldc 65535
            invokestatic java.lang.Math.min:(II)I
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        52: .line 550
            goto 55
        end local 16 // byte[] commentBytes
        53: .line 551
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 16 /* commentBytes */
        start local 16 // byte[] commentBytes
        54: .line 552
            aload 0 /* this */
            iconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        55: .line 554
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        56: .line 555
            aload 0 /* this */
            iconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        57: .line 556
            aload 0 /* this */
            lconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        58: .line 557
            aload 0 /* this */
            lload 9 /* offset */
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        59: .line 558
            aload 0 /* this */
            aload 13 /* nameBytes */
            iconst_0
            aload 13 /* nameBytes */
            arraylength
            invokevirtual java.util.zip.ZipOutputStream.writeBytes:([BII)V
        60: .line 561
            iload 12 /* hasZip64 */
            ifeq 69
        61: .line 562
            aload 0 /* this */
            iconst_1
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        62: .line 563
            aload 0 /* this */
            iload 11 /* elenZIP64 */
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        63: .line 564
            lload 7 /* size */
            ldc 4294967295
            lcmp
            ifne 65
        64: .line 565
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.size:J
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
        65: .line 566
      StackMap locals:
      StackMap stack:
            lload 5 /* csize */
            ldc 4294967295
            lcmp
            ifne 67
        66: .line 567
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.csize:J
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
        67: .line 568
      StackMap locals:
      StackMap stack:
            lload 9 /* offset */
            ldc 4294967295
            lcmp
            ifne 69
        68: .line 569
            aload 0 /* this */
            aload 1 /* xentry */
            getfield java.util.zip.ZipOutputStream$XEntry.offset:J
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
        69: .line 571
      StackMap locals:
      StackMap stack:
            iload 15 /* flagEXTT */
            ifeq 78
        70: .line 572
            aload 0 /* this */
            sipush 21589
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        71: .line 573
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.mtime:Ljava/nio/file/attribute/FileTime;
            ifnull 76
        72: .line 574
            aload 0 /* this */
            iconst_5
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        73: .line 575
            aload 0 /* this */
            iload 15 /* flagEXTT */
            invokevirtual java.util.zip.ZipOutputStream.writeByte:(I)V
        74: .line 576
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.mtime:Ljava/nio/file/attribute/FileTime;
            invokestatic java.util.zip.ZipUtils.fileTimeToUnixTime:(Ljava/nio/file/attribute/FileTime;)J
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        75: .line 577
            goto 78
        76: .line 578
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        77: .line 579
            aload 0 /* this */
            iload 15 /* flagEXTT */
            invokevirtual java.util.zip.ZipOutputStream.writeByte:(I)V
        78: .line 582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* e */
            getfield java.util.zip.ZipEntry.extra:[B
            invokevirtual java.util.zip.ZipOutputStream.writeExtra:([B)V
        79: .line 583
            aload 16 /* commentBytes */
            ifnull 81
        80: .line 584
            aload 0 /* this */
            aload 16 /* commentBytes */
            iconst_0
            aload 16 /* commentBytes */
            arraylength
            ldc 65535
            invokestatic java.lang.Math.min:(II)I
            invokevirtual java.util.zip.ZipOutputStream.writeBytes:([BII)V
        81: .line 586
      StackMap locals:
      StackMap stack:
            return
        end local 16 // byte[] commentBytes
        end local 15 // int flagEXTT
        end local 14 // int elen
        end local 13 // byte[] nameBytes
        end local 12 // boolean hasZip64
        end local 11 // int elenZIP64
        end local 9 // long offset
        end local 7 // long size
        end local 5 // long csize
        end local 4 // int version
        end local 3 // int flag
        end local 2 // java.util.zip.ZipEntry e
        end local 1 // java.util.zip.ZipOutputStream$XEntry xentry
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   82     0          this  Ljava/util/zip/ZipOutputStream;
            0   82     1        xentry  Ljava/util/zip/ZipOutputStream$XEntry;
            1   82     2             e  Ljava/util/zip/ZipEntry;
            2   82     3          flag  I
            3   82     4       version  I
            4   82     5         csize  J
            5   82     7          size  J
            6   82     9        offset  J
            7   82    11     elenZIP64  I
            8   82    12      hasZip64  Z
           34   82    13     nameBytes  [B
           36   82    14          elen  I
           39   82    15      flagEXTT  I
           51   53    16  commentBytes  [B
           54   82    16  commentBytes  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      xentry  

  private void writeEND(long, long);
    descriptor: (JJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=13, args_size=3
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // long off
        start local 3 // long len
         0: .line 592
            iconst_0
            istore 5 /* hasZip64 */
        start local 5 // boolean hasZip64
         1: .line 593
            lload 3 /* len */
            lstore 6 /* xlen */
        start local 6 // long xlen
         2: .line 594
            lload 1 /* off */
            lstore 8 /* xoff */
        start local 8 // long xoff
         3: .line 595
            lload 6 /* xlen */
            ldc 4294967295
            lcmp
            iflt 6
         4: .line 596
            ldc 4294967295
            lstore 6 /* xlen */
         5: .line 597
            iconst_1
            istore 5 /* hasZip64 */
         6: .line 599
      StackMap locals: int long long
      StackMap stack:
            lload 8 /* xoff */
            ldc 4294967295
            lcmp
            iflt 9
         7: .line 600
            ldc 4294967295
            lstore 8 /* xoff */
         8: .line 601
            iconst_1
            istore 5 /* hasZip64 */
         9: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.xentries:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            istore 10 /* count */
        start local 10 // int count
        10: .line 604
            iload 10 /* count */
            ldc 65535
            if_icmplt 16
        11: .line 605
            iload 5 /* hasZip64 */
            getstatic java.util.zip.ZipOutputStream.inhibitZip64:Z
            ifeq 12
            iconst_0
            goto 13
      StackMap locals: java.util.zip.ZipOutputStream long long int long long int
      StackMap stack: int
        12: iconst_1
      StackMap locals: java.util.zip.ZipOutputStream long long int long long int
      StackMap stack: int int
        13: ior
            istore 5 /* hasZip64 */
        14: .line 606
            iload 5 /* hasZip64 */
            ifeq 16
        15: .line 607
            ldc 65535
            istore 10 /* count */
        16: .line 610
      StackMap locals:
      StackMap stack:
            iload 5 /* hasZip64 */
            ifeq 32
        17: .line 611
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.written:J
            lstore 11 /* off64 */
        start local 11 // long off64
        18: .line 613
            aload 0 /* this */
            ldc 101075792
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        19: .line 614
            aload 0 /* this */
            ldc 44
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
        20: .line 615
            aload 0 /* this */
            bipush 45
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        21: .line 616
            aload 0 /* this */
            bipush 45
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        22: .line 617
            aload 0 /* this */
            lconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        23: .line 618
            aload 0 /* this */
            lconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        24: .line 619
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.xentries:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            i2l
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
        25: .line 620
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.xentries:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            i2l
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
        26: .line 621
            aload 0 /* this */
            lload 3 /* len */
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
        27: .line 622
            aload 0 /* this */
            lload 1 /* off */
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
        28: .line 625
            aload 0 /* this */
            ldc 117853008
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        29: .line 626
            aload 0 /* this */
            lconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        30: .line 627
            aload 0 /* this */
            lload 11 /* off64 */
            invokevirtual java.util.zip.ZipOutputStream.writeLong:(J)V
        31: .line 628
            aload 0 /* this */
            lconst_1
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        end local 11 // long off64
        32: .line 630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 101010256
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        33: .line 631
            aload 0 /* this */
            iconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        34: .line 632
            aload 0 /* this */
            iconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        35: .line 633
            aload 0 /* this */
            iload 10 /* count */
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        36: .line 634
            aload 0 /* this */
            iload 10 /* count */
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        37: .line 635
            aload 0 /* this */
            lload 6 /* xlen */
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        38: .line 636
            aload 0 /* this */
            lload 8 /* xoff */
            invokevirtual java.util.zip.ZipOutputStream.writeInt:(J)V
        39: .line 637
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.comment:[B
            ifnull 43
        40: .line 638
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.comment:[B
            arraylength
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        41: .line 639
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.comment:[B
            iconst_0
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.comment:[B
            arraylength
            invokevirtual java.util.zip.ZipOutputStream.writeBytes:([BII)V
        42: .line 640
            goto 44
        43: .line 641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.util.zip.ZipOutputStream.writeShort:(I)V
        44: .line 643
      StackMap locals:
      StackMap stack:
            return
        end local 10 // int count
        end local 8 // long xoff
        end local 6 // long xlen
        end local 5 // boolean hasZip64
        end local 3 // long len
        end local 1 // long off
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   45     0      this  Ljava/util/zip/ZipOutputStream;
            0   45     1       off  J
            0   45     3       len  J
            1   45     5  hasZip64  Z
            2   45     6      xlen  J
            3   45     8      xoff  J
           10   45    10     count  I
           18   32    11     off64  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      off   
      len   

  private int getExtraLen(byte[]);
    descriptor: ([B)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // byte[] extra
         0: .line 649
            aload 1 /* extra */
            ifnonnull 2
         1: .line 650
            iconst_0
            ireturn
         2: .line 651
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* skipped */
        start local 2 // int skipped
         3: .line 652
            aload 1 /* extra */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         4: .line 653
            iconst_0
            istore 4 /* off */
        start local 4 // int off
         5: .line 654
            goto 13
         6: .line 655
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* extra */
            iload 4 /* off */
            invokestatic java.util.zip.ZipUtils.get16:([BI)I
            istore 5 /* tag */
        start local 5 // int tag
         7: .line 656
            aload 1 /* extra */
            iload 4 /* off */
            iconst_2
            iadd
            invokestatic java.util.zip.ZipUtils.get16:([BI)I
            istore 6 /* sz */
        start local 6 // int sz
         8: .line 657
            iload 6 /* sz */
            iflt 14
            iload 4 /* off */
            iconst_4
            iadd
            iload 6 /* sz */
            iadd
            iload 3 /* len */
            if_icmple 10
         9: .line 658
            goto 14
        10: .line 660
      StackMap locals: int int
      StackMap stack:
            iload 5 /* tag */
            sipush 21589
            if_icmpeq 11
            iload 5 /* tag */
            iconst_1
            if_icmpne 12
        11: .line 661
      StackMap locals:
      StackMap stack:
            iload 2 /* skipped */
            iload 6 /* sz */
            iconst_4
            iadd
            iadd
            istore 2 /* skipped */
        12: .line 663
      StackMap locals:
      StackMap stack:
            iload 4 /* off */
            iload 6 /* sz */
            iconst_4
            iadd
            iadd
            istore 4 /* off */
        end local 6 // int sz
        end local 5 // int tag
        13: .line 654
      StackMap locals:
      StackMap stack:
            iload 4 /* off */
            iconst_4
            iadd
            iload 3 /* len */
            if_icmple 6
        14: .line 665
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            iload 2 /* skipped */
            isub
            ireturn
        end local 4 // int off
        end local 3 // int len
        end local 2 // int skipped
        end local 1 // byte[] extra
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Ljava/util/zip/ZipOutputStream;
            0   15     1    extra  [B
            3   15     2  skipped  I
            4   15     3      len  I
            5   15     4      off  I
            7   13     5      tag  I
            8   13     6       sz  I
    MethodParameters:
       Name  Flags
      extra  

  private void writeExtra(byte[]);
    descriptor: ([B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // byte[] extra
         0: .line 675
            aload 1 /* extra */
            ifnull 15
         1: .line 676
            aload 1 /* extra */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         2: .line 677
            iconst_0
            istore 3 /* off */
        start local 3 // int off
         3: .line 678
            goto 12
         4: .line 679
      StackMap locals: int int
      StackMap stack:
            aload 1 /* extra */
            iload 3 /* off */
            invokestatic java.util.zip.ZipUtils.get16:([BI)I
            istore 4 /* tag */
        start local 4 // int tag
         5: .line 680
            aload 1 /* extra */
            iload 3 /* off */
            iconst_2
            iadd
            invokestatic java.util.zip.ZipUtils.get16:([BI)I
            istore 5 /* sz */
        start local 5 // int sz
         6: .line 681
            iload 5 /* sz */
            iflt 7
            iload 3 /* off */
            iconst_4
            iadd
            iload 5 /* sz */
            iadd
            iload 2 /* len */
            if_icmple 9
         7: .line 682
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* extra */
            iload 3 /* off */
            iload 2 /* len */
            iload 3 /* off */
            isub
            invokevirtual java.util.zip.ZipOutputStream.writeBytes:([BII)V
         8: .line 683
            return
         9: .line 685
      StackMap locals:
      StackMap stack:
            iload 4 /* tag */
            sipush 21589
            if_icmpeq 11
            iload 4 /* tag */
            iconst_1
            if_icmpeq 11
        10: .line 686
            aload 0 /* this */
            aload 1 /* extra */
            iload 3 /* off */
            iload 5 /* sz */
            iconst_4
            iadd
            invokevirtual java.util.zip.ZipOutputStream.writeBytes:([BII)V
        11: .line 688
      StackMap locals:
      StackMap stack:
            iload 3 /* off */
            iload 5 /* sz */
            iconst_4
            iadd
            iadd
            istore 3 /* off */
        end local 5 // int sz
        end local 4 // int tag
        12: .line 678
      StackMap locals:
      StackMap stack:
            iload 3 /* off */
            iconst_4
            iadd
            iload 2 /* len */
            if_icmple 4
        13: .line 690
            iload 3 /* off */
            iload 2 /* len */
            if_icmpge 15
        14: .line 691
            aload 0 /* this */
            aload 1 /* extra */
            iload 3 /* off */
            iload 2 /* len */
            iload 3 /* off */
            isub
            invokevirtual java.util.zip.ZipOutputStream.writeBytes:([BII)V
        end local 3 // int off
        end local 2 // int len
        15: .line 694
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] extra
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Ljava/util/zip/ZipOutputStream;
            0   16     1  extra  [B
            2   15     2    len  I
            3   15     3    off  I
            5   12     4    tag  I
            6   12     5     sz  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      extra  

  private void writeByte(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // int v
         0: .line 700
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.out:Ljava/io/OutputStream;
            astore 2 /* out */
        start local 2 // java.io.OutputStream out
         1: .line 701
            aload 2 /* out */
            iload 1 /* v */
            sipush 255
            iand
            invokevirtual java.io.OutputStream.write:(I)V
         2: .line 702
            aload 0 /* this */
            dup
            getfield java.util.zip.ZipOutputStream.written:J
            lconst_1
            ladd
            putfield java.util.zip.ZipOutputStream.written:J
         3: .line 703
            return
        end local 2 // java.io.OutputStream out
        end local 1 // int v
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/zip/ZipOutputStream;
            0    4     1     v  I
            1    4     2   out  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      v     

  private void writeShort(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // int v
         0: .line 709
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.out:Ljava/io/OutputStream;
            astore 2 /* out */
        start local 2 // java.io.OutputStream out
         1: .line 710
            aload 2 /* out */
            iload 1 /* v */
            iconst_0
            iushr
            sipush 255
            iand
            invokevirtual java.io.OutputStream.write:(I)V
         2: .line 711
            aload 2 /* out */
            iload 1 /* v */
            bipush 8
            iushr
            sipush 255
            iand
            invokevirtual java.io.OutputStream.write:(I)V
         3: .line 712
            aload 0 /* this */
            dup
            getfield java.util.zip.ZipOutputStream.written:J
            ldc 2
            ladd
            putfield java.util.zip.ZipOutputStream.written:J
         4: .line 713
            return
        end local 2 // java.io.OutputStream out
        end local 1 // int v
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/zip/ZipOutputStream;
            0    5     1     v  I
            1    5     2   out  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      v     

  private void writeInt(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // long v
         0: .line 719
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.out:Ljava/io/OutputStream;
            astore 3 /* out */
        start local 3 // java.io.OutputStream out
         1: .line 720
            aload 3 /* out */
            lload 1 /* v */
            iconst_0
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         2: .line 721
            aload 3 /* out */
            lload 1 /* v */
            bipush 8
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         3: .line 722
            aload 3 /* out */
            lload 1 /* v */
            bipush 16
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         4: .line 723
            aload 3 /* out */
            lload 1 /* v */
            bipush 24
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         5: .line 724
            aload 0 /* this */
            dup
            getfield java.util.zip.ZipOutputStream.written:J
            ldc 4
            ladd
            putfield java.util.zip.ZipOutputStream.written:J
         6: .line 725
            return
        end local 3 // java.io.OutputStream out
        end local 1 // long v
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/zip/ZipOutputStream;
            0    7     1     v  J
            1    7     3   out  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      v     

  private void writeLong(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // long v
         0: .line 731
            aload 0 /* this */
            getfield java.util.zip.ZipOutputStream.out:Ljava/io/OutputStream;
            astore 3 /* out */
        start local 3 // java.io.OutputStream out
         1: .line 732
            aload 3 /* out */
            lload 1 /* v */
            iconst_0
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         2: .line 733
            aload 3 /* out */
            lload 1 /* v */
            bipush 8
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         3: .line 734
            aload 3 /* out */
            lload 1 /* v */
            bipush 16
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         4: .line 735
            aload 3 /* out */
            lload 1 /* v */
            bipush 24
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         5: .line 736
            aload 3 /* out */
            lload 1 /* v */
            bipush 32
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         6: .line 737
            aload 3 /* out */
            lload 1 /* v */
            bipush 40
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         7: .line 738
            aload 3 /* out */
            lload 1 /* v */
            bipush 48
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         8: .line 739
            aload 3 /* out */
            lload 1 /* v */
            bipush 56
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         9: .line 740
            aload 0 /* this */
            dup
            getfield java.util.zip.ZipOutputStream.written:J
            ldc 8
            ladd
            putfield java.util.zip.ZipOutputStream.written:J
        10: .line 741
            return
        end local 3 // java.io.OutputStream out
        end local 1 // long v
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/util/zip/ZipOutputStream;
            0   11     1     v  J
            1   11     3   out  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      v     

  private void writeBytes(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.util.zip.ZipOutputStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 747
            aload 0 /* this */
            getfield java.util.zip.DeflaterOutputStream.out:Ljava/io/OutputStream;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.io.OutputStream.write:([BII)V
         1: .line 748
            aload 0 /* this */
            dup
            getfield java.util.zip.ZipOutputStream.written:J
            iload 3 /* len */
            i2l
            ladd
            putfield java.util.zip.ZipOutputStream.written:J
         2: .line 749
            return
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // java.util.zip.ZipOutputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/zip/ZipOutputStream;
            0    3     1     b  [B
            0    3     2   off  I
            0    3     3   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   
}
SourceFile: "ZipOutputStream.java"
NestMembers:
  java.util.zip.ZipOutputStream$XEntry
InnerClasses:
  private XEntry = java.util.zip.ZipOutputStream$XEntry of java.util.zip.ZipOutputStream