public final class jdk.nashorn.internal.runtime.URIUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.URIUtils
  super_class: java.lang.Object
{
  private static final java.lang.String URI_UNESCAPED_NONALPHANUMERIC;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "-_.!~*'()"

  private static final java.lang.String URI_RESERVED;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ";/?:@&=+$,#"

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.URIUtils this
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 37
            return
        end local 0 // jdk.nashorn.internal.runtime.URIUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/URIUtils;

  static java.lang.String encodeURI(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.String string
         0: .line 40
            aload 0 /* self */
            aload 1 /* string */
            iconst_0
            invokestatic jdk.nashorn.internal.runtime.URIUtils.encode:(Ljava/lang/Object;Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String string
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    self  Ljava/lang/Object;
            0    1     1  string  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      self    final
      string  final

  static java.lang.String encodeURIComponent(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.String string
         0: .line 44
            aload 0 /* self */
            aload 1 /* string */
            iconst_1
            invokestatic jdk.nashorn.internal.runtime.URIUtils.encode:(Ljava/lang/Object;Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String string
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    self  Ljava/lang/Object;
            0    1     1  string  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      self    final
      string  final

  static java.lang.String decodeURI(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.String string
         0: .line 48
            aload 0 /* self */
            aload 1 /* string */
            iconst_0
            invokestatic jdk.nashorn.internal.runtime.URIUtils.decode:(Ljava/lang/Object;Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String string
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    self  Ljava/lang/Object;
            0    1     1  string  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      self    final
      string  final

  static java.lang.String decodeURIComponent(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.String string
         0: .line 52
            aload 0 /* self */
            aload 1 /* string */
            iconst_1
            invokestatic jdk.nashorn.internal.runtime.URIUtils.decode:(Ljava/lang/Object;Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String string
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    self  Ljava/lang/Object;
            0    1     1  string  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      self    final
      string  final

  private static java.lang.String encode(java.lang.Object, java.lang.String, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.String string
        start local 2 // boolean component
         0: .line 57
            aload 1 /* string */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 58
            aload 1 /* string */
            areturn
         2: .line 61
      StackMap locals:
      StackMap stack:
            aload 1 /* string */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         3: .line 62
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         4: .line 64
            iconst_0
            istore 5 /* k */
        start local 5 // int k
         5: goto 27
         6: .line 65
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* string */
            iload 5 /* k */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* C */
        start local 6 // char C
         7: .line 66
            iload 6 /* C */
            iload 2 /* component */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.isUnescaped:(CZ)Z
            ifeq 10
         8: .line 67
            aload 4 /* sb */
            iload 6 /* C */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 68
            goto 26
        10: .line 71
      StackMap locals: int
      StackMap stack:
            iload 6 /* C */
            ldc 56320
            if_icmplt 12
            iload 6 /* C */
            ldc 57343
            if_icmpgt 12
        11: .line 72
            aload 1 /* string */
            iload 5 /* k */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.error:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        12: .line 76
      StackMap locals:
      StackMap stack:
            iload 6 /* C */
            ldc 55296
            if_icmplt 13
            iload 6 /* C */
            ldc 56319
            if_icmple 15
        13: .line 77
      StackMap locals:
      StackMap stack:
            iload 6 /* C */
            istore 7 /* V */
        start local 7 // int V
        14: .line 78
            goto 22
        end local 7 // int V
        15: .line 79
      StackMap locals:
      StackMap stack:
            iinc 5 /* k */ 1
        16: .line 80
            iload 5 /* k */
            iload 3 /* len */
            if_icmpne 18
        17: .line 81
            aload 1 /* string */
            iload 5 /* k */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.error:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        18: .line 84
      StackMap locals:
      StackMap stack:
            aload 1 /* string */
            iload 5 /* k */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* kChar */
        start local 8 // char kChar
        19: .line 85
            iload 8 /* kChar */
            ldc 56320
            if_icmplt 20
            iload 8 /* kChar */
            ldc 57343
            if_icmple 21
        20: .line 86
      StackMap locals: java.lang.Object java.lang.String int int java.lang.StringBuilder int int top int
      StackMap stack:
            aload 1 /* string */
            iload 5 /* k */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.error:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        21: .line 88
      StackMap locals:
      StackMap stack:
            iload 6 /* C */
            ldc 55296
            isub
            sipush 1024
            imul
            iload 8 /* kChar */
            ldc 56320
            isub
            iadd
            ldc 65536
            iadd
            istore 7 /* V */
        end local 8 // char kChar
        start local 7 // int V
        22: .line 92
      StackMap locals: java.lang.Object java.lang.String int int java.lang.StringBuilder int int int
      StackMap stack:
            aload 4 /* sb */
            iload 7 /* V */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.toHexEscape:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 93
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Exception
        24: astore 8 /* e */
        start local 8 // java.lang.Exception e
        25: .line 94
            aload 8 /* e */
            ldc "bad.uri"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* string */
            aastore
            dup
            iconst_1
            iload 5 /* k */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.uriError:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 8 // java.lang.Exception e
        end local 7 // int V
        end local 6 // char C
        26: .line 64
      StackMap locals:
      StackMap stack:
            iinc 5 /* k */ 1
      StackMap locals:
      StackMap stack:
        27: iload 5 /* k */
            iload 3 /* len */
            if_icmplt 6
        end local 5 // int k
        28: .line 98
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder sb
        end local 3 // int len
        end local 2 // boolean component
        end local 1 // java.lang.String string
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   29     0       self  Ljava/lang/Object;
            0   29     1     string  Ljava/lang/String;
            0   29     2  component  Z
            3   29     3        len  I
            4   29     4         sb  Ljava/lang/StringBuilder;
            5   28     5          k  I
            7   26     6          C  C
           14   15     7          V  I
           22   26     7          V  I
           19   22     8      kChar  C
           25   26     8          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          22    23      24  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      self       final
      string     final
      component  final

  private static java.lang.String decode(java.lang.Object, java.lang.String, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=15, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.String string
        start local 2 // boolean component
         0: .line 103
            aload 1 /* string */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 104
            aload 1 /* string */
            areturn
         2: .line 107
      StackMap locals:
      StackMap stack:
            aload 1 /* string */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         3: .line 108
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         4: .line 110
            iconst_0
            istore 5 /* k */
        start local 5 // int k
         5: goto 90
         6: .line 111
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* string */
            iload 5 /* k */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* ch */
        start local 6 // char ch
         7: .line 112
            iload 6 /* ch */
            bipush 37
            if_icmpeq 10
         8: .line 113
            aload 4 /* sb */
            iload 6 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 114
            goto 89
        10: .line 116
      StackMap locals: int
      StackMap stack:
            iload 5 /* k */
            istore 7 /* start */
        start local 7 // int start
        11: .line 117
            iload 5 /* k */
            iconst_2
            iadd
            iload 3 /* len */
            if_icmplt 13
        12: .line 118
            aload 1 /* string */
            iload 5 /* k */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.error:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        13: .line 121
      StackMap locals: int
      StackMap stack:
            aload 1 /* string */
            iload 5 /* k */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            aload 1 /* string */
            iload 5 /* k */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic jdk.nashorn.internal.runtime.URIUtils.toHexByte:(CC)I
            istore 8 /* B */
        start local 8 // int B
        14: .line 122
            iload 8 /* B */
            ifge 16
        15: .line 123
            aload 1 /* string */
            iload 5 /* k */
            iconst_1
            iadd
            invokestatic jdk.nashorn.internal.runtime.URIUtils.error:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        16: .line 126
      StackMap locals: int
      StackMap stack:
            iinc 5 /* k */ 2
        17: .line 129
            iload 8 /* B */
            sipush 128
            iand
            ifne 28
        18: .line 130
            iload 8 /* B */
            i2c
            istore 9 /* C */
        start local 9 // char C
        19: .line 131
            iload 2 /* component */
            ifne 26
            ldc ";/?:@&=+$,#"
            iload 9 /* C */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 26
        20: .line 132
            iload 7 /* start */
            istore 10 /* j */
        start local 10 // int j
        21: goto 24
        22: .line 133
      StackMap locals: int int
      StackMap stack:
            aload 4 /* sb */
            aload 1 /* string */
            iload 10 /* j */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        23: .line 132
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        24: iload 10 /* j */
            iload 5 /* k */
            if_icmple 22
        end local 10 // int j
        25: .line 135
            goto 89
        26: .line 136
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            iload 9 /* C */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 138
            goto 89
        end local 9 // char C
        28: .line 142
      StackMap locals:
      StackMap stack:
            iload 8 /* B */
            sipush 192
            iand
            sipush 128
            if_icmpne 30
        29: .line 144
            aload 1 /* string */
            iload 5 /* k */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.error:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        30: .line 145
      StackMap locals:
      StackMap stack:
            iload 8 /* B */
            bipush 32
            iand
            ifne 35
        31: .line 147
            iconst_2
            istore 10 /* n */
        start local 10 // int n
        32: .line 148
            iload 8 /* B */
            bipush 31
            iand
            istore 11 /* V */
        start local 11 // int V
        33: .line 149
            sipush 128
            istore 12 /* minV */
        start local 12 // int minV
        34: .line 150
            goto 56
        end local 12 // int minV
        end local 11 // int V
        end local 10 // int n
      StackMap locals:
      StackMap stack:
        35: iload 8 /* B */
            bipush 16
            iand
            ifne 40
        36: .line 152
            iconst_3
            istore 10 /* n */
        start local 10 // int n
        37: .line 153
            iload 8 /* B */
            bipush 15
            iand
            istore 11 /* V */
        start local 11 // int V
        38: .line 154
            sipush 2048
            istore 12 /* minV */
        start local 12 // int minV
        39: .line 155
            goto 56
        end local 12 // int minV
        end local 11 // int V
        end local 10 // int n
      StackMap locals:
      StackMap stack:
        40: iload 8 /* B */
            bipush 8
            iand
            ifne 45
        41: .line 157
            iconst_4
            istore 10 /* n */
        start local 10 // int n
        42: .line 158
            iload 8 /* B */
            bipush 7
            iand
            istore 11 /* V */
        start local 11 // int V
        43: .line 159
            ldc 65536
            istore 12 /* minV */
        start local 12 // int minV
        44: .line 160
            goto 56
        end local 12 // int minV
        end local 11 // int V
        end local 10 // int n
      StackMap locals:
      StackMap stack:
        45: iload 8 /* B */
            iconst_4
            iand
            ifne 50
        46: .line 162
            iconst_5
            istore 10 /* n */
        start local 10 // int n
        47: .line 163
            iload 8 /* B */
            iconst_3
            iand
            istore 11 /* V */
        start local 11 // int V
        48: .line 164
            ldc 2097152
            istore 12 /* minV */
        start local 12 // int minV
        49: .line 165
            goto 56
        end local 12 // int minV
        end local 11 // int V
        end local 10 // int n
      StackMap locals:
      StackMap stack:
        50: iload 8 /* B */
            iconst_2
            iand
            ifne 55
        51: .line 167
            bipush 6
            istore 10 /* n */
        start local 10 // int n
        52: .line 168
            iload 8 /* B */
            iconst_1
            iand
            istore 11 /* V */
        start local 11 // int V
        53: .line 169
            ldc 67108864
            istore 12 /* minV */
        start local 12 // int minV
        54: .line 170
            goto 56
        end local 12 // int minV
        end local 11 // int V
        end local 10 // int n
        55: .line 171
      StackMap locals:
      StackMap stack:
            aload 1 /* string */
            iload 5 /* k */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.error:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        start local 10 // int n
        start local 11 // int V
        start local 12 // int minV
        56: .line 175
      StackMap locals: java.lang.Object java.lang.String int int java.lang.StringBuilder int int int int top int int int
      StackMap stack:
            iload 5 /* k */
            iconst_3
            iload 10 /* n */
            iconst_1
            isub
            imul
            iadd
            iload 3 /* len */
            if_icmplt 58
        57: .line 176
            aload 1 /* string */
            iload 5 /* k */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.error:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        58: .line 179
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 13 /* j */
        start local 13 // int j
        59: goto 69
        60: .line 180
      StackMap locals: int
      StackMap stack:
            iinc 5 /* k */ 1
        61: .line 181
            aload 1 /* string */
            iload 5 /* k */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 37
            if_icmpeq 63
        62: .line 182
            aload 1 /* string */
            iload 5 /* k */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.error:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        63: .line 185
      StackMap locals:
      StackMap stack:
            aload 1 /* string */
            iload 5 /* k */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            aload 1 /* string */
            iload 5 /* k */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic jdk.nashorn.internal.runtime.URIUtils.toHexByte:(CC)I
            istore 8 /* B */
        64: .line 186
            iload 8 /* B */
            iflt 65
            iload 8 /* B */
            sipush 192
            iand
            sipush 128
            if_icmpeq 66
        65: .line 187
      StackMap locals:
      StackMap stack:
            aload 1 /* string */
            iload 5 /* k */
            iconst_1
            iadd
            invokestatic jdk.nashorn.internal.runtime.URIUtils.error:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        66: .line 190
      StackMap locals:
      StackMap stack:
            iload 11 /* V */
            bipush 6
            ishl
            iload 8 /* B */
            bipush 63
            iand
            ior
            istore 11 /* V */
        67: .line 191
            iinc 5 /* k */ 2
        68: .line 179
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        69: iload 13 /* j */
            iload 10 /* n */
            if_icmplt 60
        end local 13 // int j
        70: .line 197
            iload 11 /* V */
            iload 12 /* minV */
            if_icmplt 71
            iload 11 /* V */
            ldc 55296
            if_icmplt 72
            iload 11 /* V */
            ldc 57343
            if_icmpgt 72
        71: .line 198
      StackMap locals:
      StackMap stack:
            ldc 2147483647
            istore 11 /* V */
        72: .line 201
      StackMap locals:
      StackMap stack:
            iload 11 /* V */
            ldc 65536
            if_icmpge 83
        73: .line 202
            iload 11 /* V */
            i2c
            istore 9 /* C */
        start local 9 // char C
        74: .line 203
            iload 2 /* component */
            ifne 81
            ldc ";/?:@&=+$,#"
            iload 9 /* C */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 81
        75: .line 204
            iload 7 /* start */
            istore 13 /* j */
        start local 13 // int j
        76: goto 79
        77: .line 205
      StackMap locals: java.lang.Object java.lang.String int int java.lang.StringBuilder int int int int int int int int int
      StackMap stack:
            aload 4 /* sb */
            aload 1 /* string */
            iload 13 /* j */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        78: .line 204
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        79: iload 13 /* j */
            iload 5 /* k */
            if_icmpne 77
        end local 13 // int j
        80: .line 207
            goto 89
        81: .line 208
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            iload 9 /* C */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        82: .line 210
            goto 89
        end local 9 // char C
        83: .line 211
      StackMap locals: java.lang.Object java.lang.String int int java.lang.StringBuilder int int int int top int int int
      StackMap stack:
            iload 11 /* V */
            ldc 1114111
            if_icmple 85
        84: .line 212
            aload 1 /* string */
            iload 5 /* k */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.error:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        85: .line 214
      StackMap locals:
      StackMap stack:
            iload 11 /* V */
            ldc 65536
            isub
            sipush 1023
            iand
            ldc 56320
            iadd
            istore 13 /* L */
        start local 13 // int L
        86: .line 215
            iload 11 /* V */
            ldc 65536
            isub
            bipush 10
            ishr
            sipush 1023
            iand
            ldc 55296
            iadd
            istore 14 /* H */
        start local 14 // int H
        87: .line 216
            aload 4 /* sb */
            iload 14 /* H */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        88: .line 217
            aload 4 /* sb */
            iload 13 /* L */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 14 // int H
        end local 13 // int L
        end local 12 // int minV
        end local 11 // int V
        end local 10 // int n
        end local 8 // int B
        end local 7 // int start
        end local 6 // char ch
        89: .line 110
      StackMap locals: java.lang.Object java.lang.String int int java.lang.StringBuilder int
      StackMap stack:
            iinc 5 /* k */ 1
      StackMap locals:
      StackMap stack:
        90: iload 5 /* k */
            iload 3 /* len */
            if_icmplt 6
        end local 5 // int k
        91: .line 222
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder sb
        end local 3 // int len
        end local 2 // boolean component
        end local 1 // java.lang.String string
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   92     0       self  Ljava/lang/Object;
            0   92     1     string  Ljava/lang/String;
            0   92     2  component  Z
            3   92     3        len  I
            4   92     4         sb  Ljava/lang/StringBuilder;
            5   91     5          k  I
            7   89     6         ch  C
           11   89     7      start  I
           14   89     8          B  I
           19   28     9          C  C
           74   83     9          C  C
           21   25    10          j  I
           32   35    10          n  I
           37   40    10          n  I
           42   45    10          n  I
           47   50    10          n  I
           52   55    10          n  I
           56   89    10          n  I
           33   35    11          V  I
           38   40    11          V  I
           43   45    11          V  I
           48   50    11          V  I
           53   55    11          V  I
           56   89    11          V  I
           34   35    12       minV  I
           39   40    12       minV  I
           44   45    12       minV  I
           49   50    12       minV  I
           54   55    12       minV  I
           56   89    12       minV  I
           59   70    13          j  I
           76   80    13          j  I
           86   89    13          L  I
           87   89    14          H  I
    MethodParameters:
           Name  Flags
      self       final
      string     final
      component  final

  private static int hexDigit(char);
    descriptor: (C)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // char ch
         0: .line 226
            iload 0 /* ch */
            invokestatic java.lang.Character.toUpperCase:(C)C
            istore 1 /* chu */
        start local 1 // char chu
         1: .line 227
            iload 1 /* chu */
            bipush 48
            if_icmplt 3
            iload 1 /* chu */
            bipush 57
            if_icmpgt 3
         2: .line 228
            iload 1 /* chu */
            bipush 48
            isub
            ireturn
         3: .line 229
      StackMap locals: int
      StackMap stack:
            iload 1 /* chu */
            bipush 65
            if_icmplt 5
            iload 1 /* chu */
            bipush 70
            if_icmpgt 5
         4: .line 230
            iload 1 /* chu */
            bipush 65
            isub
            bipush 10
            iadd
            ireturn
         5: .line 232
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // char chu
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0    ch  C
            1    6     1   chu  C
    MethodParameters:
      Name  Flags
      ch    final

  private static int toHexByte(char, char);
    descriptor: (CC)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // char ch1
        start local 1 // char ch2
         0: .line 237
            iload 0 /* ch1 */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.hexDigit:(C)I
            istore 2 /* i1 */
        start local 2 // int i1
         1: .line 238
            iload 1 /* ch2 */
            invokestatic jdk.nashorn.internal.runtime.URIUtils.hexDigit:(C)I
            istore 3 /* i2 */
        start local 3 // int i2
         2: .line 239
            iload 2 /* i1 */
            iflt 4
            iload 3 /* i2 */
            iflt 4
         3: .line 240
            iload 2 /* i1 */
            iconst_4
            ishl
            iload 3 /* i2 */
            ior
            ireturn
         4: .line 242
      StackMap locals: int int
      StackMap stack:
            iconst_m1
            ireturn
        end local 3 // int i2
        end local 2 // int i1
        end local 1 // char ch2
        end local 0 // char ch1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   ch1  C
            0    5     1   ch2  C
            1    5     2    i1  I
            2    5     3    i2  I
    MethodParameters:
      Name  Flags
      ch1   final
      ch2   final

  private static java.lang.String toHexEscape(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // int u0
         0: .line 246
            iload 0 /* u0 */
            istore 1 /* u */
        start local 1 // int u
         1: .line 248
            bipush 6
            newarray 8
            astore 3 /* b */
        start local 3 // byte[] b
         2: .line 250
            iload 1 /* u */
            bipush 127
            if_icmpgt 6
         3: .line 251
            aload 3 /* b */
            iconst_0
            iload 1 /* u */
            i2b
            bastore
         4: .line 252
            iconst_1
            istore 2 /* len */
        start local 2 // int len
         5: .line 253
            goto 19
        end local 2 // int len
         6: .line 259
      StackMap locals: int int top byte[]
      StackMap stack:
            iconst_2
            istore 2 /* len */
        start local 2 // int len
         7: .line 260
            iload 1 /* u */
            bipush 11
            iushr
            istore 4 /* mask */
        start local 4 // int mask
         8: goto 11
         9: .line 261
      StackMap locals: int int int byte[] int
      StackMap stack:
            iinc 2 /* len */ 1
        10: .line 260
            iload 4 /* mask */
            iconst_5
            iushr
            istore 4 /* mask */
      StackMap locals:
      StackMap stack:
        11: iload 4 /* mask */
            ifne 9
        end local 4 // int mask
        12: .line 263
            iload 2 /* len */
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
        13: goto 17
        14: .line 264
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            iload 4 /* i */
            sipush 128
            iload 1 /* u */
            bipush 63
            iand
            ior
            i2b
            bastore
        15: .line 265
            iload 1 /* u */
            bipush 6
            iushr
            istore 1 /* u */
        16: .line 263
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            ifgt 14
        end local 4 // int i
        18: .line 268
            aload 3 /* b */
            iconst_0
            iconst_1
            bipush 8
            iload 2 /* len */
            isub
            ishl
            iconst_1
            isub
            iconst_m1
            ixor
            iload 1 /* u */
            ior
            i2b
            bastore
        19: .line 271
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
        20: .line 272
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        21: goto 27
        22: .line 273
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 4 /* sb */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        23: .line 274
            aload 3 /* b */
            iload 5 /* i */
            baload
            sipush 255
            iand
            bipush 16
            if_icmpge 25
        24: .line 275
            aload 4 /* sb */
            bipush 48
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        25: .line 277
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            aload 3 /* b */
            iload 5 /* i */
            baload
            sipush 255
            iand
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 272
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 5 /* i */
            iload 2 /* len */
            if_icmplt 22
        end local 5 // int i
        28: .line 280
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder sb
        end local 3 // byte[] b
        end local 2 // int len
        end local 1 // int u
        end local 0 // int u0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0    u0  I
            1   29     1     u  I
            5    6     2   len  I
            7   29     2   len  I
            2   29     3     b  [B
            8   12     4  mask  I
           13   18     4     i  I
           20   29     4    sb  Ljava/lang/StringBuilder;
           21   28     5     i  I
    MethodParameters:
      Name  Flags
      u0    final

  private static java.lang.String error(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.String string
        start local 1 // int index
         0: .line 284
            ldc "bad.uri"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* string */
            aastore
            dup
            iconst_1
            iload 1 /* index */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.uriError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 1 // int index
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  string  Ljava/lang/String;
            0    1     1   index  I
    MethodParameters:
        Name  Flags
      string  final
      index   final

  private static boolean isUnescaped(char, boolean);
    descriptor: (CZ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // char ch
        start local 1 // boolean component
         0: .line 293
            bipush 65
            iload 0 /* ch */
            if_icmpgt 1
            iload 0 /* ch */
            bipush 90
            if_icmple 3
      StackMap locals:
      StackMap stack:
         1: bipush 97
            iload 0 /* ch */
            if_icmpgt 2
            iload 0 /* ch */
            bipush 122
            if_icmple 3
         2: .line 294
      StackMap locals:
      StackMap stack:
            bipush 48
            iload 0 /* ch */
            if_icmpgt 4
            iload 0 /* ch */
            bipush 57
            if_icmpgt 4
         3: .line 295
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 298
      StackMap locals:
      StackMap stack:
            ldc "-_.!~*'()"
            iload 0 /* ch */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 6
         5: .line 299
            iconst_1
            ireturn
         6: .line 302
      StackMap locals:
      StackMap stack:
            iload 1 /* component */
            ifne 9
         7: .line 303
            ldc ";/?:@&=+$,#"
            iload 0 /* ch */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
         9: .line 306
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // boolean component
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0         ch  C
            0   10     1  component  Z
    MethodParameters:
           Name  Flags
      ch         final
      component  final
}
SourceFile: "URIUtils.java"