public final class org.glassfish.grizzly.http.util.UDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.glassfish.grizzly.http.util.UDecoder
  super_class: java.lang.Object
{
  private static final java.lang.String ALLOW_ENCODED_SLASH_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.glassfish.grizzly.util.buf.UDecoder.ALLOW_ENCODED_SLASH"

  public static final boolean ALLOW_ENCODED_SLASH;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 35
            ldc "org.glassfish.grizzly.util.buf.UDecoder.ALLOW_ENCODED_SLASH"
            ldc "false"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
         1: .line 34
            putstatic org.glassfish.grizzly.http.util.UDecoder.ALLOW_ENCODED_SLASH:Z
         2: .line 35
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http.util.UDecoder this
         0: .line 39
            aload 0 /* this */
            getstatic org.glassfish.grizzly.http.util.UDecoder.ALLOW_ENCODED_SLASH:Z
            invokespecial org.glassfish.grizzly.http.util.UDecoder.<init>:(Z)V
         1: .line 40
            return
        end local 0 // org.glassfish.grizzly.http.util.UDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http/util/UDecoder;

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http.util.UDecoder this
        start local 1 // boolean allowEncodedSlash
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 0 /* this */
            iload 1 /* allowEncodedSlash */
            putfield org.glassfish.grizzly.http.util.UDecoder.allowEncodedSlash:Z
         2: .line 44
            return
        end local 1 // boolean allowEncodedSlash
        end local 0 // org.glassfish.grizzly.http.util.UDecoder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/glassfish/grizzly/http/util/UDecoder;
            0    3     1  allowEncodedSlash  Z
    MethodParameters:
                   Name  Flags
      allowEncodedSlash  

  public void convert(org.glassfish.grizzly.http.util.ByteChunk);
    descriptor: (Lorg/glassfish/grizzly/http/util/ByteChunk;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http.util.UDecoder this
        start local 1 // org.glassfish.grizzly.http.util.ByteChunk mb
         0: .line 51
            aload 0 /* this */
            aload 1 /* mb */
            iconst_1
            invokevirtual org.glassfish.grizzly.http.util.UDecoder.convert:(Lorg/glassfish/grizzly/http/util/ByteChunk;Z)V
         1: .line 52
            return
        end local 1 // org.glassfish.grizzly.http.util.ByteChunk mb
        end local 0 // org.glassfish.grizzly.http.util.UDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http/util/UDecoder;
            0    2     1    mb  Lorg/glassfish/grizzly/http/util/ByteChunk;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mb    

  public void convert(org.glassfish.grizzly.http.util.ByteChunk, boolean);
    descriptor: (Lorg/glassfish/grizzly/http/util/ByteChunk;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http.util.UDecoder this
        start local 1 // org.glassfish.grizzly.http.util.ByteChunk mb
        start local 2 // boolean query
         0: .line 58
            aload 1 /* mb */
            iload 2 /* query */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http.util.UDecoder.allowEncodedSlash:Z
            invokestatic org.glassfish.grizzly.http.util.UDecoder.convert:(Lorg/glassfish/grizzly/http/util/ByteChunk;ZZ)V
         1: .line 59
            return
        end local 2 // boolean query
        end local 1 // org.glassfish.grizzly.http.util.ByteChunk mb
        end local 0 // org.glassfish.grizzly.http.util.UDecoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/glassfish/grizzly/http/util/UDecoder;
            0    2     1     mb  Lorg/glassfish/grizzly/http/util/ByteChunk;
            0    2     2  query  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      mb     
      query  

  public static void convert(org.glassfish.grizzly.http.util.ByteChunk, boolean, boolean);
    descriptor: (Lorg/glassfish/grizzly/http/util/ByteChunk;ZZ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=13, args_size=3
        start local 0 // org.glassfish.grizzly.http.util.ByteChunk mb
        start local 1 // boolean query
        start local 2 // boolean allowEncodedSlash
         0: .line 66
            aload 0 /* mb */
            invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getStart:()I
            istore 3 /* start */
        start local 3 // int start
         1: .line 67
            aload 0 /* mb */
            invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getBytes:()[B
            astore 4 /* buff */
        start local 4 // byte[] buff
         2: .line 68
            aload 0 /* mb */
            invokevirtual org.glassfish.grizzly.http.util.ByteChunk.getEnd:()I
            istore 5 /* end */
        start local 5 // int end
         3: .line 70
            aload 4 /* buff */
            iload 3 /* start */
            iload 5 /* end */
            bipush 37
            invokestatic org.glassfish.grizzly.http.util.ByteChunk.indexOf:([BIIC)I
            istore 6 /* idx */
        start local 6 // int idx
         4: .line 71
            iconst_m1
            istore 7 /* idx2 */
        start local 7 // int idx2
         5: .line 72
            iload 1 /* query */
            ifeq 7
         6: .line 73
            aload 4 /* buff */
            iload 3 /* start */
            iload 5 /* end */
            bipush 43
            invokestatic org.glassfish.grizzly.http.util.ByteChunk.indexOf:([BIIC)I
            istore 7 /* idx2 */
         7: .line 75
      StackMap locals: org.glassfish.grizzly.http.util.ByteChunk int int int byte[] int int int
      StackMap stack:
            iload 6 /* idx */
            ifge 9
            iload 7 /* idx2 */
            ifge 9
         8: .line 76
            return
         9: .line 80
      StackMap locals:
      StackMap stack:
            iload 7 /* idx2 */
            iflt 11
            iload 7 /* idx2 */
            iload 6 /* idx */
            if_icmpge 11
        10: .line 81
            iload 7 /* idx2 */
            istore 6 /* idx */
        11: .line 83
      StackMap locals:
      StackMap stack:
            iload 6 /* idx */
            ifge 13
        12: .line 84
            iload 7 /* idx2 */
            istore 6 /* idx */
        13: .line 87
      StackMap locals:
      StackMap stack:
            iload 2 /* allowEncodedSlash */
            ifne 14
            iload 1 /* query */
            ifeq 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_1
      StackMap locals:
      StackMap stack: int
        16: istore 8 /* noSlash */
        start local 8 // boolean noSlash
        17: .line 89
            iload 6 /* idx */
            istore 9 /* j */
        start local 9 // int j
        18: goto 37
        19: .line 90
      StackMap locals: int int
      StackMap stack:
            aload 4 /* buff */
            iload 9 /* j */
            baload
            bipush 43
            if_icmpne 22
            iload 1 /* query */
            ifeq 22
        20: .line 91
            aload 4 /* buff */
            iload 6 /* idx */
            bipush 32
            bastore
        21: .line 92
            goto 36
      StackMap locals:
      StackMap stack:
        22: aload 4 /* buff */
            iload 9 /* j */
            baload
            bipush 37
            if_icmpeq 25
        23: .line 93
            aload 4 /* buff */
            iload 6 /* idx */
            aload 4 /* buff */
            iload 9 /* j */
            baload
            bastore
        24: .line 94
            goto 36
        25: .line 96
      StackMap locals:
      StackMap stack:
            iload 9 /* j */
            iconst_2
            iadd
            iload 5 /* end */
            if_icmplt 27
        26: .line 97
            new java.io.CharConversionException
            dup
            ldc "EOF"
            invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 99
      StackMap locals:
      StackMap stack:
            aload 4 /* buff */
            iload 9 /* j */
            iconst_1
            iadd
            baload
            istore 10 /* b1 */
        start local 10 // byte b1
        28: .line 100
            aload 4 /* buff */
            iload 9 /* j */
            iconst_2
            iadd
            baload
            istore 11 /* b2 */
        start local 11 // byte b2
        29: .line 101
            iload 10 /* b1 */
            invokestatic org.glassfish.grizzly.http.util.UDecoder.isHexDigit:(I)Z
            ifeq 30
            iload 11 /* b2 */
            invokestatic org.glassfish.grizzly.http.util.UDecoder.isHexDigit:(I)Z
            ifne 31
        30: .line 102
      StackMap locals: int int
      StackMap stack:
            new java.io.CharConversionException
            dup
            ldc "isHexDigit"
            invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 105
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 2
        32: .line 106
            iload 10 /* b1 */
            iload 11 /* b2 */
            invokestatic org.glassfish.grizzly.http.util.UDecoder.x2c:(BB)I
            istore 12 /* res */
        start local 12 // int res
        33: .line 107
            iload 8 /* noSlash */
            ifeq 35
            iload 12 /* res */
            bipush 47
            if_icmpne 35
        34: .line 108
            new java.io.CharConversionException
            dup
            ldc "Encoded slashes are not allowed by default.  To enable encodedslashes, set the property org.glassfish.grizzly.util.buf.UDecoder.ALLOW_ENCODED_SLASH to true."
            invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 111
      StackMap locals: int
      StackMap stack:
            aload 4 /* buff */
            iload 6 /* idx */
            iload 12 /* res */
            i2b
            bastore
        end local 12 // int res
        end local 11 // byte b2
        end local 10 // byte b1
        36: .line 89
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
            iinc 6 /* idx */ 1
      StackMap locals:
      StackMap stack:
        37: iload 9 /* j */
            iload 5 /* end */
            if_icmplt 19
        end local 9 // int j
        38: .line 115
            aload 0 /* mb */
            iload 6 /* idx */
            invokevirtual org.glassfish.grizzly.http.util.ByteChunk.setEnd:(I)V
        39: .line 117
            return
        end local 8 // boolean noSlash
        end local 7 // int idx2
        end local 6 // int idx
        end local 5 // int end
        end local 4 // byte[] buff
        end local 3 // int start
        end local 2 // boolean allowEncodedSlash
        end local 1 // boolean query
        end local 0 // org.glassfish.grizzly.http.util.ByteChunk mb
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   40     0                 mb  Lorg/glassfish/grizzly/http/util/ByteChunk;
            0   40     1              query  Z
            0   40     2  allowEncodedSlash  Z
            1   40     3              start  I
            2   40     4               buff  [B
            3   40     5                end  I
            4   40     6                idx  I
            5   40     7               idx2  I
           17   40     8            noSlash  Z
           18   38     9                  j  I
           28   36    10                 b1  B
           29   36    11                 b2  B
           33   36    12                res  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      mb                 
      query              
      allowEncodedSlash  

  public void convert(org.glassfish.grizzly.http.util.CharChunk);
    descriptor: (Lorg/glassfish/grizzly/http/util/CharChunk;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http.util.UDecoder this
        start local 1 // org.glassfish.grizzly.http.util.CharChunk mb
         0: .line 126
            aload 1 /* mb */
            iconst_1
            invokestatic org.glassfish.grizzly.http.util.UDecoder.convert:(Lorg/glassfish/grizzly/http/util/CharChunk;Z)V
         1: .line 127
            return
        end local 1 // org.glassfish.grizzly.http.util.CharChunk mb
        end local 0 // org.glassfish.grizzly.http.util.UDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http/util/UDecoder;
            0    2     1    mb  Lorg/glassfish/grizzly/http/util/CharChunk;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mb    

  public static void convert(org.glassfish.grizzly.http.util.CharChunk, boolean);
    descriptor: (Lorg/glassfish/grizzly/http/util/CharChunk;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // org.glassfish.grizzly.http.util.CharChunk mb
        start local 1 // boolean query
         0: .line 134
            aload 0 /* mb */
            invokevirtual org.glassfish.grizzly.http.util.CharChunk.getStart:()I
            istore 2 /* start */
        start local 2 // int start
         1: .line 135
            aload 0 /* mb */
            invokevirtual org.glassfish.grizzly.http.util.CharChunk.getBuffer:()[C
            astore 3 /* buff */
        start local 3 // char[] buff
         2: .line 136
            aload 0 /* mb */
            invokevirtual org.glassfish.grizzly.http.util.CharChunk.getEnd:()I
            istore 4 /* cend */
        start local 4 // int cend
         3: .line 138
            aload 3 /* buff */
            iload 2 /* start */
            iload 4 /* cend */
            bipush 37
            invokestatic org.glassfish.grizzly.http.util.CharChunk.indexOf:([CIIC)I
            istore 5 /* idx */
        start local 5 // int idx
         4: .line 139
            iconst_m1
            istore 6 /* idx2 */
        start local 6 // int idx2
         5: .line 140
            iload 1 /* query */
            ifeq 7
         6: .line 141
            aload 3 /* buff */
            iload 2 /* start */
            iload 4 /* cend */
            bipush 43
            invokestatic org.glassfish.grizzly.http.util.CharChunk.indexOf:([CIIC)I
            istore 6 /* idx2 */
         7: .line 143
      StackMap locals: org.glassfish.grizzly.http.util.CharChunk int int char[] int int int
      StackMap stack:
            iload 5 /* idx */
            ifge 9
            iload 6 /* idx2 */
            ifge 9
         8: .line 144
            return
         9: .line 147
      StackMap locals:
      StackMap stack:
            iload 6 /* idx2 */
            iflt 11
            iload 6 /* idx2 */
            iload 5 /* idx */
            if_icmpge 11
        10: .line 148
            iload 6 /* idx2 */
            istore 5 /* idx */
        11: .line 150
      StackMap locals:
      StackMap stack:
            iload 5 /* idx */
            ifge 13
        12: .line 151
            iload 6 /* idx2 */
            istore 5 /* idx */
        13: .line 154
      StackMap locals:
      StackMap stack:
            iload 5 /* idx */
            istore 7 /* j */
        start local 7 // int j
        14: goto 32
        15: .line 155
      StackMap locals: int
      StackMap stack:
            aload 3 /* buff */
            iload 7 /* j */
            caload
            istore 8 /* c */
        start local 8 // char c
        16: .line 156
            iload 8 /* c */
            bipush 43
            if_icmpne 19
            iload 1 /* query */
            ifeq 19
        17: .line 157
            aload 3 /* buff */
            iload 5 /* idx */
            bipush 32
            castore
        18: .line 158
            goto 31
      StackMap locals: int
      StackMap stack:
        19: iload 8 /* c */
            bipush 37
            if_icmpeq 22
        20: .line 159
            aload 3 /* buff */
            iload 5 /* idx */
            iload 8 /* c */
            castore
        21: .line 160
            goto 31
        22: .line 162
      StackMap locals:
      StackMap stack:
            iload 7 /* j */
            iconst_2
            iadd
            iload 4 /* cend */
            if_icmplt 24
        23: .line 164
            new java.io.CharConversionException
            dup
            ldc "EOF"
            invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 166
      StackMap locals:
      StackMap stack:
            aload 3 /* buff */
            iload 7 /* j */
            iconst_1
            iadd
            caload
            istore 9 /* b1 */
        start local 9 // char b1
        25: .line 167
            aload 3 /* buff */
            iload 7 /* j */
            iconst_2
            iadd
            caload
            istore 10 /* b2 */
        start local 10 // char b2
        26: .line 168
            iload 9 /* b1 */
            invokestatic org.glassfish.grizzly.http.util.UDecoder.isHexDigit:(I)Z
            ifeq 27
            iload 10 /* b2 */
            invokestatic org.glassfish.grizzly.http.util.UDecoder.isHexDigit:(I)Z
            ifne 28
        27: .line 169
      StackMap locals: int int
      StackMap stack:
            new java.io.CharConversionException
            dup
            ldc "isHexDigit"
            invokespecial java.io.CharConversionException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 172
      StackMap locals:
      StackMap stack:
            iinc 7 /* j */ 2
        29: .line 173
            iload 9 /* b1 */
            iload 10 /* b2 */
            invokestatic org.glassfish.grizzly.http.util.UDecoder.x2c:(CC)I
            istore 11 /* res */
        start local 11 // int res
        30: .line 174
            aload 3 /* buff */
            iload 5 /* idx */
            iload 11 /* res */
            i2c
            castore
        end local 11 // int res
        end local 10 // char b2
        end local 9 // char b1
        end local 8 // char c
        31: .line 154
      StackMap locals:
      StackMap stack:
            iinc 7 /* j */ 1
            iinc 5 /* idx */ 1
      StackMap locals:
      StackMap stack:
        32: iload 7 /* j */
            iload 4 /* cend */
            if_icmplt 15
        end local 7 // int j
        33: .line 177
            aload 0 /* mb */
            iload 5 /* idx */
            invokevirtual org.glassfish.grizzly.http.util.CharChunk.setEnd:(I)V
        34: .line 178
            return
        end local 6 // int idx2
        end local 5 // int idx
        end local 4 // int cend
        end local 3 // char[] buff
        end local 2 // int start
        end local 1 // boolean query
        end local 0 // org.glassfish.grizzly.http.util.CharChunk mb
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   35     0     mb  Lorg/glassfish/grizzly/http/util/CharChunk;
            0   35     1  query  Z
            1   35     2  start  I
            2   35     3   buff  [C
            3   35     4   cend  I
            4   35     5    idx  I
            5   35     6   idx2  I
           14   33     7      j  I
           16   31     8      c  C
           25   31     9     b1  C
           26   31    10     b2  C
           30   31    11    res  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      mb     
      query  

  public void convert(org.glassfish.grizzly.http.util.MessageBytes);
    descriptor: (Lorg/glassfish/grizzly/http/util/MessageBytes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http.util.UDecoder this
        start local 1 // org.glassfish.grizzly.http.util.MessageBytes mb
         0: .line 185
            aload 0 /* this */
            aload 1 /* mb */
            iconst_1
            invokevirtual org.glassfish.grizzly.http.util.UDecoder.convert:(Lorg/glassfish/grizzly/http/util/MessageBytes;Z)V
         1: .line 186
            return
        end local 1 // org.glassfish.grizzly.http.util.MessageBytes mb
        end local 0 // org.glassfish.grizzly.http.util.UDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http/util/UDecoder;
            0    2     1    mb  Lorg/glassfish/grizzly/http/util/MessageBytes;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mb    

  public void convert(org.glassfish.grizzly.http.util.MessageBytes, boolean);
    descriptor: (Lorg/glassfish/grizzly/http/util/MessageBytes;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.http.util.UDecoder this
        start local 1 // org.glassfish.grizzly.http.util.MessageBytes mb
        start local 2 // boolean query
         0: .line 192
            aload 1 /* mb */
            iload 2 /* query */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http.util.UDecoder.allowEncodedSlash:Z
            invokestatic org.glassfish.grizzly.http.util.UDecoder.convert:(Lorg/glassfish/grizzly/http/util/MessageBytes;ZZ)V
         1: .line 193
            return
        end local 2 // boolean query
        end local 1 // org.glassfish.grizzly.http.util.MessageBytes mb
        end local 0 // org.glassfish.grizzly.http.util.UDecoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/glassfish/grizzly/http/util/UDecoder;
            0    2     1     mb  Lorg/glassfish/grizzly/http/util/MessageBytes;
            0    2     2  query  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      mb     
      query  

  public static void convert(org.glassfish.grizzly.http.util.MessageBytes, boolean, boolean);
    descriptor: (Lorg/glassfish/grizzly/http/util/MessageBytes;ZZ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.glassfish.grizzly.http.util.MessageBytes mb
        start local 1 // boolean query
        start local 2 // boolean allowEncodingSlash
         0: .line 200
            aload 0 /* mb */
            invokevirtual org.glassfish.grizzly.http.util.MessageBytes.getType:()I
            tableswitch { // 1 - 3
                    1: 1
                    2: 9
                    3: 6
              default: 11
          }
         1: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* mb */
            invokevirtual org.glassfish.grizzly.http.util.MessageBytes.toString:()Ljava/lang/String;
            astore 3 /* strValue */
        start local 3 // java.lang.String strValue
         2: .line 203
            aload 3 /* strValue */
            ifnonnull 4
         3: .line 204
            return
         4: .line 206
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* mb */
            aload 3 /* strValue */
            iload 1 /* query */
            invokestatic org.glassfish.grizzly.http.util.UDecoder.convert:(Ljava/lang/String;Z)Ljava/lang/String;
            invokevirtual org.glassfish.grizzly.http.util.MessageBytes.setString:(Ljava/lang/String;)V
         5: .line 207
            goto 11
        end local 3 // java.lang.String strValue
         6: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* mb */
            invokevirtual org.glassfish.grizzly.http.util.MessageBytes.getCharChunk:()Lorg/glassfish/grizzly/http/util/CharChunk;
            astore 4 /* charC */
        start local 4 // org.glassfish.grizzly.http.util.CharChunk charC
         7: .line 210
            aload 4 /* charC */
            iload 1 /* query */
            invokestatic org.glassfish.grizzly.http.util.UDecoder.convert:(Lorg/glassfish/grizzly/http/util/CharChunk;Z)V
         8: .line 211
            goto 11
        end local 4 // org.glassfish.grizzly.http.util.CharChunk charC
         9: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* mb */
            invokevirtual org.glassfish.grizzly.http.util.MessageBytes.getByteChunk:()Lorg/glassfish/grizzly/http/util/ByteChunk;
            astore 5 /* bytesC */
        start local 5 // org.glassfish.grizzly.http.util.ByteChunk bytesC
        10: .line 214
            aload 5 /* bytesC */
            iload 1 /* query */
            iload 2 /* allowEncodingSlash */
            invokestatic org.glassfish.grizzly.http.util.UDecoder.convert:(Lorg/glassfish/grizzly/http/util/ByteChunk;ZZ)V
        end local 5 // org.glassfish.grizzly.http.util.ByteChunk bytesC
        11: .line 217
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean allowEncodingSlash
        end local 1 // boolean query
        end local 0 // org.glassfish.grizzly.http.util.MessageBytes mb
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                  mb  Lorg/glassfish/grizzly/http/util/MessageBytes;
            0   12     1               query  Z
            0   12     2  allowEncodingSlash  Z
            2    6     3            strValue  Ljava/lang/String;
            7    9     4               charC  Lorg/glassfish/grizzly/http/util/CharChunk;
           10   11     5              bytesC  Lorg/glassfish/grizzly/http/util/ByteChunk;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                    Name  Flags
      mb                  
      query               
      allowEncodingSlash  

  public static java.lang.String convert(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 222
            aload 0 /* str */
            iconst_1
            invokestatic org.glassfish.grizzly.http.util.UDecoder.convert:(Ljava/lang/String;Z)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 convert(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.lang.String str
        start local 1 // boolean query
         0: .line 226
            aload 0 /* str */
            ifnonnull 2
         1: .line 227
            aconst_null
            areturn
         2: .line 230
      StackMap locals:
      StackMap stack:
            iload 1 /* query */
            ifeq 3
            aload 0 /* str */
            bipush 43
            invokevirtual java.lang.String.indexOf:(I)I
            ifge 5
      StackMap locals:
      StackMap stack:
         3: aload 0 /* str */
            bipush 37
            invokevirtual java.lang.String.indexOf:(I)I
            ifge 5
         4: .line 231
            aload 0 /* str */
            areturn
         5: .line 234
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* dec */
        start local 2 // java.lang.StringBuilder dec
         6: .line 235
            iconst_0
            istore 3 /* strPos */
        start local 3 // int strPos
         7: .line 236
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            istore 4 /* strLen */
        start local 4 // int strLen
         8: .line 238
            aload 2 /* dec */
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.StringBuilder.ensureCapacity:(I)V
         9: .line 239
            goto 31
        10: .line 243
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            iload 3 /* strPos */
            istore 5 /* laPos */
        start local 5 // int laPos
        11: goto 17
        12: .line 244
      StackMap locals: int
      StackMap stack:
            aload 0 /* str */
            iload 5 /* laPos */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* laChar */
        start local 6 // char laChar
        13: .line 245
            iload 6 /* laChar */
            bipush 43
            if_icmpne 14
            iload 1 /* query */
            ifne 18
      StackMap locals: int
      StackMap stack:
        14: iload 6 /* laChar */
            bipush 37
            if_icmpne 16
        15: .line 246
            goto 18
        end local 6 // char laChar
        16: .line 243
      StackMap locals:
      StackMap stack:
            iinc 5 /* laPos */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* laPos */
            iload 4 /* strLen */
            if_icmplt 12
        18: .line 251
      StackMap locals:
      StackMap stack:
            iload 5 /* laPos */
            iload 3 /* strPos */
            if_icmple 21
        19: .line 252
            aload 2 /* dec */
            aload 0 /* str */
            iload 3 /* strPos */
            iload 5 /* laPos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 253
            iload 5 /* laPos */
            istore 3 /* strPos */
        21: .line 257
      StackMap locals:
      StackMap stack:
            iload 3 /* strPos */
            iload 4 /* strLen */
            if_icmplt 23
        22: .line 258
            goto 32
        23: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            iload 3 /* strPos */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* metaChar */
        start local 6 // char metaChar
        24: .line 263
            iload 6 /* metaChar */
            bipush 43
            if_icmpne 28
        25: .line 264
            aload 2 /* dec */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        26: .line 265
            iinc 3 /* strPos */ 1
        27: .line 266
            goto 31
      StackMap locals: int
      StackMap stack:
        28: iload 6 /* metaChar */
            bipush 37
            if_icmpne 31
        29: .line 270
            aload 2 /* dec */
            aload 0 /* str */
            iload 3 /* strPos */
            iconst_1
            iadd
            iload 3 /* strPos */
            iconst_3
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            bipush 16
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        30: .line 271
            iinc 3 /* strPos */ 3
        end local 6 // char metaChar
        end local 5 // int laPos
        31: .line 239
      StackMap locals:
      StackMap stack:
            iload 3 /* strPos */
            iload 4 /* strLen */
            if_icmplt 10
        32: .line 275
      StackMap locals:
      StackMap stack:
            aload 2 /* dec */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int strLen
        end local 3 // int strPos
        end local 2 // java.lang.StringBuilder dec
        end local 1 // boolean query
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   33     0       str  Ljava/lang/String;
            0   33     1     query  Z
            6   33     2       dec  Ljava/lang/StringBuilder;
            7   33     3    strPos  I
            8   33     4    strLen  I
           11   31     5     laPos  I
           13   16     6    laChar  C
           24   31     6  metaChar  C
    MethodParameters:
       Name  Flags
      str    
      query  

  private static boolean isHexDigit(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int c
         0: .line 279
            iload 0 /* c */
            bipush 48
            if_icmplt 1
            iload 0 /* c */
            bipush 57
            if_icmple 5
         1: .line 280
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 97
            if_icmplt 2
            iload 0 /* c */
            bipush 102
            if_icmple 5
         2: .line 281
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 65
            if_icmplt 4
            iload 0 /* c */
            bipush 70
         3: .line 279
            if_icmple 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_1
            ireturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     c  I
    MethodParameters:
      Name  Flags
      c     

  private static int x2c(byte, byte);
    descriptor: (BB)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // byte b1
        start local 1 // byte b2
         0: .line 285
            iload 0 /* b1 */
            bipush 65
            if_icmplt 1
            iload 0 /* b1 */
            sipush 223
            iand
            bipush 65
            isub
            bipush 10
            iadd
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 0 /* b1 */
            bipush 48
            isub
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* digit */
        start local 2 // int digit
         3: .line 286
            iload 2 /* digit */
            bipush 16
            imul
            istore 2 /* digit */
         4: .line 287
            iload 2 /* digit */
            iload 1 /* b2 */
            bipush 65
            if_icmplt 5
            iload 1 /* b2 */
            sipush 223
            iand
            bipush 65
            isub
            bipush 10
            iadd
            goto 6
      StackMap locals: int int int
      StackMap stack: int
         5: iload 1 /* b2 */
            bipush 48
            isub
      StackMap locals: int int int
      StackMap stack: int int
         6: iadd
            istore 2 /* digit */
         7: .line 288
            iload 2 /* digit */
            ireturn
        end local 2 // int digit
        end local 1 // byte b2
        end local 0 // byte b1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0     b1  B
            0    8     1     b2  B
            3    8     2  digit  I
    MethodParameters:
      Name  Flags
      b1    
      b2    

  private static int x2c(char, char);
    descriptor: (CC)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // char b1
        start local 1 // char b2
         0: .line 292
            iload 0 /* b1 */
            bipush 65
            if_icmplt 1
            iload 0 /* b1 */
            sipush 223
            iand
            bipush 65
            isub
            bipush 10
            iadd
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 0 /* b1 */
            bipush 48
            isub
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* digit */
        start local 2 // int digit
         3: .line 293
            iload 2 /* digit */
            bipush 16
            imul
            istore 2 /* digit */
         4: .line 294
            iload 2 /* digit */
            iload 1 /* b2 */
            bipush 65
            if_icmplt 5
            iload 1 /* b2 */
            sipush 223
            iand
            bipush 65
            isub
            bipush 10
            iadd
            goto 6
      StackMap locals: int int int
      StackMap stack: int
         5: iload 1 /* b2 */
            bipush 48
            isub
      StackMap locals: int int int
      StackMap stack: int int
         6: iadd
            istore 2 /* digit */
         7: .line 295
            iload 2 /* digit */
            ireturn
        end local 2 // int digit
        end local 1 // char b2
        end local 0 // char b1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0     b1  C
            0    8     1     b2  C
            3    8     2  digit  I
    MethodParameters:
      Name  Flags
      b1    
      b2    

  public boolean isAllowEncodedSlash();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http.util.UDecoder this
         0: .line 299
            aload 0 /* this */
            getfield org.glassfish.grizzly.http.util.UDecoder.allowEncodedSlash:Z
            ireturn
        end local 0 // org.glassfish.grizzly.http.util.UDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http/util/UDecoder;

  public void setAllowEncodedSlash(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http.util.UDecoder this
        start local 1 // boolean allowEncodedSlash
         0: .line 307
            aload 0 /* this */
            iload 1 /* allowEncodedSlash */
            putfield org.glassfish.grizzly.http.util.UDecoder.allowEncodedSlash:Z
         1: .line 308
            return
        end local 1 // boolean allowEncodedSlash
        end local 0 // org.glassfish.grizzly.http.util.UDecoder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/glassfish/grizzly/http/util/UDecoder;
            0    2     1  allowEncodedSlash  Z
    MethodParameters:
                   Name  Flags
      allowEncodedSlash  
}
SourceFile: "UDecoder.java"