class jdk.nio.zipfs.ZipUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nio.zipfs.ZipUtils
  super_class: java.lang.Object
{
  private static final long WINDOWS_EPOCH_IN_MICROSECONDS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -11644473600000000

  private static final java.lang.String regexMetaChars;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ".^$+{[]|()"

  private static final java.lang.String globMetaChars;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "\\*?[{"

  private static char EOL;
    descriptor: C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 179
            iconst_0
            putstatic jdk.nio.zipfs.ZipUtils.EOL:C
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nio.zipfs.ZipUtils this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.nio.zipfs.ZipUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nio/zipfs/ZipUtils;

  public static void writeShort(java.io.OutputStream, int);
    descriptor: (Ljava/io/OutputStream;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.io.OutputStream os
        start local 1 // int v
         0: .line 48
            aload 0 /* os */
            iload 1 /* v */
            sipush 255
            iand
            invokevirtual java.io.OutputStream.write:(I)V
         1: .line 49
            aload 0 /* os */
            iload 1 /* v */
            bipush 8
            iushr
            sipush 255
            iand
            invokevirtual java.io.OutputStream.write:(I)V
         2: .line 50
            return
        end local 1 // int v
        end local 0 // java.io.OutputStream os
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    os  Ljava/io/OutputStream;
            0    3     1     v  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      os    
      v     

  public static void writeInt(java.io.OutputStream, long);
    descriptor: (Ljava/io/OutputStream;J)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.io.OutputStream os
        start local 1 // long v
         0: .line 56
            aload 0 /* os */
            lload 1 /* v */
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         1: .line 57
            aload 0 /* os */
            lload 1 /* v */
            bipush 8
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         2: .line 58
            aload 0 /* os */
            lload 1 /* v */
            bipush 16
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         3: .line 59
            aload 0 /* os */
            lload 1 /* v */
            bipush 24
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         4: .line 60
            return
        end local 1 // long v
        end local 0 // java.io.OutputStream os
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    os  Ljava/io/OutputStream;
            0    5     1     v  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      os    
      v     

  public static void writeLong(java.io.OutputStream, long);
    descriptor: (Ljava/io/OutputStream;J)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.io.OutputStream os
        start local 1 // long v
         0: .line 66
            aload 0 /* os */
            lload 1 /* v */
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         1: .line 67
            aload 0 /* os */
            lload 1 /* v */
            bipush 8
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         2: .line 68
            aload 0 /* os */
            lload 1 /* v */
            bipush 16
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         3: .line 69
            aload 0 /* os */
            lload 1 /* v */
            bipush 24
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         4: .line 70
            aload 0 /* os */
            lload 1 /* v */
            bipush 32
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         5: .line 71
            aload 0 /* os */
            lload 1 /* v */
            bipush 40
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         6: .line 72
            aload 0 /* os */
            lload 1 /* v */
            bipush 48
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         7: .line 73
            aload 0 /* os */
            lload 1 /* v */
            bipush 56
            lushr
            ldc 255
            land
            l2i
            invokevirtual java.io.OutputStream.write:(I)V
         8: .line 74
            return
        end local 1 // long v
        end local 0 // java.io.OutputStream os
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0    os  Ljava/io/OutputStream;
            0    9     1     v  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      os    
      v     

  public static void writeBytes(java.io.OutputStream, byte[]);
    descriptor: (Ljava/io/OutputStream;[B)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.io.OutputStream os
        start local 1 // byte[] b
         0: .line 82
            aload 0 /* os */
            aload 1 /* b */
            iconst_0
            aload 1 /* b */
            arraylength
            invokevirtual java.io.OutputStream.write:([BII)V
         1: .line 83
            return
        end local 1 // byte[] b
        end local 0 // java.io.OutputStream os
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    os  Ljava/io/OutputStream;
            0    2     1     b  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      os    
      b     

  public static void writeBytes(java.io.OutputStream, byte[], int, int);
    descriptor: (Ljava/io/OutputStream;[BII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.io.OutputStream os
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 91
            aload 0 /* os */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.io.OutputStream.write:([BII)V
         1: .line 92
            return
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // java.io.OutputStream os
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    os  Ljava/io/OutputStream;
            0    2     1     b  [B
            0    2     2   off  I
            0    2     3   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      os    
      b     
      off   
      len   

  public static byte[] toDirectoryPath(byte[]);
    descriptor: ([B)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // byte[] dir
         0: .line 98
            aload 0 /* dir */
            arraylength
            ifeq 3
            aload 0 /* dir */
            aload 0 /* dir */
            arraylength
            iconst_1
            isub
            baload
            bipush 47
            if_icmpeq 3
         1: .line 99
            aload 0 /* dir */
            aload 0 /* dir */
            arraylength
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([BI)[B
            astore 0 /* dir */
         2: .line 100
            aload 0 /* dir */
            aload 0 /* dir */
            arraylength
            iconst_1
            isub
            bipush 47
            bastore
         3: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* dir */
            areturn
        end local 0 // byte[] dir
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   dir  [B
    MethodParameters:
      Name  Flags
      dir   

  public static long dosToJavaTime(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=1
        start local 0 // long dtime
         0: .line 112
            lload 0 /* dtime */
            bipush 11
            lshr
            ldc 31
            land
            l2i
            istore 5 /* hour */
        start local 5 // int hour
         1: .line 113
            lload 0 /* dtime */
            iconst_5
            lshr
            ldc 63
            land
            l2i
            istore 6 /* minute */
        start local 6 // int minute
         2: .line 114
            lload 0 /* dtime */
            iconst_1
            lshl
            ldc 62
            land
            l2i
            istore 7 /* second */
        start local 7 // int second
         3: .line 115
            lload 0 /* dtime */
            bipush 16
            lshr
            lconst_0
            lcmp
            ifne 8
         4: .line 118
            sipush 1979
            istore 2 /* year */
        start local 2 // int year
         5: .line 119
            bipush 11
            istore 3 /* month */
        start local 3 // int month
         6: .line 120
            bipush 30
            istore 4 /* day */
        start local 4 // int day
         7: .line 121
            goto 11
        end local 4 // int day
        end local 3 // int month
        end local 2 // int year
         8: .line 122
      StackMap locals: long top top top int int int
      StackMap stack:
            lload 0 /* dtime */
            bipush 25
            lshr
            ldc 127
            land
            ldc 1980
            ladd
            l2i
            istore 2 /* year */
        start local 2 // int year
         9: .line 123
            lload 0 /* dtime */
            bipush 21
            lshr
            ldc 15
            land
            l2i
            istore 3 /* month */
        start local 3 // int month
        10: .line 124
            lload 0 /* dtime */
            bipush 16
            lshr
            ldc 31
            land
            l2i
            istore 4 /* day */
        start local 4 // int day
        11: .line 126
      StackMap locals: long int int int int int int
      StackMap stack:
            iload 2 /* year */
            iload 3 /* month */
            iload 4 /* day */
            iload 5 /* hour */
            iload 6 /* minute */
            iload 7 /* second */
            invokestatic java.time.LocalDateTime.of:(IIIIII)Ljava/time/LocalDateTime;
            astore 8 /* ldt */
        start local 8 // java.time.LocalDateTime ldt
        12: .line 127
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            aload 8 /* ldt */
        13: .line 128
            invokestatic java.time.ZoneId.systemDefault:()Ljava/time/ZoneId;
            invokevirtual java.time.ZoneId.getRules:()Ljava/time/zone/ZoneRules;
            aload 8 /* ldt */
            invokevirtual java.time.zone.ZoneRules.getOffset:(Ljava/time/LocalDateTime;)Ljava/time/ZoneOffset;
        14: .line 127
            invokevirtual java.time.LocalDateTime.toEpochSecond:(Ljava/time/ZoneOffset;)J
        15: .line 128
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
        16: .line 127
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 8 // java.time.LocalDateTime ldt
        end local 7 // int second
        end local 6 // int minute
        end local 5 // int hour
        end local 4 // int day
        end local 3 // int month
        end local 2 // int year
        end local 0 // long dtime
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0   dtime  J
            5    8     2    year  I
            9   17     2    year  I
            6    8     3   month  I
           10   17     3   month  I
            7    8     4     day  I
           11   17     4     day  I
            1   17     5    hour  I
            2   17     6  minute  I
            3   17     7  second  I
           12   17     8     ldt  Ljava/time/LocalDateTime;
    MethodParameters:
       Name  Flags
      dtime  

  public static long javaToDosTime(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // long time
         0: .line 135
            lload 0 /* time */
            invokestatic java.time.Instant.ofEpochMilli:(J)Ljava/time/Instant;
            astore 2 /* instant */
        start local 2 // java.time.Instant instant
         1: .line 137
            aload 2 /* instant */
            invokestatic java.time.ZoneId.systemDefault:()Ljava/time/ZoneId;
         2: .line 136
            invokestatic java.time.LocalDateTime.ofInstant:(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/LocalDateTime;
            astore 3 /* ldt */
        start local 3 // java.time.LocalDateTime ldt
         3: .line 138
            aload 3 /* ldt */
            invokevirtual java.time.LocalDateTime.getYear:()I
            sipush 1980
            isub
            istore 4 /* year */
        start local 4 // int year
         4: .line 139
            iload 4 /* year */
            ifge 6
         5: .line 140
            ldc 2162688
            lreturn
         6: .line 142
      StackMap locals: java.time.Instant java.time.LocalDateTime int
      StackMap stack:
            iload 4 /* year */
            bipush 25
            ishl
         7: .line 143
            aload 3 /* ldt */
            invokevirtual java.time.LocalDateTime.getMonthValue:()I
            bipush 21
            ishl
         8: .line 142
            ior
         9: .line 144
            aload 3 /* ldt */
            invokevirtual java.time.LocalDateTime.getDayOfMonth:()I
            bipush 16
            ishl
        10: .line 142
            ior
        11: .line 145
            aload 3 /* ldt */
            invokevirtual java.time.LocalDateTime.getHour:()I
            bipush 11
            ishl
        12: .line 142
            ior
        13: .line 146
            aload 3 /* ldt */
            invokevirtual java.time.LocalDateTime.getMinute:()I
            iconst_5
            ishl
        14: .line 142
            ior
        15: .line 147
            aload 3 /* ldt */
            invokevirtual java.time.LocalDateTime.getSecond:()I
            iconst_1
            ishr
        16: .line 142
            ior
            i2l
        17: .line 147
            ldc 4294967295
        18: .line 142
            land
            lreturn
        end local 4 // int year
        end local 3 // java.time.LocalDateTime ldt
        end local 2 // java.time.Instant instant
        end local 0 // long time
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     time  J
            1   19     2  instant  Ljava/time/Instant;
            3   19     3      ldt  Ljava/time/LocalDateTime;
            4   19     4     year  I
    MethodParameters:
      Name  Flags
      time  

  public static final long winToJavaTime(long);
    descriptor: (J)J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long wtime
         0: .line 154
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
         1: .line 155
            lload 0 /* wtime */
            ldc 10
            ldiv
            ldc -11644473600000000
            ladd
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
         2: .line 154
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 0 // long wtime
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  wtime  J
    MethodParameters:
       Name  Flags
      wtime  

  public static final long javaToWinTime(long);
    descriptor: (J)J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long time
         0: .line 159
            getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 0 /* time */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
         1: .line 160
            ldc -11644473600000000
         2: .line 159
            lsub
         3: .line 160
            ldc 10
         4: .line 159
            lmul
            lreturn
        end local 0 // long time
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  time  J
    MethodParameters:
      Name  Flags
      time  

  public static final long unixToJavaTime(long);
    descriptor: (J)J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long utime
         0: .line 164
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            lload 0 /* utime */
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 0 // long utime
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  utime  J
    MethodParameters:
       Name  Flags
      utime  

  public static final long javaToUnixTime(long);
    descriptor: (J)J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long time
         0: .line 168
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            lload 0 /* time */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 0 // long time
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  time  J
    MethodParameters:
      Name  Flags
      time  

  private static boolean isRegexMeta(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 174
            ldc ".^$+{[]|()"
            iload 0 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  C
    MethodParameters:
      Name  Flags
      c     

  private static boolean isGlobMeta(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 177
            ldc "\\*?[{"
            iload 0 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  C
    MethodParameters:
      Name  Flags
      c     

  private static char next(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String glob
        start local 1 // int i
         0: .line 181
            iload 1 /* i */
            aload 0 /* glob */
            invokevirtual java.lang.String.length:()I
            if_icmpge 2
         1: .line 182
            aload 0 /* glob */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            ireturn
         2: .line 184
      StackMap locals:
      StackMap stack:
            getstatic jdk.nio.zipfs.ZipUtils.EOL:C
            ireturn
        end local 1 // int i
        end local 0 // java.lang.String glob
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  glob  Ljava/lang/String;
            0    3     1     i  I
    MethodParameters:
      Name  Flags
      glob  
      i     

  public static java.lang.String toRegexPattern(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=1
        start local 0 // java.lang.String globPattern
         0: .line 193
            iconst_0
            istore 1 /* inGroup */
        start local 1 // boolean inGroup
         1: .line 194
            new java.lang.StringBuilder
            dup
            ldc "^"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 2 /* regex */
        start local 2 // java.lang.StringBuilder regex
         2: .line 196
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: .line 197
            goto 92
         4: .line 198
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* globPattern */
            iload 3 /* i */
            iinc 3 /* i */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         5: .line 199
            iload 4 /* c */
            lookupswitch { // 8
                   42: 81
                   44: 76
                   47: 15
                   63: 87
                   91: 17
                   92: 6
                  123: 63
                  125: 70
              default: 89
          }
         6: .line 202
      StackMap locals: int
      StackMap stack:
            iload 3 /* i */
            aload 0 /* globPattern */
            invokevirtual java.lang.String.length:()I
            if_icmpne 10
         7: .line 203
            new java.util.regex.PatternSyntaxException
            dup
            ldc "No character to escape"
         8: .line 204
            aload 0 /* globPattern */
            iload 3 /* i */
            iconst_1
            isub
         9: .line 203
            invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
        10: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* globPattern */
            iload 3 /* i */
            iinc 3 /* i */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* next */
        start local 5 // char next
        11: .line 207
            iload 5 /* next */
            invokestatic jdk.nio.zipfs.ZipUtils.isGlobMeta:(C)Z
            ifne 12
            iload 5 /* next */
            invokestatic jdk.nio.zipfs.ZipUtils.isRegexMeta:(C)Z
            ifeq 13
        12: .line 208
      StackMap locals: int
      StackMap stack:
            aload 2 /* regex */
            bipush 92
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 210
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            iload 5 /* next */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 211
            goto 92
        end local 5 // char next
        15: .line 213
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            iload 4 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 214
            goto 92
        17: .line 217
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            ldc "[[^/]&&["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 218
            aload 0 /* globPattern */
            iload 3 /* i */
            invokestatic jdk.nio.zipfs.ZipUtils.next:(Ljava/lang/String;I)C
            bipush 94
            if_icmpne 22
        19: .line 220
            aload 2 /* regex */
            ldc "\\^"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 221
            iinc 3 /* i */ 1
        21: .line 222
            goto 28
        22: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* globPattern */
            iload 3 /* i */
            invokestatic jdk.nio.zipfs.ZipUtils.next:(Ljava/lang/String;I)C
            bipush 33
            if_icmpne 25
        23: .line 225
            aload 2 /* regex */
            bipush 94
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 226
            iinc 3 /* i */ 1
        25: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* globPattern */
            iload 3 /* i */
            invokestatic jdk.nio.zipfs.ZipUtils.next:(Ljava/lang/String;I)C
            bipush 45
            if_icmpne 28
        26: .line 230
            aload 2 /* regex */
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 231
            iinc 3 /* i */ 1
        28: .line 234
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* hasRangeStart */
        start local 6 // boolean hasRangeStart
        29: .line 235
            iconst_0
            istore 7 /* last */
        start local 7 // char last
        30: .line 236
            goto 58
        31: .line 237
      StackMap locals: java.lang.String int java.lang.StringBuilder int int top int int
      StackMap stack:
            aload 0 /* globPattern */
            iload 3 /* i */
            iinc 3 /* i */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        32: .line 238
            iload 4 /* c */
            bipush 93
            if_icmpne 34
        33: .line 239
            goto 59
        34: .line 241
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            bipush 47
            if_icmpne 38
        35: .line 242
            new java.util.regex.PatternSyntaxException
            dup
            ldc "Explicit 'name separator' in class"
        36: .line 243
            aload 0 /* globPattern */
            iload 3 /* i */
            iconst_1
            isub
        37: .line 242
            invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
        38: .line 246
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            bipush 92
            if_icmpeq 40
            iload 4 /* c */
            bipush 91
            if_icmpeq 40
        39: .line 247
            iload 4 /* c */
            bipush 38
            if_icmpne 41
            aload 0 /* globPattern */
            iload 3 /* i */
            invokestatic jdk.nio.zipfs.ZipUtils.next:(Ljava/lang/String;I)C
            bipush 38
            if_icmpne 41
        40: .line 249
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            bipush 92
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        41: .line 251
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            iload 4 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        42: .line 253
            iload 4 /* c */
            bipush 45
            if_icmpne 56
        43: .line 254
            iload 6 /* hasRangeStart */
            ifne 47
        44: .line 255
            new java.util.regex.PatternSyntaxException
            dup
            ldc "Invalid range"
        45: .line 256
            aload 0 /* globPattern */
            iload 3 /* i */
            iconst_1
            isub
        46: .line 255
            invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
        47: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* globPattern */
            iload 3 /* i */
            iinc 3 /* i */ 1
            invokestatic jdk.nio.zipfs.ZipUtils.next:(Ljava/lang/String;I)C
            dup
            istore 4 /* c */
            getstatic jdk.nio.zipfs.ZipUtils.EOL:C
            if_icmpeq 59
            iload 4 /* c */
            bipush 93
            if_icmpne 49
        48: .line 259
            goto 59
        49: .line 261
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            iload 7 /* last */
            if_icmpge 53
        50: .line 262
            new java.util.regex.PatternSyntaxException
            dup
            ldc "Invalid range"
        51: .line 263
            aload 0 /* globPattern */
            iload 3 /* i */
            iconst_3
            isub
        52: .line 262
            invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
        53: .line 265
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            iload 4 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        54: .line 266
            iconst_0
            istore 6 /* hasRangeStart */
        55: .line 267
            goto 58
        56: .line 268
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* hasRangeStart */
        57: .line 269
            iload 4 /* c */
            istore 7 /* last */
        58: .line 236
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            aload 0 /* globPattern */
            invokevirtual java.lang.String.length:()I
            if_icmplt 31
        59: .line 272
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            bipush 93
            if_icmpeq 61
        60: .line 273
            new java.util.regex.PatternSyntaxException
            dup
            ldc "Missing ']"
            aload 0 /* globPattern */
            iload 3 /* i */
            iconst_1
            isub
            invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
        61: .line 275
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            ldc "]]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        62: .line 276
            goto 92
        end local 7 // char last
        end local 6 // boolean hasRangeStart
        63: .line 278
      StackMap locals: java.lang.String int java.lang.StringBuilder int int
      StackMap stack:
            iload 1 /* inGroup */
            ifeq 67
        64: .line 279
            new java.util.regex.PatternSyntaxException
            dup
            ldc "Cannot nest groups"
        65: .line 280
            aload 0 /* globPattern */
            iload 3 /* i */
            iconst_1
            isub
        66: .line 279
            invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
        67: .line 282
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            ldc "(?:(?:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        68: .line 283
            iconst_1
            istore 1 /* inGroup */
        69: .line 284
            goto 92
        70: .line 286
      StackMap locals:
      StackMap stack:
            iload 1 /* inGroup */
            ifeq 74
        71: .line 287
            aload 2 /* regex */
            ldc "))"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        72: .line 288
            iconst_0
            istore 1 /* inGroup */
        73: .line 289
            goto 92
        74: .line 290
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        75: .line 292
            goto 92
        76: .line 294
      StackMap locals:
      StackMap stack:
            iload 1 /* inGroup */
            ifeq 79
        77: .line 295
            aload 2 /* regex */
            ldc ")|(?:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        78: .line 296
            goto 92
        79: .line 297
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        80: .line 299
            goto 92
        81: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* globPattern */
            iload 3 /* i */
            invokestatic jdk.nio.zipfs.ZipUtils.next:(Ljava/lang/String;I)C
            bipush 42
            if_icmpne 85
        82: .line 303
            aload 2 /* regex */
            ldc ".*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        83: .line 304
            iinc 3 /* i */ 1
        84: .line 305
            goto 92
        85: .line 307
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            ldc "[^/]*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        86: .line 309
            goto 92
        87: .line 311
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            ldc "[^/]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        88: .line 312
            goto 92
        89: .line 314
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            invokestatic jdk.nio.zipfs.ZipUtils.isRegexMeta:(C)Z
            ifeq 91
        90: .line 315
            aload 2 /* regex */
            bipush 92
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        91: .line 317
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            iload 4 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 4 // char c
        92: .line 197
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            aload 0 /* globPattern */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        93: .line 320
            iload 1 /* inGroup */
            ifeq 95
        94: .line 321
            new java.util.regex.PatternSyntaxException
            dup
            ldc "Missing '}"
            aload 0 /* globPattern */
            iload 3 /* i */
            iconst_1
            isub
            invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
        95: .line 323
      StackMap locals:
      StackMap stack:
            aload 2 /* regex */
            bipush 36
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // int i
        end local 2 // java.lang.StringBuilder regex
        end local 1 // boolean inGroup
        end local 0 // java.lang.String globPattern
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   96     0    globPattern  Ljava/lang/String;
            1   96     1        inGroup  Z
            2   96     2          regex  Ljava/lang/StringBuilder;
            3   96     3              i  I
            5   92     4              c  C
           11   15     5           next  C
           29   63     6  hasRangeStart  Z
           30   63     7           last  C
    MethodParameters:
             Name  Flags
      globPattern  
}
SourceFile: "ZipUtils.java"