public class org.eclipse.jetty.util.URIUtil implements java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jetty.util.URIUtil
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger LOG;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.String SLASH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "/"

  public static final java.lang.String HTTP;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "http"

  public static final java.lang.String HTTPS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "https"

  public static final java.nio.charset.Charset __CHARSET;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 44
            ldc Lorg/eclipse/jetty/util/URIUtil;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.eclipse.jetty.util.URIUtil.LOG:Lorg/slf4j/Logger;
         1: .line 50
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            putstatic org.eclipse.jetty.util.URIUtil.__CHARSET:Ljava/nio/charset/Charset;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.util.URIUtil this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 54
            return
        end local 0 // org.eclipse.jetty.util.URIUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/util/URIUtil;

  public static java.lang.String encodePath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String path
         0: .line 66
            aload 0 /* path */
            ifnull 1
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            areturn
         2: .line 69
      StackMap locals:
      StackMap stack:
            aconst_null
            aload 0 /* path */
            iconst_0
            invokestatic org.eclipse.jetty.util.URIUtil.encodePath:(Ljava/lang/StringBuilder;Ljava/lang/String;I)Ljava/lang/StringBuilder;
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         3: .line 70
            aload 1 /* buf */
            ifnonnull 4
            aload 0 /* path */
            goto 5
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
         4: aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         5: areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  path  Ljava/lang/String;
            3    6     1   buf  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.StringBuilder encodePath(java.lang.StringBuilder, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.StringBuilder buf
        start local 1 // java.lang.String path
         0: .line 82
            aload 0 /* buf */
            aload 1 /* path */
            iconst_0
            invokestatic org.eclipse.jetty.util.URIUtil.encodePath:(Ljava/lang/StringBuilder;Ljava/lang/String;I)Ljava/lang/StringBuilder;
            areturn
        end local 1 // java.lang.String path
        end local 0 // java.lang.StringBuilder buf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   buf  Ljava/lang/StringBuilder;
            0    1     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      buf   
      path  

  private static java.lang.StringBuilder encodePath(java.lang.StringBuilder, java.lang.String, int);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;I)Ljava/lang/StringBuilder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.lang.StringBuilder buf
        start local 1 // java.lang.String path
        start local 2 // int offset
         0: .line 94
            aconst_null
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         1: .line 95
            aload 0 /* buf */
            ifnonnull 16
         2: .line 98
            iload 2 /* offset */
            istore 4 /* i */
        start local 4 // int i
         3: goto 13
         4: .line 100
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* path */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         5: .line 101
            iload 5 /* c */
            lookupswitch { // 17
                   32: 6
                   34: 6
                   35: 6
                   37: 6
                   39: 6
                   59: 6
                   60: 6
                   62: 6
                   63: 6
                   91: 6
                   92: 6
                   93: 6
                   94: 6
                   96: 6
                  123: 6
                  124: 6
                  125: 6
              default: 8
          }
         6: .line 120
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_2
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 0 /* buf */
         7: .line 121
            goto 14
         8: .line 123
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            bipush 127
            if_icmple 12
         9: .line 125
            aload 1 /* path */
            getstatic org.eclipse.jetty.util.URIUtil.__CHARSET:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 3 /* bytes */
        10: .line 126
            new java.lang.StringBuilder
            dup
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_2
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 0 /* buf */
        11: .line 127
            goto 14
        end local 5 // char c
        12: .line 98
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        end local 4 // int i
        14: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ifnonnull 16
        15: .line 132
            aconst_null
            areturn
        16: .line 138
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            istore 4 /* i */
        start local 4 // int i
        17: goto 59
        18: .line 140
      StackMap locals: int
      StackMap stack:
            aload 1 /* path */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
        19: .line 141
            iload 5 /* c */
            lookupswitch { // 17
                   32: 36
                   34: 28
                   35: 26
                   37: 20
                   39: 30
                   59: 24
                   60: 32
                   62: 34
                   63: 22
                   91: 38
                   92: 40
                   93: 42
                   94: 44
                   96: 46
                  123: 48
                  124: 50
                  125: 52
              default: 54
          }
        20: .line 144
      StackMap locals: int
      StackMap stack:
            aload 0 /* buf */
            ldc "%25"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 145
            goto 58
        22: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3F"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 148
            goto 58
        24: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 151
            goto 58
        26: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%23"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 154
            goto 58
        28: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%22"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 157
            goto 58
        30: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%27"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 160
            goto 58
        32: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 163
            goto 58
        34: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3E"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 166
            goto 58
        36: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%20"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 169
            goto 58
        38: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        39: .line 172
            goto 58
        40: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 175
            goto 58
        42: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5D"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        43: .line 178
            goto 58
        44: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5E"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        45: .line 181
            goto 58
        46: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%60"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        47: .line 184
            goto 58
        48: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%7B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        49: .line 187
            goto 58
        50: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%7C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        51: .line 190
            goto 58
        52: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%7D"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        53: .line 193
            goto 58
        54: .line 196
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            bipush 127
            if_icmple 57
        55: .line 198
            aload 1 /* path */
            getstatic org.eclipse.jetty.util.URIUtil.__CHARSET:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 3 /* bytes */
        56: .line 199
            goto 60
        57: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // char c
        58: .line 138
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 4 /* i */
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmplt 18
        60: .line 205
      StackMap locals:
      StackMap stack:
            aload 3 /* bytes */
            ifnull 105
        61: .line 207
            goto 104
        62: .line 209
      StackMap locals:
      StackMap stack:
            aload 3 /* bytes */
            iload 4 /* i */
            baload
            istore 5 /* c */
        start local 5 // byte c
        63: .line 210
            iload 5 /* c */
            lookupswitch { // 17
                   32: 80
                   34: 72
                   35: 70
                   37: 64
                   39: 74
                   59: 68
                   60: 76
                   62: 78
                   63: 66
                   91: 82
                   92: 84
                   93: 86
                   94: 88
                   96: 90
                  123: 92
                  124: 94
                  125: 96
              default: 98
          }
        64: .line 213
      StackMap locals: int
      StackMap stack:
            aload 0 /* buf */
            ldc "%25"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        65: .line 214
            goto 103
        66: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3F"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        67: .line 217
            goto 103
        68: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        69: .line 220
            goto 103
        70: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%23"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        71: .line 223
            goto 103
        72: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%22"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        73: .line 226
            goto 103
        74: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%27"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        75: .line 229
            goto 103
        76: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        77: .line 232
            goto 103
        78: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%3E"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        79: .line 235
            goto 103
        80: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%20"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        81: .line 238
            goto 103
        82: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        83: .line 241
            goto 103
        84: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        85: .line 244
            goto 103
        86: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5D"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        87: .line 247
            goto 103
        88: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%5E"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        89: .line 250
            goto 103
        90: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%60"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        91: .line 253
            goto 103
        92: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%7B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        93: .line 256
            goto 103
        94: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%7C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        95: .line 259
            goto 103
        96: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ldc "%7D"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        97: .line 262
            goto 103
        98: .line 264
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            ifge 102
        99: .line 266
            aload 0 /* buf */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       100: .line 267
            iload 5 /* c */
            aload 0 /* buf */
            invokestatic org.eclipse.jetty.util.TypeUtil.toHex:(BLjava/lang/Appendable;)V
       101: .line 268
            goto 103
       102: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            iload 5 /* c */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // byte c
       103: .line 207
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
       104: iload 4 /* i */
            aload 3 /* bytes */
            arraylength
            if_icmplt 62
       105: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            areturn
        end local 4 // int i
        end local 3 // byte[] bytes
        end local 2 // int offset
        end local 1 // java.lang.String path
        end local 0 // java.lang.StringBuilder buf
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0  106     0     buf  Ljava/lang/StringBuilder;
            0  106     1    path  Ljava/lang/String;
            0  106     2  offset  I
            1  106     3   bytes  [B
            3   14     4       i  I
            5   12     5       c  C
           17  106     4       i  I
           19   58     5       c  C
           63  103     5       c  B
    MethodParameters:
        Name  Flags
      buf     
      path    
      offset  

  public static java.lang.String encodeSpaces(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 287
            aload 0 /* str */
            ldc " "
            ldc "%20"
            invokestatic org.eclipse.jetty.util.StringUtil.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public static java.lang.String encodeSpecific(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=2
        start local 0 // java.lang.String str
        start local 1 // java.lang.String charsToEncode
         0: .line 300
            aload 0 /* str */
            ifnull 1
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 301
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 303
      StackMap locals:
      StackMap stack:
            aload 1 /* charsToEncode */
            ifnull 3
            aload 1 /* charsToEncode */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            areturn
         4: .line 306
      StackMap locals:
      StackMap stack:
            aload 1 /* charsToEncode */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 2 /* find */
        start local 2 // char[] find
         5: .line 307
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         6: .line 308
            new java.lang.StringBuilder
            dup
            iload 3 /* len */
            i2d
            ldc 0.2
            dmul
            d2i
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* ret */
        start local 4 // java.lang.StringBuilder ret
         7: .line 309
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 30
         9: .line 311
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* str */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
        10: .line 312
            iconst_0
            istore 7 /* escaped */
        start local 7 // boolean escaped
        11: .line 313
            aload 2 /* find */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 26
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int int int top int int char[]
      StackMap stack:
        12: aload 11
            iload 9
            caload
            istore 8 /* f */
        start local 8 // char f
        13: .line 315
            iload 6 /* c */
            iload 8 /* f */
            if_icmpne 25
        14: .line 317
            iconst_1
            istore 7 /* escaped */
        15: .line 318
            aload 4 /* ret */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 319
            bipush 15
            sipush 240
            iload 6 /* c */
            iand
            iconst_4
            ishr
            iand
            istore 12 /* d */
        start local 12 // int d
        17: .line 320
            aload 4 /* ret */
            iload 12 /* d */
            bipush 9
            if_icmple 18
            bipush 55
            goto 19
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int int int int int int char[] int
      StackMap stack: java.lang.StringBuilder
        18: bipush 48
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int int int int int int char[] int
      StackMap stack: java.lang.StringBuilder int
        19: iload 12 /* d */
            iadd
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        20: .line 321
            bipush 15
            iload 6 /* c */
            iand
            istore 12 /* d */
        21: .line 322
            aload 4 /* ret */
            iload 12 /* d */
            bipush 9
            if_icmple 22
            bipush 55
            goto 23
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        22: bipush 48
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int int int int int int char[] int
      StackMap stack: java.lang.StringBuilder int
        23: iload 12 /* d */
            iadd
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 323
            goto 27
        end local 12 // int d
        end local 8 // char f
        25: .line 313
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int int int top int int char[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        26: iload 9
            iload 10
            if_icmplt 12
        27: .line 326
      StackMap locals: java.lang.String java.lang.String char[] int java.lang.StringBuilder int int int
      StackMap stack:
            iload 7 /* escaped */
            ifne 29
        28: .line 328
            aload 4 /* ret */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 7 // boolean escaped
        end local 6 // char c
        29: .line 309
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 5 /* i */
            iload 3 /* len */
            if_icmplt 9
        end local 5 // int i
        31: .line 331
            aload 4 /* ret */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder ret
        end local 3 // int len
        end local 2 // char[] find
        end local 1 // java.lang.String charsToEncode
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   32     0            str  Ljava/lang/String;
            0   32     1  charsToEncode  Ljava/lang/String;
            5   32     2           find  [C
            6   32     3            len  I
            7   32     4            ret  Ljava/lang/StringBuilder;
            8   31     5              i  I
           10   29     6              c  C
           11   29     7        escaped  Z
           13   25     8              f  C
           17   25    12              d  I
    MethodParameters:
               Name  Flags
      str            
      charsToEncode  

  public static java.lang.String decodeSpecific(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=16, args_size=2
        start local 0 // java.lang.String str
        start local 1 // java.lang.String charsToDecode
         0: .line 344
            aload 0 /* str */
            ifnull 1
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 345
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 347
      StackMap locals:
      StackMap stack:
            aload 1 /* charsToDecode */
            ifnull 3
            aload 1 /* charsToDecode */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            areturn
         4: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            bipush 37
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* idx */
        start local 2 // int idx
         5: .line 351
            iload 2 /* idx */
            iconst_m1
            if_icmpne 7
         6: .line 354
            aload 0 /* str */
            areturn
         7: .line 357
      StackMap locals: int
      StackMap stack:
            aload 1 /* charsToDecode */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 3 /* find */
        start local 3 // char[] find
         8: .line 358
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            istore 4 /* len */
        start local 4 // int len
         9: .line 359
            new org.eclipse.jetty.util.Utf8StringBuilder
            dup
            iload 4 /* len */
            invokespecial org.eclipse.jetty.util.Utf8StringBuilder.<init>:(I)V
            astore 5 /* ret */
        start local 5 // org.eclipse.jetty.util.Utf8StringBuilder ret
        10: .line 360
            aload 5 /* ret */
            aload 0 /* str */
            iconst_0
            iload 2 /* idx */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(Ljava/lang/String;II)V
        11: .line 362
            iload 2 /* idx */
            istore 6 /* i */
        start local 6 // int i
        12: goto 36
        13: .line 364
      StackMap locals: java.lang.String java.lang.String int char[] int org.eclipse.jetty.util.Utf8StringBuilder int
      StackMap stack:
            aload 0 /* str */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* c */
        start local 7 // char c
        14: .line 365
            iload 7 /* c */
            tableswitch { // 37 - 37
                   37: 15
              default: 34
          }
        15: .line 368
      StackMap locals: int
      StackMap stack:
            iload 6 /* i */
            iconst_2
            iadd
            iload 4 /* len */
            if_icmpge 33
        16: .line 370
            aload 0 /* str */
            iload 6 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* u */
        start local 8 // char u
        17: .line 371
            aload 0 /* str */
            iload 6 /* i */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* l */
        start local 9 // char l
        18: .line 372
            sipush 255
            iload 8 /* u */
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            bipush 16
            imul
            iload 9 /* l */
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            iadd
            iand
            i2c
            istore 10 /* result */
        start local 10 // char result
        19: .line 373
            iconst_0
            istore 11 /* decoded */
        start local 11 // boolean decoded
        20: .line 374
            aload 3 /* find */
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 27
      StackMap locals: java.lang.String java.lang.String int char[] int org.eclipse.jetty.util.Utf8StringBuilder int int int int int int top int int char[]
      StackMap stack:
        21: aload 15
            iload 13
            caload
            istore 12 /* f */
        start local 12 // char f
        22: .line 376
            iload 12 /* f */
            iload 10 /* result */
            if_icmpne 26
        23: .line 378
            aload 5 /* ret */
            iload 10 /* result */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(C)V
        24: .line 379
            iconst_1
            istore 11 /* decoded */
        25: .line 380
            goto 28
        end local 12 // char f
        26: .line 374
      StackMap locals:
      StackMap stack:
            iinc 13 1
      StackMap locals:
      StackMap stack:
        27: iload 13
            iload 14
            if_icmplt 21
        28: .line 383
      StackMap locals: java.lang.String java.lang.String int char[] int org.eclipse.jetty.util.Utf8StringBuilder int int int int int int
      StackMap stack:
            iload 11 /* decoded */
            ifeq 31
        29: .line 385
            iinc 6 /* i */ 2
        30: .line 386
            goto 35
        31: .line 389
      StackMap locals:
      StackMap stack:
            aload 5 /* ret */
            iload 7 /* c */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(C)V
        end local 11 // boolean decoded
        end local 10 // char result
        end local 9 // char l
        end local 8 // char u
        32: .line 391
            goto 35
        33: .line 394
      StackMap locals: java.lang.String java.lang.String int char[] int org.eclipse.jetty.util.Utf8StringBuilder int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Bad URI % encoding"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 398
      StackMap locals:
      StackMap stack:
            aload 5 /* ret */
            iload 7 /* c */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(C)V
        end local 7 // char c
        35: .line 362
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 6 /* i */
            iload 4 /* len */
            if_icmplt 13
        end local 6 // int i
        37: .line 402
            aload 5 /* ret */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // org.eclipse.jetty.util.Utf8StringBuilder ret
        end local 4 // int len
        end local 3 // char[] find
        end local 2 // int idx
        end local 1 // java.lang.String charsToDecode
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   38     0            str  Ljava/lang/String;
            0   38     1  charsToDecode  Ljava/lang/String;
            5   38     2            idx  I
            8   38     3           find  [C
            9   38     4            len  I
           10   38     5            ret  Lorg/eclipse/jetty/util/Utf8StringBuilder;
           12   37     6              i  I
           14   35     7              c  C
           17   32     8              u  C
           18   32     9              l  C
           19   32    10         result  C
           20   32    11        decoded  Z
           22   26    12              f  C
    MethodParameters:
               Name  Flags
      str            
      charsToDecode  

  public static java.lang.StringBuilder encodeString(java.lang.StringBuilder, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.StringBuilder buf
        start local 1 // java.lang.String path
        start local 2 // java.lang.String encode
         0: .line 417
            aload 0 /* buf */
            ifnonnull 11
         1: .line 419
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 421
      StackMap locals: int
      StackMap stack:
            aload 1 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         4: .line 422
            iload 4 /* c */
            bipush 37
            if_icmpeq 5
            aload 2 /* encode */
            iload 4 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 7
         5: .line 424
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_1
            ishl
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 0 /* buf */
         6: .line 425
            goto 9
        end local 4 // char c
         7: .line 419
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 3 // int i
         9: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            ifnonnull 11
        10: .line 429
            aconst_null
            areturn
        11: .line 432
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        12: goto 20
        13: .line 434
      StackMap locals: int
      StackMap stack:
            aload 1 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
        14: .line 435
            iload 4 /* c */
            bipush 37
            if_icmpeq 15
            aload 2 /* encode */
            iload 4 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 18
        15: .line 437
      StackMap locals: int
      StackMap stack:
            aload 0 /* buf */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 438
            aload 0 /* buf */
            sipush 255
            iload 4 /* c */
            iand
            i2b
            bipush 16
            invokestatic org.eclipse.jetty.util.StringUtil.append:(Ljava/lang/StringBuilder;BI)V
        17: .line 439
            goto 19
        18: .line 441
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            iload 4 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 4 // char c
        19: .line 432
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmplt 13
        end local 3 // int i
        21: .line 444
            aload 0 /* buf */
            areturn
        end local 2 // java.lang.String encode
        end local 1 // java.lang.String path
        end local 0 // java.lang.StringBuilder buf
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0     buf  Ljava/lang/StringBuilder;
            0   22     1    path  Ljava/lang/String;
            0   22     2  encode  Ljava/lang/String;
            2    9     3       i  I
            4    7     4       c  C
           12   21     3       i  I
           14   19     4       c  C
    MethodParameters:
        Name  Flags
      buf     
      path    
      encode  

  public static java.lang.String decodePath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 451
            aload 0 /* path */
            iconst_0
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokestatic org.eclipse.jetty.util.URIUtil.decodePath:(Ljava/lang/String;II)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.String decodePath(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // java.lang.String path
        start local 1 // int offset
        start local 2 // int length
         0: .line 460
            aconst_null
            astore 3 /* builder */
        start local 3 // org.eclipse.jetty.util.Utf8StringBuilder builder
         1: .line 461
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            istore 4 /* end */
        start local 4 // int end
         2: .line 462
            iload 1 /* offset */
            istore 5 /* i */
        start local 5 // int i
         3: goto 31
         4: .line 464
      StackMap locals: org.eclipse.jetty.util.Utf8StringBuilder int int
      StackMap stack:
            aload 0 /* path */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         5: .line 465
            iload 6 /* c */
            lookupswitch { // 2
                   37: 6
                   59: 19
              default: 28
          }
         6: .line 468
      StackMap locals: int
      StackMap stack:
            aload 3 /* builder */
            ifnonnull 9
         7: .line 470
            new org.eclipse.jetty.util.Utf8StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial org.eclipse.jetty.util.Utf8StringBuilder.<init>:(I)V
            astore 3 /* builder */
         8: .line 471
            aload 3 /* builder */
            aload 0 /* path */
            iload 1 /* offset */
            iload 5 /* i */
            iload 1 /* offset */
            isub
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(Ljava/lang/String;II)V
         9: .line 473
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iconst_2
            iadd
            iload 4 /* end */
            if_icmpge 18
        10: .line 475
            aload 0 /* path */
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* u */
        start local 7 // char u
        11: .line 476
            iload 7 /* u */
            bipush 117
            if_icmpne 15
        12: .line 480
            aload 3 /* builder */
            ldc 65535
            aload 0 /* path */
            iload 5 /* i */
            iconst_2
            iadd
            iconst_4
            bipush 16
            invokestatic org.eclipse.jetty.util.TypeUtil.parseInt:(Ljava/lang/String;III)I
            iand
            i2c
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(C)V
        13: .line 481
            iinc 5 /* i */ 5
        14: .line 482
            goto 30
        15: .line 485
      StackMap locals: int
      StackMap stack:
            aload 3 /* builder */
            sipush 255
            iload 7 /* u */
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            bipush 16
            imul
            aload 0 /* path */
            iload 5 /* i */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            iadd
            iand
            i2b
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(B)V
        16: .line 486
            iinc 5 /* i */ 2
        end local 7 // char u
        17: .line 488
            goto 30
        18: .line 491
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Bad URI % encoding"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 497
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            ifnonnull 26
        20: .line 499
            new org.eclipse.jetty.util.Utf8StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial org.eclipse.jetty.util.Utf8StringBuilder.<init>:(I)V
            astore 3 /* builder */
        21: .line 500
            aload 3 /* builder */
            aload 0 /* path */
            iload 1 /* offset */
            iload 5 /* i */
            iload 1 /* offset */
            isub
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(Ljava/lang/String;II)V
        22: .line 503
            goto 26
        23: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 26
        24: .line 507
            aload 3 /* builder */
            bipush 47
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(C)V
        25: .line 508
            goto 30
        26: .line 503
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
            iload 5 /* i */
            iload 4 /* end */
            if_icmplt 23
        27: .line 512
            goto 30
        28: .line 515
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            ifnull 30
        29: .line 516
            aload 3 /* builder */
            iload 6 /* c */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.append:(C)V
        end local 6 // char c
        30: .line 462
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 5 /* i */
            iload 4 /* end */
            if_icmplt 4
        end local 5 // int i
        32: .line 521
            aload 3 /* builder */
            ifnull 35
        33: .line 522
            aload 3 /* builder */
            invokevirtual org.eclipse.jetty.util.Utf8StringBuilder.toString:()Ljava/lang/String;
        34: areturn
        35: .line 523
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            ifne 38
            iload 2 /* length */
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmpne 38
        36: .line 524
            aload 0 /* path */
        37: areturn
        38: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 1 /* offset */
            iload 4 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        39: areturn
        end local 4 // int end
        end local 3 // org.eclipse.jetty.util.Utf8StringBuilder builder
        40: .line 527
      StackMap locals: java.lang.String int int
      StackMap stack: org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception
            astore 3 /* e */
        start local 3 // org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception e
        41: .line 529
            getstatic org.eclipse.jetty.util.URIUtil.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 43
        42: .line 530
            getstatic org.eclipse.jetty.util.URIUtil.LOG:Lorg/slf4j/Logger;
            ldc "{} {}"
            aload 0 /* path */
            iload 1 /* offset */
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aload 3 /* e */
            invokevirtual org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        43: .line 531
      StackMap locals: org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception
      StackMap stack:
            aload 0 /* path */
            iload 1 /* offset */
            iload 2 /* length */
            invokestatic org.eclipse.jetty.util.URIUtil.decodeISO88591Path:(Ljava/lang/String;II)Ljava/lang/String;
            areturn
        end local 3 // org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception e
        44: .line 533
      StackMap locals: java.lang.String int int
      StackMap stack: java.lang.IllegalArgumentException
            astore 3 /* e */
        start local 3 // java.lang.IllegalArgumentException e
        45: .line 535
            aload 3 /* e */
            athrow
        end local 3 // java.lang.IllegalArgumentException e
        46: .line 537
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        47: .line 539
            new java.lang.IllegalArgumentException
            dup
            ldc "cannot decode URI"
            aload 3 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        end local 2 // int length
        end local 1 // int offset
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   48     0     path  Ljava/lang/String;
            0   48     1   offset  I
            0   48     2   length  I
            1   40     3  builder  Lorg/eclipse/jetty/util/Utf8StringBuilder;
            2   40     4      end  I
            3   32     5        i  I
            5   30     6        c  C
           11   17     7        u  C
           41   44     3        e  Lorg/eclipse/jetty/util/Utf8Appendable$NotUtf8Exception;
           45   46     3        e  Ljava/lang/IllegalArgumentException;
           47   48     3        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    34      40  Class org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception
          35    37      40  Class org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception
          38    39      40  Class org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception
           0    34      44  Class java.lang.IllegalArgumentException
          35    37      44  Class java.lang.IllegalArgumentException
          38    39      44  Class java.lang.IllegalArgumentException
           0    34      46  Class java.lang.Exception
          35    37      46  Class java.lang.Exception
          38    39      46  Class java.lang.Exception
    MethodParameters:
        Name  Flags
      path    
      offset  
      length  

  private static java.lang.String decodeISO88591Path(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // java.lang.String path
        start local 1 // int offset
        start local 2 // int length
         0: .line 548
            aconst_null
            astore 3 /* builder */
        start local 3 // java.lang.StringBuilder builder
         1: .line 549
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            istore 4 /* end */
        start local 4 // int end
         2: .line 550
            iload 1 /* offset */
            istore 5 /* i */
        start local 5 // int i
         3: goto 31
         4: .line 552
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 0 /* path */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         5: .line 553
            iload 6 /* c */
            lookupswitch { // 2
                   37: 6
                   59: 19
              default: 28
          }
         6: .line 556
      StackMap locals: int
      StackMap stack:
            aload 3 /* builder */
            ifnonnull 9
         7: .line 558
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* builder */
         8: .line 559
            aload 3 /* builder */
            aload 0 /* path */
            iload 1 /* offset */
            iload 5 /* i */
            iload 1 /* offset */
            isub
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
         9: .line 561
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iconst_2
            iadd
            iload 4 /* end */
            if_icmpge 18
        10: .line 563
            aload 0 /* path */
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* u */
        start local 7 // char u
        11: .line 564
            iload 7 /* u */
            bipush 117
            if_icmpne 15
        12: .line 568
            aload 3 /* builder */
            ldc 65535
            aload 0 /* path */
            iload 5 /* i */
            iconst_2
            iadd
            iconst_4
            bipush 16
            invokestatic org.eclipse.jetty.util.TypeUtil.parseInt:(Ljava/lang/String;III)I
            iand
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 569
            iinc 5 /* i */ 5
        14: .line 570
            goto 30
        15: .line 573
      StackMap locals: int
      StackMap stack:
            aload 3 /* builder */
            sipush 255
            iload 7 /* u */
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            bipush 16
            imul
            aload 0 /* path */
            iload 5 /* i */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.eclipse.jetty.util.TypeUtil.convertHexDigit:(C)I
            iadd
            iand
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 574
            iinc 5 /* i */ 2
        end local 7 // char u
        17: .line 576
            goto 30
        18: .line 579
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        19: .line 585
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            ifnonnull 26
        20: .line 587
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* builder */
        21: .line 588
            aload 3 /* builder */
            aload 0 /* path */
            iload 1 /* offset */
            iload 5 /* i */
            iload 1 /* offset */
            isub
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        22: .line 590
            goto 26
        23: .line 592
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 26
        24: .line 594
            aload 3 /* builder */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        25: .line 595
            goto 30
        26: .line 590
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
            iload 5 /* i */
            iload 4 /* end */
            if_icmplt 23
        27: .line 598
            goto 30
        28: .line 601
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            ifnull 30
        29: .line 602
            aload 3 /* builder */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 6 // char c
        30: .line 550
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 5 /* i */
            iload 4 /* end */
            if_icmplt 4
        end local 5 // int i
        32: .line 607
            aload 3 /* builder */
            ifnull 34
        33: .line 608
            aload 3 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        34: .line 609
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            ifne 36
            iload 2 /* length */
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            if_icmpne 36
        35: .line 610
            aload 0 /* path */
            areturn
        36: .line 611
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 1 /* offset */
            iload 4 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 4 // int end
        end local 3 // java.lang.StringBuilder builder
        end local 2 // int length
        end local 1 // int offset
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   37     0     path  Ljava/lang/String;
            0   37     1   offset  I
            0   37     2   length  I
            1   37     3  builder  Ljava/lang/StringBuilder;
            2   37     4      end  I
            3   32     5        i  I
            5   30     6        c  C
           11   17     7        u  C
    MethodParameters:
        Name  Flags
      path    
      offset  
      length  

  public static java.lang.String addEncodedPaths(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.String p1
        start local 1 // java.lang.String p2
         0: .line 625
            aload 0 /* p1 */
            ifnull 1
            aload 0 /* p1 */
            invokevirtual java.lang.String.length:()I
            ifne 4
         1: .line 627
      StackMap locals:
      StackMap stack:
            aload 0 /* p1 */
            ifnull 3
            aload 1 /* p2 */
            ifnonnull 3
         2: .line 628
            aload 0 /* p1 */
            areturn
         3: .line 629
      StackMap locals:
      StackMap stack:
            aload 1 /* p2 */
            areturn
         4: .line 631
      StackMap locals:
      StackMap stack:
            aload 1 /* p2 */
            ifnull 5
            aload 1 /* p2 */
            invokevirtual java.lang.String.length:()I
            ifne 6
         5: .line 632
      StackMap locals:
      StackMap stack:
            aload 0 /* p1 */
            areturn
         6: .line 634
      StackMap locals:
      StackMap stack:
            aload 0 /* p1 */
            bipush 59
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* split */
        start local 2 // int split
         7: .line 635
            iload 2 /* split */
            ifge 9
         8: .line 636
            aload 0 /* p1 */
            bipush 63
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* split */
         9: .line 637
      StackMap locals: int
      StackMap stack:
            iload 2 /* split */
            ifne 11
        10: .line 638
            new java.lang.StringBuilder
            dup
            aload 1 /* p2 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* p1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 639
      StackMap locals:
      StackMap stack:
            iload 2 /* split */
            ifge 13
        12: .line 640
            aload 0 /* p1 */
            invokevirtual java.lang.String.length:()I
            istore 2 /* split */
        13: .line 642
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* p1 */
            invokevirtual java.lang.String.length:()I
            aload 1 /* p2 */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_2
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
        14: .line 643
            aload 3 /* buf */
            aload 0 /* p1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 645
            aload 3 /* buf */
            iload 2 /* split */
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            bipush 47
            if_icmpne 22
        16: .line 647
            aload 1 /* p2 */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 20
        17: .line 649
            aload 3 /* buf */
            iload 2 /* split */
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.deleteCharAt:(I)Ljava/lang/StringBuilder;
            pop
        18: .line 650
            aload 3 /* buf */
            iload 2 /* split */
            iconst_1
            isub
            aload 1 /* p2 */
            invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 651
            goto 26
        20: .line 653
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 3 /* buf */
            iload 2 /* split */
            aload 1 /* p2 */
            invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 654
            goto 26
        22: .line 657
      StackMap locals:
      StackMap stack:
            aload 1 /* p2 */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 24
        23: .line 658
            aload 3 /* buf */
            iload 2 /* split */
            aload 1 /* p2 */
            invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 26
        24: .line 661
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            iload 2 /* split */
            bipush 47
            invokevirtual java.lang.StringBuilder.insert:(IC)Ljava/lang/StringBuilder;
            pop
        25: .line 662
            aload 3 /* buf */
            iload 2 /* split */
            iconst_1
            iadd
            aload 1 /* p2 */
            invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 666
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder buf
        end local 2 // int split
        end local 1 // java.lang.String p2
        end local 0 // java.lang.String p1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   27     0     p1  Ljava/lang/String;
            0   27     1     p2  Ljava/lang/String;
            7   27     2  split  I
           14   27     3    buf  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      p1    
      p2    

  public static java.lang.String addPaths(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.String p1
        start local 1 // java.lang.String p2
         0: .line 680
            aload 0 /* p1 */
            ifnull 1
            aload 0 /* p1 */
            invokevirtual java.lang.String.length:()I
            ifne 4
         1: .line 682
      StackMap locals:
      StackMap stack:
            aload 0 /* p1 */
            ifnull 3
            aload 1 /* p2 */
            ifnonnull 3
         2: .line 683
            aload 0 /* p1 */
            areturn
         3: .line 684
      StackMap locals:
      StackMap stack:
            aload 1 /* p2 */
            areturn
         4: .line 686
      StackMap locals:
      StackMap stack:
            aload 1 /* p2 */
            ifnull 5
            aload 1 /* p2 */
            invokevirtual java.lang.String.length:()I
            ifne 6
         5: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* p1 */
            areturn
         6: .line 689
      StackMap locals:
      StackMap stack:
            aload 0 /* p1 */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            istore 2 /* p1EndsWithSlash */
        start local 2 // boolean p1EndsWithSlash
         7: .line 690
            aload 1 /* p2 */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            istore 3 /* p2StartsWithSlash */
        start local 3 // boolean p2StartsWithSlash
         8: .line 692
            iload 2 /* p1EndsWithSlash */
            ifeq 13
            iload 3 /* p2StartsWithSlash */
            ifeq 13
         9: .line 694
            aload 1 /* p2 */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 11
        10: .line 695
            aload 0 /* p1 */
            areturn
        11: .line 696
      StackMap locals: int int
      StackMap stack:
            aload 0 /* p1 */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 13
        12: .line 697
            aload 1 /* p2 */
            areturn
        13: .line 700
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* p1 */
            invokevirtual java.lang.String.length:()I
            aload 1 /* p2 */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_2
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* buf */
        start local 4 // java.lang.StringBuilder buf
        14: .line 701
            aload 4 /* buf */
            aload 0 /* p1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 703
            aload 0 /* p1 */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 19
        16: .line 705
            aload 1 /* p2 */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 21
        17: .line 706
            aload 4 /* buf */
            aload 4 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        18: .line 707
            goto 21
        19: .line 710
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* p2 */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 21
        20: .line 711
            aload 4 /* buf */
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 713
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            aload 1 /* p2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 715
            aload 4 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder buf
        end local 3 // boolean p2StartsWithSlash
        end local 2 // boolean p1EndsWithSlash
        end local 1 // java.lang.String p2
        end local 0 // java.lang.String p1
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   23     0                 p1  Ljava/lang/String;
            0   23     1                 p2  Ljava/lang/String;
            7   23     2    p1EndsWithSlash  Z
            8   23     3  p2StartsWithSlash  Z
           14   23     4                buf  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      p1    
      p2    

  public static java.lang.String addPathQuery(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String path
        start local 1 // java.lang.String query
         0: .line 725
            aload 1 /* query */
            ifnonnull 2
         1: .line 726
            aload 0 /* path */
            areturn
         2: .line 727
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            bipush 63
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 4
         3: .line 728
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 38
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* query */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         4: .line 729
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 63
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* query */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String query
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   path  Ljava/lang/String;
            0    5     1  query  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      path   
      query  

  public static java.lang.String getUriLastPathSegment(java.net.URI);
    descriptor: (Ljava/net/URI;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.net.URI uri
         0: .line 744
            aload 0 /* uri */
            invokevirtual java.net.URI.getSchemeSpecificPart:()Ljava/lang/String;
            astore 1 /* ssp */
        start local 1 // java.lang.String ssp
         1: .line 746
            aload 1 /* ssp */
            ldc "!/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* idx */
        start local 2 // int idx
         2: .line 747
            iload 2 /* idx */
            iconst_m1
            if_icmpeq 4
         3: .line 749
            aload 1 /* ssp */
            iconst_0
            iload 2 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* ssp */
         4: .line 753
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 1 /* ssp */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 755
            aload 1 /* ssp */
            iconst_0
            aload 1 /* ssp */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* ssp */
         6: .line 759
      StackMap locals:
      StackMap stack:
            aload 1 /* ssp */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* idx */
         7: .line 760
            iload 2 /* idx */
            iconst_m1
            if_icmpeq 9
         8: .line 762
            aload 1 /* ssp */
            iload 2 /* idx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* ssp */
         9: .line 765
      StackMap locals:
      StackMap stack:
            aload 1 /* ssp */
            areturn
        end local 2 // int idx
        end local 1 // java.lang.String ssp
        end local 0 // java.net.URI uri
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0   uri  Ljava/net/URI;
            1   10     1   ssp  Ljava/lang/String;
            2   10     2   idx  I
    MethodParameters:
      Name  Flags
      uri   

  public static java.lang.String parentPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String p
         0: .line 777
            aload 0 /* p */
            ifnull 1
            ldc "/"
            aload 0 /* p */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 778
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 779
      StackMap locals:
      StackMap stack:
            aload 0 /* p */
            bipush 47
            aload 0 /* p */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            invokevirtual java.lang.String.lastIndexOf:(II)I
            istore 1 /* slash */
        start local 1 // int slash
         3: .line 780
            iload 1 /* slash */
            iflt 5
         4: .line 781
            aload 0 /* p */
            iconst_0
            iload 1 /* slash */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         5: .line 782
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int slash
        end local 0 // java.lang.String p
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0      p  Ljava/lang/String;
            3    6     1  slash  I
    MethodParameters:
      Name  Flags
      p     

  public static java.lang.String canonicalPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String path
         0: .line 799
            aload 0 /* path */
            ifnull 1
            aload 0 /* path */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 800
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            areturn
         2: .line 802
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* slash */
        start local 1 // boolean slash
         3: .line 803
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            istore 2 /* end */
        start local 2 // int end
         4: .line 804
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: .line 807
            goto 16
         6: .line 809
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         7: .line 810
            iload 4 /* c */
            tableswitch { // 46 - 47
                   46: 10
                   47: 8
              default: 14
          }
         8: .line 813
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 1 /* slash */
         9: .line 814
            goto 15
        10: .line 817
      StackMap locals:
      StackMap stack:
            iload 1 /* slash */
            ifeq 12
        11: .line 818
            goto 17
        12: .line 819
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* slash */
        13: .line 820
            goto 15
        14: .line 823
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* slash */
        15: .line 826
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 4 // char c
        16: .line 807
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmplt 6
        17: .line 829
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmpne 19
        18: .line 830
            aload 0 /* path */
            areturn
        19: .line 832
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* canonical */
        start local 4 // java.lang.StringBuilder canonical
        20: .line 833
            aload 4 /* canonical */
            aload 0 /* path */
            iconst_0
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        21: .line 835
            iconst_1
            istore 5 /* dots */
        start local 5 // int dots
        22: .line 836
            iinc 3 /* i */ 1
        23: .line 837
            goto 60
        24: .line 839
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmpge 25
            aload 0 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            goto 26
      StackMap locals:
      StackMap stack:
        25: iconst_0
      StackMap locals:
      StackMap stack: int
        26: istore 6 /* c */
        start local 6 // char c
        27: .line 840
            iload 6 /* c */
            lookupswitch { // 3
                    0: 28
                   46: 46
                   47: 28
              default: 53
          }
        28: .line 844
      StackMap locals: int
      StackMap stack:
            iload 5 /* dots */
            tableswitch { // 0 - 2
                    0: 29
                    1: 32
                    2: 33
              default: 38
          }
        29: .line 847
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            ifeq 43
        30: .line 848
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 849
            goto 43
        32: .line 852
      StackMap locals:
      StackMap stack:
            goto 43
        33: .line 855
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_2
            if_icmpge 35
        34: .line 856
            aconst_null
            areturn
        35: .line 857
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            aload 4 /* canonical */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        36: .line 858
            aload 4 /* canonical */
            aload 4 /* canonical */
            ldc "/"
            invokevirtual java.lang.StringBuilder.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        37: .line 859
            goto 43
        38: .line 862
      StackMap locals:
      StackMap stack:
            goto 40
        39: .line 864
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        40: .line 862
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            iinc 5 /* dots */ -1
            ifgt 39
        41: .line 866
            iload 6 /* c */
            ifeq 43
        42: .line 867
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        43: .line 870
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* slash */
        44: .line 871
            iconst_0
            istore 5 /* dots */
        45: .line 872
            goto 59
        46: .line 875
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            ifle 48
        47: .line 876
            iinc 5 /* dots */ 1
            goto 51
        48: .line 877
      StackMap locals:
      StackMap stack:
            iload 1 /* slash */
            ifeq 50
        49: .line 878
            iconst_1
            istore 5 /* dots */
            goto 51
        50: .line 880
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        51: .line 881
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* slash */
        52: .line 882
            goto 59
        53: .line 885
      StackMap locals:
      StackMap stack:
            goto 55
        54: .line 887
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        55: .line 885
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            iinc 5 /* dots */ -1
            ifgt 54
        56: .line 889
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        57: .line 890
            iconst_0
            istore 5 /* dots */
        58: .line 891
            iconst_0
            istore 1 /* slash */
        59: .line 894
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 6 // char c
        60: .line 837
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmple 24
        61: .line 896
            aload 4 /* canonical */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // int dots
        end local 4 // java.lang.StringBuilder canonical
        end local 3 // int i
        end local 2 // int end
        end local 1 // boolean slash
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   62     0       path  Ljava/lang/String;
            3   62     1      slash  Z
            4   62     2        end  I
            5   62     3          i  I
            7   16     4          c  C
           20   62     4  canonical  Ljava/lang/StringBuilder;
           22   62     5       dots  I
           27   60     6          c  C
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.String canonicalEncodedPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String path
         0: .line 913
            aload 0 /* path */
            ifnull 1
            aload 0 /* path */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 914
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            areturn
         2: .line 916
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* slash */
        start local 1 // boolean slash
         3: .line 917
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            istore 2 /* end */
        start local 2 // int end
         4: .line 918
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: .line 921
            goto 17
         6: .line 923
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         7: .line 924
            iload 4 /* c */
            lookupswitch { // 3
                   46: 10
                   47: 8
                   63: 14
              default: 15
          }
         8: .line 927
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 1 /* slash */
         9: .line 928
            goto 16
        10: .line 931
      StackMap locals:
      StackMap stack:
            iload 1 /* slash */
            ifeq 12
        11: .line 932
            goto 18
        12: .line 933
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* slash */
        13: .line 934
            goto 16
        14: .line 937
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            areturn
        15: .line 940
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* slash */
        16: .line 943
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 4 // char c
        17: .line 921
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmplt 6
        18: .line 946
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmpne 20
        19: .line 947
            aload 0 /* path */
            areturn
        20: .line 949
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* canonical */
        start local 4 // java.lang.StringBuilder canonical
        21: .line 950
            aload 4 /* canonical */
            aload 0 /* path */
            iconst_0
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        22: .line 952
            iconst_1
            istore 5 /* dots */
        start local 5 // int dots
        23: .line 953
            iinc 3 /* i */ 1
        24: .line 954
            goto 65
        25: .line 956
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmpge 26
            aload 0 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            goto 27
      StackMap locals:
      StackMap stack:
        26: iconst_0
      StackMap locals:
      StackMap stack: int
        27: istore 6 /* c */
        start local 6 // char c
        28: .line 957
            iload 6 /* c */
            lookupswitch { // 4
                    0: 29
                   46: 51
                   47: 29
                   63: 29
              default: 58
          }
        29: .line 962
      StackMap locals: int
      StackMap stack:
            iload 5 /* dots */
            tableswitch { // 0 - 2
                    0: 30
                    1: 33
                    2: 36
              default: 43
          }
        30: .line 965
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            ifeq 48
        31: .line 966
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 967
            goto 48
        33: .line 970
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            bipush 63
            if_icmpne 48
        34: .line 971
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        35: .line 972
            goto 48
        36: .line 975
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_2
            if_icmpge 38
        37: .line 976
            aconst_null
            areturn
        38: .line 977
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            aload 4 /* canonical */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        39: .line 978
            aload 4 /* canonical */
            aload 4 /* canonical */
            ldc "/"
            invokevirtual java.lang.StringBuilder.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        40: .line 979
            iload 6 /* c */
            bipush 63
            if_icmpne 48
        41: .line 980
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        42: .line 981
            goto 48
        43: .line 983
      StackMap locals:
      StackMap stack:
            goto 45
        44: .line 985
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        45: .line 983
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            iinc 5 /* dots */ -1
            ifgt 44
        46: .line 987
            iload 6 /* c */
            ifeq 48
        47: .line 988
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        48: .line 991
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* slash */
        49: .line 992
            iconst_0
            istore 5 /* dots */
        50: .line 993
            goto 64
        51: .line 996
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            ifle 53
        52: .line 997
            iinc 5 /* dots */ 1
            goto 56
        53: .line 998
      StackMap locals:
      StackMap stack:
            iload 1 /* slash */
            ifeq 55
        54: .line 999
            iconst_1
            istore 5 /* dots */
            goto 56
        55: .line 1001
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        56: .line 1002
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* slash */
        57: .line 1003
            goto 64
        58: .line 1006
      StackMap locals:
      StackMap stack:
            goto 60
        59: .line 1008
      StackMap locals:
      StackMap stack:
            aload 4 /* canonical */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        60: .line 1006
      StackMap locals:
      StackMap stack:
            iload 5 /* dots */
            iinc 5 /* dots */ -1
            ifgt 59
        61: .line 1010
            aload 4 /* canonical */
            iload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        62: .line 1011
            iconst_0
            istore 5 /* dots */
        63: .line 1012
            iconst_0
            istore 1 /* slash */
        64: .line 1015
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 6 // char c
        65: .line 954
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmple 25
        66: .line 1017
            aload 4 /* canonical */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // int dots
        end local 4 // java.lang.StringBuilder canonical
        end local 3 // int i
        end local 2 // int end
        end local 1 // boolean slash
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   67     0       path  Ljava/lang/String;
            3   67     1      slash  Z
            4   67     2        end  I
            5   67     3          i  I
            7   17     4          c  C
           21   67     4  canonical  Ljava/lang/StringBuilder;
           23   67     5       dots  I
           28   65     6          c  C
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.String compactPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String path
         0: .line 1029
            aload 0 /* path */
            ifnull 1
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 1030
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            areturn
         2: .line 1032
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* state */
        start local 1 // int state
         3: .line 1033
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            istore 2 /* end */
        start local 2 // int end
         4: .line 1034
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: .line 1037
            goto 14
         6: .line 1039
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         7: .line 1040
            iload 4 /* c */
            lookupswitch { // 2
                   47: 9
                   63: 8
              default: 12
          }
         8: .line 1043
      StackMap locals: int
      StackMap stack:
            aload 0 /* path */
            areturn
         9: .line 1045
      StackMap locals:
      StackMap stack:
            iinc 1 /* state */ 1
        10: .line 1046
            iload 1 /* state */
            iconst_2
            if_icmpne 13
        11: .line 1047
            goto 15
        12: .line 1050
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* state */
        13: .line 1052
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 4 // char c
        14: .line 1037
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmplt 6
        15: .line 1055
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            iconst_2
            if_icmpge 17
        16: .line 1056
            aload 0 /* path */
            areturn
        17: .line 1058
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* buf */
        start local 4 // java.lang.StringBuilder buf
        18: .line 1059
            aload 4 /* buf */
            aload 0 /* path */
            iconst_0
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        19: .line 1062
            goto 30
        20: .line 1064
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* path */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
        21: .line 1065
            iload 5 /* c */
            lookupswitch { // 2
                   47: 24
                   63: 22
              default: 27
          }
        22: .line 1068
      StackMap locals: int
      StackMap stack:
            aload 4 /* buf */
            aload 0 /* path */
            iload 3 /* i */
            iload 2 /* end */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        23: .line 1069
            goto 31
        24: .line 1071
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            iinc 1 /* state */ 1
            ifne 29
        25: .line 1072
            aload 4 /* buf */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        26: .line 1073
            goto 29
        27: .line 1075
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* state */
        28: .line 1076
            aload 4 /* buf */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        29: .line 1078
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 5 // char c
        30: .line 1062
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* end */
            if_icmplt 20
        31: .line 1081
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder buf
        end local 3 // int i
        end local 2 // int end
        end local 1 // int state
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   32     0   path  Ljava/lang/String;
            3   32     1  state  I
            4   32     2    end  I
            5   32     3      i  I
            7   14     4      c  C
           18   32     4    buf  Ljava/lang/StringBuilder;
           21   30     5      c  C
    MethodParameters:
      Name  Flags
      path  

  public static boolean hasScheme(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String uri
         0: .line 1090
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 13
         2: .line 1092
      StackMap locals: int
      StackMap stack:
            aload 0 /* uri */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* c */
        start local 2 // char c
         3: .line 1093
            iload 2 /* c */
            bipush 58
            if_icmpne 5
         4: .line 1094
            iconst_1
            ireturn
         5: .line 1095
      StackMap locals: int
      StackMap stack:
            iload 2 /* c */
            bipush 97
            if_icmplt 6
            iload 2 /* c */
            bipush 122
            if_icmple 12
         6: .line 1096
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            bipush 65
            if_icmplt 7
            iload 2 /* c */
            bipush 90
            if_icmple 12
         7: .line 1097
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            ifle 14
            iload 2 /* c */
            bipush 48
            if_icmplt 8
            iload 2 /* c */
            bipush 57
            if_icmple 12
         8: .line 1098
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            bipush 46
            if_icmpeq 12
         9: .line 1099
            iload 2 /* c */
            bipush 43
            if_icmpeq 12
        10: .line 1100
            iload 2 /* c */
            bipush 45
            if_icmpeq 12
        11: .line 1102
            goto 14
        end local 2 // char c
        12: .line 1090
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 1 /* i */
            aload 0 /* uri */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
        end local 1 // int i
        14: .line 1105
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.String uri
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0   uri  Ljava/lang/String;
            1   14     1     i  I
            3   12     2     c  C
    MethodParameters:
      Name  Flags
      uri   

  public static java.lang.String newURI(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // java.lang.String scheme
        start local 1 // java.lang.String server
        start local 2 // int port
        start local 3 // java.lang.String path
        start local 4 // java.lang.String query
         0: .line 1120
            aload 0 /* scheme */
            aload 1 /* server */
            iload 2 /* port */
            invokestatic org.eclipse.jetty.util.URIUtil.newURIBuilder:(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/StringBuilder;
            astore 5 /* builder */
        start local 5 // java.lang.StringBuilder builder
         1: .line 1121
            aload 5 /* builder */
            aload 3 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 1122
            aload 4 /* query */
            ifnull 4
            aload 4 /* query */
            invokevirtual java.lang.String.length:()I
            ifle 4
         3: .line 1123
            aload 5 /* builder */
            bipush 63
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 4 /* query */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 1124
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 5 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.StringBuilder builder
        end local 4 // java.lang.String query
        end local 3 // java.lang.String path
        end local 2 // int port
        end local 1 // java.lang.String server
        end local 0 // java.lang.String scheme
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0   scheme  Ljava/lang/String;
            0    5     1   server  Ljava/lang/String;
            0    5     2     port  I
            0    5     3     path  Ljava/lang/String;
            0    5     4    query  Ljava/lang/String;
            1    5     5  builder  Ljava/lang/StringBuilder;
    MethodParameters:
        Name  Flags
      scheme  
      server  
      port    
      path    
      query   

  public static java.lang.StringBuilder newURIBuilder(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/StringBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.String scheme
        start local 1 // java.lang.String server
        start local 2 // int port
         0: .line 1137
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* builder */
        start local 3 // java.lang.StringBuilder builder
         1: .line 1138
            aload 3 /* builder */
            aload 0 /* scheme */
            aload 1 /* server */
            iload 2 /* port */
            invokestatic org.eclipse.jetty.util.URIUtil.appendSchemeHostPort:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;I)V
         2: .line 1139
            aload 3 /* builder */
            areturn
        end local 3 // java.lang.StringBuilder builder
        end local 2 // int port
        end local 1 // java.lang.String server
        end local 0 // java.lang.String scheme
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0   scheme  Ljava/lang/String;
            0    3     1   server  Ljava/lang/String;
            0    3     2     port  I
            1    3     3  builder  Ljava/lang/StringBuilder;
    MethodParameters:
        Name  Flags
      scheme  
      server  
      port    

  public static void appendSchemeHostPort(java.lang.StringBuilder, java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // java.lang.StringBuilder url
        start local 1 // java.lang.String scheme
        start local 2 // java.lang.String server
        start local 3 // int port
         0: .line 1152
            aload 0 /* url */
            aload 1 /* scheme */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "://"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* server */
            invokestatic org.eclipse.jetty.util.HostPort.normalizeHost:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 1154
            iload 3 /* port */
            ifle 12
         2: .line 1156
            aload 1 /* scheme */
            dup
            astore 4
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
              3213448: 3
             99617003: 4
              default: 11
          }
      StackMap locals: java.lang.String
      StackMap stack:
         3: aload 4
            ldc "http"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            goto 11
      StackMap locals:
      StackMap stack:
         4: aload 4
            ldc "https"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 11
         5: .line 1159
      StackMap locals:
      StackMap stack:
            iload 3 /* port */
            bipush 80
            if_icmpeq 12
         6: .line 1160
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 3 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         7: .line 1161
            goto 12
         8: .line 1164
      StackMap locals:
      StackMap stack:
            iload 3 /* port */
            sipush 443
            if_icmpeq 12
         9: .line 1165
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 3 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        10: .line 1166
            goto 12
        11: .line 1169
      StackMap locals:
      StackMap stack:
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 3 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        12: .line 1172
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int port
        end local 2 // java.lang.String server
        end local 1 // java.lang.String scheme
        end local 0 // java.lang.StringBuilder url
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0     url  Ljava/lang/StringBuilder;
            0   13     1  scheme  Ljava/lang/String;
            0   13     2  server  Ljava/lang/String;
            0   13     3    port  I
    MethodParameters:
        Name  Flags
      url     
      scheme  
      server  
      port    

  public static void appendSchemeHostPort(java.lang.StringBuffer, java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // java.lang.StringBuffer url
        start local 1 // java.lang.String scheme
        start local 2 // java.lang.String server
        start local 3 // int port
         0: .line 1184
            aload 0 /* url */
            dup
            astore 4
            monitorenter
         1: .line 1186
            aload 0 /* url */
            aload 1 /* scheme */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            ldc "://"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 2 /* server */
            invokestatic org.eclipse.jetty.util.HostPort.normalizeHost:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 1188
            iload 3 /* port */
            ifle 13
         3: .line 1190
            aload 1 /* scheme */
            dup
            astore 5
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
              3213448: 4
             99617003: 5
              default: 12
          }
      StackMap locals: java.lang.StringBuffer java.lang.String
      StackMap stack:
         4: aload 5
            ldc "http"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 12
      StackMap locals:
      StackMap stack:
         5: aload 5
            ldc "https"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 12
         6: .line 1193
      StackMap locals:
      StackMap stack:
            iload 3 /* port */
            bipush 80
            if_icmpeq 13
         7: .line 1194
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            iload 3 /* port */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
         8: .line 1195
            goto 13
         9: .line 1198
      StackMap locals:
      StackMap stack:
            iload 3 /* port */
            sipush 443
            if_icmpeq 13
        10: .line 1199
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            iload 3 /* port */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        11: .line 1200
            goto 13
        12: .line 1203
      StackMap locals:
      StackMap stack:
            aload 0 /* url */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            iload 3 /* port */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        13: .line 1184
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        14: goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 4
            monitorexit
        16: athrow
        17: .line 1207
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int port
        end local 2 // java.lang.String server
        end local 1 // java.lang.String scheme
        end local 0 // java.lang.StringBuffer url
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0     url  Ljava/lang/StringBuffer;
            0   18     1  scheme  Ljava/lang/String;
            0   18     2  server  Ljava/lang/String;
            0   18     3    port  I
      Exception table:
        from    to  target  type
           1    14      15  any
          15    16      15  any
    MethodParameters:
        Name  Flags
      url     
      scheme  
      server  
      port    

  public static boolean equalsIgnoreEncodings(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=10, args_size=2
        start local 0 // java.lang.String uriA
        start local 1 // java.lang.String uriB
         0: .line 1211
            aload 0 /* uriA */
            invokevirtual java.lang.String.length:()I
            istore 2 /* lenA */
        start local 2 // int lenA
         1: .line 1212
            aload 1 /* uriB */
            invokevirtual java.lang.String.length:()I
            istore 3 /* lenB */
        start local 3 // int lenB
         2: .line 1213
            iconst_0
            istore 4 /* a */
        start local 4 // int a
         3: .line 1214
            iconst_0
            istore 5 /* b */
        start local 5 // int b
         4: .line 1216
            goto 25
         5: .line 1218
      StackMap locals: java.lang.String java.lang.String int int int int
      StackMap stack:
            aload 0 /* uriA */
            iload 4 /* a */
            iinc 4 /* a */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* oa */
        start local 6 // int oa
         6: .line 1219
            iload 6 /* oa */
            istore 7 /* ca */
        start local 7 // int ca
         7: .line 1220
            iload 7 /* ca */
            bipush 37
            if_icmpne 13
         8: .line 1222
            aload 0 /* uriA */
            iload 4 /* a */
            invokestatic org.eclipse.jetty.util.URIUtil.lenientPercentDecode:(Ljava/lang/String;I)I
            istore 7 /* ca */
         9: .line 1223
            iload 7 /* ca */
            iconst_m1
            if_icmpne 12
        10: .line 1225
            bipush 37
            istore 7 /* ca */
        11: .line 1226
            goto 13
        12: .line 1229
      StackMap locals: int int
      StackMap stack:
            iinc 4 /* a */ 2
        13: .line 1233
      StackMap locals:
      StackMap stack:
            aload 1 /* uriB */
            iload 5 /* b */
            iinc 5 /* b */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* ob */
        start local 8 // int ob
        14: .line 1234
            iload 8 /* ob */
            istore 9 /* cb */
        start local 9 // int cb
        15: .line 1235
            iload 9 /* cb */
            bipush 37
            if_icmpne 21
        16: .line 1237
            aload 1 /* uriB */
            iload 5 /* b */
            invokestatic org.eclipse.jetty.util.URIUtil.lenientPercentDecode:(Ljava/lang/String;I)I
            istore 9 /* cb */
        17: .line 1238
            iload 9 /* cb */
            iconst_m1
            if_icmpne 20
        18: .line 1240
            bipush 37
            istore 9 /* cb */
        19: .line 1241
            goto 21
        20: .line 1244
      StackMap locals: int int
      StackMap stack:
            iinc 5 /* b */ 2
        21: .line 1249
      StackMap locals:
      StackMap stack:
            iload 7 /* ca */
            bipush 47
            if_icmpne 23
            iload 6 /* oa */
            iload 8 /* ob */
            if_icmpeq 23
        22: .line 1250
            iconst_0
            ireturn
        23: .line 1252
      StackMap locals:
      StackMap stack:
            iload 7 /* ca */
            iload 9 /* cb */
            if_icmpeq 25
        24: .line 1253
            iconst_0
            ireturn
        end local 9 // int cb
        end local 8 // int ob
        end local 7 // int ca
        end local 6 // int oa
        25: .line 1216
      StackMap locals: java.lang.String java.lang.String int int int int
      StackMap stack:
            iload 4 /* a */
            iload 2 /* lenA */
            if_icmpge 26
            iload 5 /* b */
            iload 3 /* lenB */
            if_icmplt 5
        26: .line 1255
      StackMap locals:
      StackMap stack:
            iload 4 /* a */
            iload 2 /* lenA */
            if_icmpne 27
            iload 5 /* b */
            iload 3 /* lenB */
            if_icmpne 27
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        27: iconst_0
            ireturn
        end local 5 // int b
        end local 4 // int a
        end local 3 // int lenB
        end local 2 // int lenA
        end local 1 // java.lang.String uriB
        end local 0 // java.lang.String uriA
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   28     0  uriA  Ljava/lang/String;
            0   28     1  uriB  Ljava/lang/String;
            1   28     2  lenA  I
            2   28     3  lenB  I
            3   28     4     a  I
            4   28     5     b  I
            6   25     6    oa  I
            7   25     7    ca  I
           14   25     8    ob  I
           15   25     9    cb  I
    MethodParameters:
      Name  Flags
      uriA  
      uriB  

  private static int lenientPercentDecode(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String str
        start local 1 // int offset
         0: .line 1260
            iload 1 /* offset */
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
         1: .line 1261
            iconst_m1
            ireturn
         2: .line 1263
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            iload 1 /* offset */
            iconst_2
            invokestatic org.eclipse.jetty.util.StringUtil.isHex:(Ljava/lang/String;II)Z
            ifeq 4
         3: .line 1265
            aload 0 /* str */
            iload 1 /* offset */
            iconst_2
            bipush 16
            invokestatic org.eclipse.jetty.util.TypeUtil.parseInt:(Ljava/lang/String;III)I
            ireturn
         4: .line 1269
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // int offset
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0     str  Ljava/lang/String;
            0    5     1  offset  I
    MethodParameters:
        Name  Flags
      str     
      offset  

  public static boolean equalsIgnoreEncodings(java.net.URI, java.net.URI);
    descriptor: (Ljava/net/URI;Ljava/net/URI;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.net.URI uriA
        start local 1 // java.net.URI uriB
         0: .line 1275
            aload 0 /* uriA */
            aload 1 /* uriB */
            invokevirtual java.net.URI.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1276
            iconst_1
            ireturn
         2: .line 1278
      StackMap locals:
      StackMap stack:
            aload 0 /* uriA */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ifnonnull 5
         3: .line 1280
            aload 1 /* uriB */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ifnull 7
         4: .line 1281
            iconst_0
            ireturn
         5: .line 1283
      StackMap locals:
      StackMap stack:
            aload 0 /* uriA */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            aload 1 /* uriB */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 7
         6: .line 1284
            iconst_0
            ireturn
         7: .line 1286
      StackMap locals:
      StackMap stack:
            ldc "jar"
            aload 0 /* uriA */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 11
         8: .line 1289
            aload 0 /* uriA */
            invokevirtual java.net.URI.getSchemeSpecificPart:()Ljava/lang/String;
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            astore 2 /* uriAssp */
        start local 2 // java.net.URI uriAssp
         9: .line 1290
            aload 1 /* uriB */
            invokevirtual java.net.URI.getSchemeSpecificPart:()Ljava/lang/String;
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            astore 3 /* uriBssp */
        start local 3 // java.net.URI uriBssp
        10: .line 1291
            aload 2 /* uriAssp */
            aload 3 /* uriBssp */
            invokestatic org.eclipse.jetty.util.URIUtil.equalsIgnoreEncodings:(Ljava/net/URI;Ljava/net/URI;)Z
            ireturn
        end local 3 // java.net.URI uriBssp
        end local 2 // java.net.URI uriAssp
        11: .line 1294
      StackMap locals:
      StackMap stack:
            aload 0 /* uriA */
            invokevirtual java.net.URI.getAuthority:()Ljava/lang/String;
            ifnonnull 14
        12: .line 1296
            aload 1 /* uriB */
            invokevirtual java.net.URI.getAuthority:()Ljava/lang/String;
            ifnull 16
        13: .line 1297
            iconst_0
            ireturn
        14: .line 1299
      StackMap locals:
      StackMap stack:
            aload 0 /* uriA */
            invokevirtual java.net.URI.getAuthority:()Ljava/lang/String;
            aload 1 /* uriB */
            invokevirtual java.net.URI.getAuthority:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
        15: .line 1300
            iconst_0
            ireturn
        16: .line 1302
      StackMap locals:
      StackMap stack:
            aload 0 /* uriA */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            aload 1 /* uriB */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            invokestatic org.eclipse.jetty.util.URIUtil.equalsIgnoreEncodings:(Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        end local 1 // java.net.URI uriB
        end local 0 // java.net.URI uriA
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     uriA  Ljava/net/URI;
            0   17     1     uriB  Ljava/net/URI;
            9   11     2  uriAssp  Ljava/net/URI;
           10   11     3  uriBssp  Ljava/net/URI;
    MethodParameters:
      Name  Flags
      uriA  
      uriB  

  public static java.net.URI addPath(java.net.URI, java.lang.String);
    descriptor: (Ljava/net/URI;Ljava/lang/String;)Ljava/net/URI;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.net.URI uri
        start local 1 // java.lang.String path
         0: .line 1312
            aload 0 /* uri */
            invokevirtual java.net.URI.toASCIIString:()Ljava/lang/String;
            astore 2 /* base */
        start local 2 // java.lang.String base
         1: .line 1313
            new java.lang.StringBuilder
            dup
            aload 2 /* base */
            invokevirtual java.lang.String.length:()I
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_3
            imul
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
         2: .line 1314
            aload 3 /* buf */
            aload 2 /* base */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 1315
            aload 3 /* buf */
            aload 2 /* base */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            bipush 47
            if_icmpeq 5
         4: .line 1316
            aload 3 /* buf */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 1318
      StackMap locals: java.lang.String java.lang.StringBuilder
      StackMap stack:
            aload 1 /* path */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 4 /* offset */
        start local 4 // int offset
         8: .line 1319
            aload 3 /* buf */
            aload 1 /* path */
            iload 4 /* offset */
            invokestatic org.eclipse.jetty.util.URIUtil.encodePath:(Ljava/lang/StringBuilder;Ljava/lang/String;I)Ljava/lang/StringBuilder;
            pop
         9: .line 1321
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            areturn
        end local 4 // int offset
        end local 3 // java.lang.StringBuilder buf
        end local 2 // java.lang.String base
        end local 1 // java.lang.String path
        end local 0 // java.net.URI uri
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0     uri  Ljava/net/URI;
            0   10     1    path  Ljava/lang/String;
            1   10     2    base  Ljava/lang/String;
            2   10     3     buf  Ljava/lang/StringBuilder;
            8   10     4  offset  I
    MethodParameters:
      Name  Flags
      uri   
      path  

  public static java.lang.String addQueries(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String query1
        start local 1 // java.lang.String query2
         0: .line 1333
            aload 0 /* query1 */
            invokestatic org.eclipse.jetty.util.StringUtil.isEmpty:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1334
            aload 1 /* query2 */
            areturn
         2: .line 1335
      StackMap locals:
      StackMap stack:
            aload 1 /* query2 */
            invokestatic org.eclipse.jetty.util.StringUtil.isEmpty:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1336
            aload 0 /* query1 */
            areturn
         4: .line 1337
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* query1 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 38
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* query2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String query2
        end local 0 // java.lang.String query1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  query1  Ljava/lang/String;
            0    5     1  query2  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      query1  
      query2  

  public static java.net.URI getJarSource(java.net.URI);
    descriptor: (Ljava/net/URI;)Ljava/net/URI;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.net.URI uri
         0: .line 1344
            ldc "jar"
            aload 0 /* uri */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 1345
            aload 0 /* uri */
         2: areturn
         3: .line 1347
      StackMap locals:
      StackMap stack:
            aload 0 /* uri */
            invokevirtual java.net.URI.getRawSchemeSpecificPart:()Ljava/lang/String;
            astore 1 /* s */
        start local 1 // java.lang.String s
         4: .line 1348
            aload 1 /* s */
            ldc "!/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* bangSlash */
        start local 2 // int bangSlash
         5: .line 1349
            iload 2 /* bangSlash */
            iflt 7
         6: .line 1350
            aload 1 /* s */
            iconst_0
            iload 2 /* bangSlash */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* s */
         7: .line 1351
      StackMap locals: java.lang.String int
      StackMap stack:
            new java.net.URI
            dup
            aload 1 /* s */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
         8: areturn
        end local 2 // int bangSlash
        end local 1 // java.lang.String s
         9: .line 1353
      StackMap locals: java.net.URI
      StackMap stack: java.net.URISyntaxException
            astore 1 /* e */
        start local 1 // java.net.URISyntaxException e
        10: .line 1355
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.net.URISyntaxException e
        end local 0 // java.net.URI uri
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0        uri  Ljava/net/URI;
            4    9     1          s  Ljava/lang/String;
            5    9     2  bangSlash  I
           10   11     1          e  Ljava/net/URISyntaxException;
      Exception table:
        from    to  target  type
           0     2       9  Class java.net.URISyntaxException
           3     8       9  Class java.net.URISyntaxException
    MethodParameters:
      Name  Flags
      uri   

  public static java.lang.String getJarSource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String uri
         0: .line 1361
            aload 0 /* uri */
            ldc "jar:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
         1: .line 1362
            aload 0 /* uri */
            areturn
         2: .line 1363
      StackMap locals:
      StackMap stack:
            aload 0 /* uri */
            ldc "!/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 1 /* bangSlash */
        start local 1 // int bangSlash
         3: .line 1364
            iload 1 /* bangSlash */
            iflt 4
            aload 0 /* uri */
            iconst_4
            iload 1 /* bangSlash */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 0 /* uri */
            iconst_4
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         5: areturn
        end local 1 // int bangSlash
        end local 0 // java.lang.String uri
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0        uri  Ljava/lang/String;
            3    6     1  bangSlash  I
    MethodParameters:
      Name  Flags
      uri   
}
SourceFile: "URIUtil.java"
InnerClasses:
  public NotUtf8Exception = org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception of org.eclipse.jetty.util.Utf8Appendable