public final class org.apache.tomcat.util.http.Parameters
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.tomcat.util.http.Parameters
  super_class: java.lang.Object
{
  private static final org.apache.juli.logging.Log log;
    descriptor: Lorg/apache/juli/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.tomcat.util.log.UserDataHelper userDataLog;
    descriptor: Lorg/apache/tomcat/util/log/UserDataHelper;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.tomcat.util.log.UserDataHelper maxParamCountLog;
    descriptor: Lorg/apache/tomcat/util/log/UserDataHelper;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.Map<java.lang.String, java.util.ArrayList<java.lang.String>> paramHashValues;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;>;

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

  private org.apache.tomcat.util.buf.MessageBytes queryMB;
    descriptor: Lorg/apache/tomcat/util/buf/MessageBytes;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.tomcat.util.buf.UDecoder urlDec;
    descriptor: Lorg/apache/tomcat/util/buf/UDecoder;
    flags: (0x0002) ACC_PRIVATE

  private final org.apache.tomcat.util.buf.MessageBytes decodedQuery;
    descriptor: Lorg/apache/tomcat/util/buf/MessageBytes;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.nio.charset.Charset charset;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.charset.Charset queryStringCharset;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0002) ACC_PRIVATE

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

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

  private org.apache.tomcat.util.http.Parameters$FailReason parseFailedReason;
    descriptor: Lorg/apache/tomcat/util/http/Parameters$FailReason;
    flags: (0x0002) ACC_PRIVATE

  private final org.apache.tomcat.util.buf.ByteChunk tmpName;
    descriptor: Lorg/apache/tomcat/util/buf/ByteChunk;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.tomcat.util.buf.ByteChunk tmpValue;
    descriptor: Lorg/apache/tomcat/util/buf/ByteChunk;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.tomcat.util.buf.ByteChunk origName;
    descriptor: Lorg/apache/tomcat/util/buf/ByteChunk;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.tomcat.util.buf.ByteChunk origValue;
    descriptor: Lorg/apache/tomcat/util/buf/ByteChunk;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.nio.charset.Charset DEFAULT_BODY_CHARSET;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.nio.charset.Charset DEFAULT_URI_CHARSET;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$org$apache$tomcat$util$log$UserDataHelper$Mode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 43
            ldc Lorg/apache/tomcat/util/http/Parameters;
            invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
            putstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
         1: .line 45
            new org.apache.tomcat.util.log.UserDataHelper
            dup
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokespecial org.apache.tomcat.util.log.UserDataHelper.<init>:(Lorg/apache/juli/logging/Log;)V
            putstatic org.apache.tomcat.util.http.Parameters.userDataLog:Lorg/apache/tomcat/util/log/UserDataHelper;
         2: .line 47
            new org.apache.tomcat.util.log.UserDataHelper
            dup
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokespecial org.apache.tomcat.util.log.UserDataHelper.<init>:(Lorg/apache/juli/logging/Log;)V
            putstatic org.apache.tomcat.util.http.Parameters.maxParamCountLog:Lorg/apache/tomcat/util/log/UserDataHelper;
         3: .line 50
            ldc "org.apache.tomcat.util.http"
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/String;)Lorg/apache/tomcat/util/res/StringManager;
         4: .line 49
            putstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
         5: .line 232
            getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
            putstatic org.apache.tomcat.util.http.Parameters.DEFAULT_BODY_CHARSET:Ljava/nio/charset/Charset;
         6: .line 233
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            putstatic org.apache.tomcat.util.http.Parameters.DEFAULT_URI_CHARSET:Ljava/nio/charset/Charset;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.http.Parameters this
         0: .line 73
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
         2: .line 53
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.apache.tomcat.util.http.Parameters.paramHashValues:Ljava/util/Map;
         3: .line 54
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.http.Parameters.didQueryParameters:Z
         4: .line 59
            aload 0 /* this */
            invokestatic org.apache.tomcat.util.buf.MessageBytes.newInstance:()Lorg/apache/tomcat/util/buf/MessageBytes;
            putfield org.apache.tomcat.util.http.Parameters.decodedQuery:Lorg/apache/tomcat/util/buf/MessageBytes;
         5: .line 61
            aload 0 /* this */
            getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
            putfield org.apache.tomcat.util.http.Parameters.charset:Ljava/nio/charset/Charset;
         6: .line 62
            aload 0 /* this */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            putfield org.apache.tomcat.util.http.Parameters.queryStringCharset:Ljava/nio/charset/Charset;
         7: .line 64
            aload 0 /* this */
            iconst_m1
            putfield org.apache.tomcat.util.http.Parameters.limit:I
         8: .line 65
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.http.Parameters.parameterCount:I
         9: .line 71
            aload 0 /* this */
            aconst_null
            putfield org.apache.tomcat.util.http.Parameters.parseFailedReason:Lorg/apache/tomcat/util/http/Parameters$FailReason;
        10: .line 228
            aload 0 /* this */
            new org.apache.tomcat.util.buf.ByteChunk
            dup
            invokespecial org.apache.tomcat.util.buf.ByteChunk.<init>:()V
            putfield org.apache.tomcat.util.http.Parameters.tmpName:Lorg/apache/tomcat/util/buf/ByteChunk;
        11: .line 229
            aload 0 /* this */
            new org.apache.tomcat.util.buf.ByteChunk
            dup
            invokespecial org.apache.tomcat.util.buf.ByteChunk.<init>:()V
            putfield org.apache.tomcat.util.http.Parameters.tmpValue:Lorg/apache/tomcat/util/buf/ByteChunk;
        12: .line 230
            aload 0 /* this */
            new org.apache.tomcat.util.buf.ByteChunk
            dup
            invokespecial org.apache.tomcat.util.buf.ByteChunk.<init>:()V
            putfield org.apache.tomcat.util.http.Parameters.origName:Lorg/apache/tomcat/util/buf/ByteChunk;
        13: .line 231
            aload 0 /* this */
            new org.apache.tomcat.util.buf.ByteChunk
            dup
            invokespecial org.apache.tomcat.util.buf.ByteChunk.<init>:()V
            putfield org.apache.tomcat.util.http.Parameters.origValue:Lorg/apache/tomcat/util/buf/ByteChunk;
        14: .line 75
            return
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/apache/tomcat/util/http/Parameters;

  public void setQuery(org.apache.tomcat.util.buf.MessageBytes);
    descriptor: (Lorg/apache/tomcat/util/buf/MessageBytes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // org.apache.tomcat.util.buf.MessageBytes queryMB
         0: .line 78
            aload 0 /* this */
            aload 1 /* queryMB */
            putfield org.apache.tomcat.util.http.Parameters.queryMB:Lorg/apache/tomcat/util/buf/MessageBytes;
         1: .line 79
            return
        end local 1 // org.apache.tomcat.util.buf.MessageBytes queryMB
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/tomcat/util/http/Parameters;
            0    2     1  queryMB  Lorg/apache/tomcat/util/buf/MessageBytes;
    MethodParameters:
         Name  Flags
      queryMB  

  public void setLimit(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // int limit
         0: .line 82
            aload 0 /* this */
            iload 1 /* limit */
            putfield org.apache.tomcat.util.http.Parameters.limit:I
         1: .line 83
            return
        end local 1 // int limit
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/tomcat/util/http/Parameters;
            0    2     1  limit  I
    MethodParameters:
       Name  Flags
      limit  

  public java.nio.charset.Charset getCharset();
    descriptor: ()Ljava/nio/charset/Charset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.http.Parameters this
         0: .line 86
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.charset:Ljava/nio/charset/Charset;
            areturn
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/http/Parameters;

  public void setCharset(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // java.nio.charset.Charset charset
         0: .line 90
            aload 1 /* charset */
            ifnonnull 2
         1: .line 91
            getstatic org.apache.tomcat.util.http.Parameters.DEFAULT_BODY_CHARSET:Ljava/nio/charset/Charset;
            astore 1 /* charset */
         2: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* charset */
            putfield org.apache.tomcat.util.http.Parameters.charset:Ljava/nio/charset/Charset;
         3: .line 94
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 5
         4: .line 95
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Set encoding to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* charset */
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         5: .line 97
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.charset.Charset charset
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/apache/tomcat/util/http/Parameters;
            0    6     1  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      charset  

  public void setQueryStringCharset(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // java.nio.charset.Charset queryStringCharset
         0: .line 100
            aload 1 /* queryStringCharset */
            ifnonnull 2
         1: .line 101
            getstatic org.apache.tomcat.util.http.Parameters.DEFAULT_URI_CHARSET:Ljava/nio/charset/Charset;
            astore 1 /* queryStringCharset */
         2: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* queryStringCharset */
            putfield org.apache.tomcat.util.http.Parameters.queryStringCharset:Ljava/nio/charset/Charset;
         3: .line 105
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 5
         4: .line 106
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Set query string encoding to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* queryStringCharset */
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         5: .line 108
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.charset.Charset queryStringCharset
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lorg/apache/tomcat/util/http/Parameters;
            0    6     1  queryStringCharset  Ljava/nio/charset/Charset;
    MethodParameters:
                    Name  Flags
      queryStringCharset  

  public boolean isParseFailed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.http.Parameters this
         0: .line 112
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.parseFailedReason:Lorg/apache/tomcat/util/http/Parameters$FailReason;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/tomcat/util/http/Parameters;

  public org.apache.tomcat.util.http.Parameters$FailReason getParseFailedReason();
    descriptor: ()Lorg/apache/tomcat/util/http/Parameters$FailReason;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.http.Parameters this
         0: .line 117
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.parseFailedReason:Lorg/apache/tomcat/util/http/Parameters$FailReason;
            areturn
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/http/Parameters;

  public void setParseFailedReason(org.apache.tomcat.util.http.Parameters$FailReason);
    descriptor: (Lorg/apache/tomcat/util/http/Parameters$FailReason;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // org.apache.tomcat.util.http.Parameters$FailReason failReason
         0: .line 122
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.parseFailedReason:Lorg/apache/tomcat/util/http/Parameters$FailReason;
            ifnonnull 2
         1: .line 123
            aload 0 /* this */
            aload 1 /* failReason */
            putfield org.apache.tomcat.util.http.Parameters.parseFailedReason:Lorg/apache/tomcat/util/http/Parameters$FailReason;
         2: .line 125
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.tomcat.util.http.Parameters$FailReason failReason
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/tomcat/util/http/Parameters;
            0    3     1  failReason  Lorg/apache/tomcat/util/http/Parameters$FailReason;
    MethodParameters:
            Name  Flags
      failReason  

  public void recycle();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.http.Parameters this
         0: .line 129
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.http.Parameters.parameterCount:I
         1: .line 130
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.paramHashValues:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         2: .line 131
            aload 0 /* this */
            iconst_0
            putfield org.apache.tomcat.util.http.Parameters.didQueryParameters:Z
         3: .line 132
            aload 0 /* this */
            getstatic org.apache.tomcat.util.http.Parameters.DEFAULT_BODY_CHARSET:Ljava/nio/charset/Charset;
            putfield org.apache.tomcat.util.http.Parameters.charset:Ljava/nio/charset/Charset;
         4: .line 133
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.decodedQuery:Lorg/apache/tomcat/util/buf/MessageBytes;
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.recycle:()V
         5: .line 134
            aload 0 /* this */
            aconst_null
            putfield org.apache.tomcat.util.http.Parameters.parseFailedReason:Lorg/apache/tomcat/util/http/Parameters$FailReason;
         6: .line 135
            return
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/tomcat/util/http/Parameters;

  public java.lang.String[] getParameterValues(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // java.lang.String name
         0: .line 143
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.http.Parameters.handleQueryParameters:()V
         1: .line 145
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.paramHashValues:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 2 /* values */
        start local 2 // java.util.ArrayList values
         2: .line 146
            aload 2 /* values */
            ifnonnull 4
         3: .line 147
            aconst_null
            areturn
         4: .line 149
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 2 /* values */
            aload 2 /* values */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 2 // java.util.ArrayList values
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/apache/tomcat/util/http/Parameters;
            0    5     1    name  Ljava/lang/String;
            2    5     2  values  Ljava/util/ArrayList<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      name  

  public java.util.Enumeration<java.lang.String> getParameterNames();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.http.Parameters this
         0: .line 153
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.http.Parameters.handleQueryParameters:()V
         1: .line 154
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.paramHashValues:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic java.util.Collections.enumeration:(Ljava/util/Collection;)Ljava/util/Enumeration;
            areturn
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/tomcat/util/http/Parameters;
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;

  public java.lang.String getParameter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // java.lang.String name
         0: .line 158
            aload 0 /* this */
            invokevirtual org.apache.tomcat.util.http.Parameters.handleQueryParameters:()V
         1: .line 159
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.paramHashValues:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 2 /* values */
        start local 2 // java.util.ArrayList values
         2: .line 160
            aload 2 /* values */
            ifnull 6
         3: .line 161
            aload 2 /* values */
            invokevirtual java.util.ArrayList.size:()I
            ifne 5
         4: .line 162
            ldc ""
            areturn
         5: .line 164
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 2 /* values */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
         6: .line 166
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.ArrayList values
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/apache/tomcat/util/http/Parameters;
            0    7     1    name  Ljava/lang/String;
            2    7     2  values  Ljava/util/ArrayList<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      name  

  public void handleQueryParameters();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.apache.tomcat.util.http.Parameters this
         0: .line 173
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.didQueryParameters:Z
            ifeq 2
         1: .line 174
            return
         2: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.apache.tomcat.util.http.Parameters.didQueryParameters:Z
         3: .line 179
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.queryMB:Lorg/apache/tomcat/util/buf/MessageBytes;
            ifnull 4
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.queryMB:Lorg/apache/tomcat/util/buf/MessageBytes;
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.isNull:()Z
            ifeq 5
         4: .line 180
      StackMap locals:
      StackMap stack:
            return
         5: .line 183
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 7
         6: .line 184
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Decoding query "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.decodedQuery:Lorg/apache/tomcat/util/buf/MessageBytes;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.queryStringCharset:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         7: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.decodedQuery:Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.queryMB:Lorg/apache/tomcat/util/buf/MessageBytes;
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.duplicate:(Lorg/apache/tomcat/util/buf/MessageBytes;)V
         8: .line 189
            goto 11
      StackMap locals:
      StackMap stack: java.io.IOException
         9: astore 1 /* e */
        start local 1 // java.io.IOException e
        10: .line 191
            aload 1 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 1 // java.io.IOException e
        11: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.decodedQuery:Lorg/apache/tomcat/util/buf/MessageBytes;
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.queryStringCharset:Ljava/nio/charset/Charset;
            invokevirtual org.apache.tomcat.util.http.Parameters.processParameters:(Lorg/apache/tomcat/util/buf/MessageBytes;Ljava/nio/charset/Charset;)V
        12: .line 194
            return
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/apache/tomcat/util/http/Parameters;
           10   11     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           7     8       9  Class java.io.IOException

  public void addParameter(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String value
         0: .line 200
            aload 1 /* key */
            ifnonnull 2
         1: .line 201
            return
         2: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.tomcat.util.http.Parameters.parameterCount:I
            iconst_1
            iadd
            putfield org.apache.tomcat.util.http.Parameters.parameterCount:I
         3: .line 205
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.limit:I
            iconst_m1
            if_icmple 8
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.parameterCount:I
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.limit:I
            if_icmple 8
         4: .line 208
            aload 0 /* this */
            getstatic org.apache.tomcat.util.http.Parameters$FailReason.TOO_MANY_PARAMETERS:Lorg/apache/tomcat/util/http/Parameters$FailReason;
            invokevirtual org.apache.tomcat.util.http.Parameters.setParseFailedReason:(Lorg/apache/tomcat/util/http/Parameters$FailReason;)V
         5: .line 209
            new java.lang.IllegalStateException
            dup
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
         6: .line 210
            ldc "parameters.maxCountFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.limit:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         7: .line 209
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.paramHashValues:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 3 /* values */
        start local 3 // java.util.ArrayList values
         9: .line 214
            aload 3 /* values */
            ifnonnull 12
        10: .line 215
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* values */
        11: .line 216
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.paramHashValues:Ljava/util/Map;
            aload 1 /* key */
            aload 3 /* values */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 218
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 3 /* values */
            aload 2 /* value */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 219
            return
        end local 3 // java.util.ArrayList values
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/apache/tomcat/util/http/Parameters;
            0   14     1     key  Ljava/lang/String;
            0   14     2   value  Ljava/lang/String;
            9   14     3  values  Ljava/util/ArrayList<Ljava/lang/String;>;
    Exceptions:
      throws java.lang.IllegalStateException
    MethodParameters:
       Name  Flags
      key    
      value  

  public void setURLDecoder(org.apache.tomcat.util.buf.UDecoder);
    descriptor: (Lorg/apache/tomcat/util/buf/UDecoder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // org.apache.tomcat.util.buf.UDecoder u
         0: .line 222
            aload 0 /* this */
            aload 1 /* u */
            putfield org.apache.tomcat.util.http.Parameters.urlDec:Lorg/apache/tomcat/util/buf/UDecoder;
         1: .line 223
            return
        end local 1 // org.apache.tomcat.util.buf.UDecoder u
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/tomcat/util/http/Parameters;
            0    2     1     u  Lorg/apache/tomcat/util/buf/UDecoder;
    MethodParameters:
      Name  Flags
      u     

  public void processParameters(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // byte[] bytes
        start local 2 // int start
        start local 3 // int len
         0: .line 237
            aload 0 /* this */
            aload 1 /* bytes */
            iload 2 /* start */
            iload 3 /* len */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.charset:Ljava/nio/charset/Charset;
            invokevirtual org.apache.tomcat.util.http.Parameters.processParameters:([BIILjava/nio/charset/Charset;)V
         1: .line 238
            return
        end local 3 // int len
        end local 2 // int start
        end local 1 // byte[] bytes
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/tomcat/util/http/Parameters;
            0    2     1  bytes  [B
            0    2     2  start  I
            0    2     3    len  I
    MethodParameters:
       Name  Flags
      bytes  
      start  
      len    

  private void processParameters(byte[], int, int, java.nio.charset.Charset);
    descriptor: ([BIILjava/nio/charset/Charset;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=21, args_size=5
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // byte[] bytes
        start local 2 // int start
        start local 3 // int len
        start local 4 // java.nio.charset.Charset charset
         0: .line 242
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 4
         1: .line 243
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "parameters.bytes"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 244
            new java.lang.String
            dup
            aload 1 /* bytes */
            iload 2 /* start */
            iload 3 /* len */
            getstatic org.apache.tomcat.util.http.Parameters.DEFAULT_BODY_CHARSET:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
            aastore
         3: .line 243
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         4: .line 247
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* decodeFailCount */
        start local 5 // int decodeFailCount
         5: .line 249
            iload 2 /* start */
            istore 6 /* pos */
        start local 6 // int pos
         6: .line 250
            iload 2 /* start */
            iload 3 /* len */
            iadd
            istore 7 /* end */
        start local 7 // int end
         7: .line 252
            goto 142
         8: .line 253
      StackMap locals: int int int
      StackMap stack:
            iload 6 /* pos */
            istore 8 /* nameStart */
        start local 8 // int nameStart
         9: .line 254
            iconst_m1
            istore 9 /* nameEnd */
        start local 9 // int nameEnd
        10: .line 255
            iconst_m1
            istore 10 /* valueStart */
        start local 10 // int valueStart
        11: .line 256
            iconst_m1
            istore 11 /* valueEnd */
        start local 11 // int valueEnd
        12: .line 258
            iconst_1
            istore 12 /* parsingName */
        start local 12 // boolean parsingName
        13: .line 259
            iconst_0
            istore 13 /* decodeName */
        start local 13 // boolean decodeName
        14: .line 260
            iconst_0
            istore 14 /* decodeValue */
        start local 14 // boolean decodeValue
        15: .line 261
            iconst_0
            istore 15 /* parameterComplete */
        start local 15 // boolean parameterComplete
        16: .line 264
      StackMap locals: org.apache.tomcat.util.http.Parameters byte[] int int java.nio.charset.Charset int int int int int int int int int int int
      StackMap stack:
            aload 1 /* bytes */
            iload 6 /* pos */
            baload
            lookupswitch { // 4
                   37: 31
                   38: 24
                   43: 31
                   61: 17
              default: 37
          }
        17: .line 266
      StackMap locals:
      StackMap stack:
            iload 12 /* parsingName */
            ifeq 22
        18: .line 268
            iload 6 /* pos */
            istore 9 /* nameEnd */
        19: .line 269
            iconst_0
            istore 12 /* parsingName */
        20: .line 270
            iinc 6 /* pos */ 1
            iload 6 /* pos */
            istore 10 /* valueStart */
        21: .line 271
            goto 38
        22: .line 273
      StackMap locals:
      StackMap stack:
            iinc 6 /* pos */ 1
        23: .line 275
            goto 38
        24: .line 277
      StackMap locals:
      StackMap stack:
            iload 12 /* parsingName */
            ifeq 27
        25: .line 279
            iload 6 /* pos */
            istore 9 /* nameEnd */
        26: .line 280
            goto 28
        27: .line 282
      StackMap locals:
      StackMap stack:
            iload 6 /* pos */
            istore 11 /* valueEnd */
        28: .line 284
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 15 /* parameterComplete */
        29: .line 285
            iinc 6 /* pos */ 1
        30: .line 286
            goto 38
        31: .line 290
      StackMap locals:
      StackMap stack:
            iload 12 /* parsingName */
            ifeq 34
        32: .line 291
            iconst_1
            istore 13 /* decodeName */
        33: .line 292
            goto 35
        34: .line 293
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 14 /* decodeValue */
        35: .line 295
      StackMap locals:
      StackMap stack:
            iinc 6 /* pos */ 1
        36: .line 296
            goto 38
        37: .line 298
      StackMap locals:
      StackMap stack:
            iinc 6 /* pos */ 1
        38: .line 301
      StackMap locals:
      StackMap stack:
            iload 15 /* parameterComplete */
            ifne 40
            iload 6 /* pos */
            iload 7 /* end */
        39: .line 263
            if_icmplt 16
        40: .line 303
      StackMap locals:
      StackMap stack:
            iload 6 /* pos */
            iload 7 /* end */
            if_icmpne 46
        41: .line 304
            iload 9 /* nameEnd */
            iconst_m1
            if_icmpne 44
        42: .line 305
            iload 6 /* pos */
            istore 9 /* nameEnd */
        43: .line 306
            goto 46
      StackMap locals:
      StackMap stack:
        44: iload 10 /* valueStart */
            iconst_m1
            if_icmple 46
            iload 11 /* valueEnd */
            iconst_m1
            if_icmpne 46
        45: .line 307
            iload 6 /* pos */
            istore 11 /* valueEnd */
        46: .line 311
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 51
            iload 10 /* valueStart */
            iconst_m1
            if_icmpne 51
        47: .line 312
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "parameters.noequal"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        48: .line 313
            iload 8 /* nameStart */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 9 /* nameEnd */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
        49: .line 314
            new java.lang.String
            dup
            aload 1 /* bytes */
            iload 8 /* nameStart */
            iload 9 /* nameEnd */
            iload 8 /* nameStart */
            isub
            getstatic org.apache.tomcat.util.http.Parameters.DEFAULT_BODY_CHARSET:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
            aastore
        50: .line 312
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        51: .line 317
      StackMap locals:
      StackMap stack:
            iload 9 /* nameEnd */
            iload 8 /* nameStart */
            if_icmpgt 75
        52: .line 318
            iload 10 /* valueStart */
            iconst_m1
            if_icmpne 56
        53: .line 320
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 142
        54: .line 321
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "parameters.emptyChunk"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        55: .line 324
            goto 142
        56: .line 327
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.userDataLog:Lorg/apache/tomcat/util/log/UserDataHelper;
            invokevirtual org.apache.tomcat.util.log.UserDataHelper.getNextMode:()Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
            astore 16 /* logMode */
        start local 16 // org.apache.tomcat.util.log.UserDataHelper$Mode logMode
        57: .line 328
            aload 16 /* logMode */
            ifnull 73
        58: .line 330
            iload 11 /* valueEnd */
            iload 8 /* nameStart */
            if_icmple 63
        59: .line 331
            new java.lang.String
            dup
            aload 1 /* bytes */
            iload 8 /* nameStart */
            iload 11 /* valueEnd */
            iload 8 /* nameStart */
            isub
        60: .line 332
            getstatic org.apache.tomcat.util.http.Parameters.DEFAULT_BODY_CHARSET:Ljava/nio/charset/Charset;
        61: .line 331
            invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
            astore 17 /* extract */
        start local 17 // java.lang.String extract
        62: .line 333
            goto 64
        end local 17 // java.lang.String extract
        63: .line 334
      StackMap locals: org.apache.tomcat.util.log.UserDataHelper$Mode
      StackMap stack:
            ldc ""
            astore 17 /* extract */
        start local 17 // java.lang.String extract
        64: .line 336
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "parameters.invalidChunk"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        65: .line 337
            iload 8 /* nameStart */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
        66: .line 338
            iload 11 /* valueEnd */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 17 /* extract */
            aastore
        67: .line 336
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 18 /* message */
        start local 18 // java.lang.String message
        68: .line 339
            invokestatic org.apache.tomcat.util.http.Parameters.$SWITCH_TABLE$org$apache$tomcat$util$log$UserDataHelper$Mode:()[I
            aload 16 /* logMode */
            invokevirtual org.apache.tomcat.util.log.UserDataHelper$Mode.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 72
                    2: 69
                    3: 70
              default: 73
          }
        69: .line 341
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 18 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "parameters.fallToDebug"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 18 /* message */
        70: .line 344
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            aload 18 /* message */
            invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;)V
        71: .line 345
            goto 73
        72: .line 347
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            aload 18 /* message */
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        end local 18 // java.lang.String message
        end local 17 // java.lang.String extract
        73: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.apache.tomcat.util.http.Parameters$FailReason.NO_NAME:Lorg/apache/tomcat/util/http/Parameters$FailReason;
            invokevirtual org.apache.tomcat.util.http.Parameters.setParseFailedReason:(Lorg/apache/tomcat/util/http/Parameters$FailReason;)V
        74: .line 351
            goto 142
        end local 16 // org.apache.tomcat.util.log.UserDataHelper$Mode logMode
        75: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpName:Lorg/apache/tomcat/util/buf/ByteChunk;
            aload 1 /* bytes */
            iload 8 /* nameStart */
            iload 9 /* nameEnd */
            iload 8 /* nameStart */
            isub
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.setBytes:([BII)V
        76: .line 356
            iload 10 /* valueStart */
            iflt 79
        77: .line 357
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpValue:Lorg/apache/tomcat/util/buf/ByteChunk;
            aload 1 /* bytes */
            iload 10 /* valueStart */
            iload 11 /* valueEnd */
            iload 10 /* valueStart */
            isub
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.setBytes:([BII)V
        78: .line 358
            goto 80
        79: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpValue:Lorg/apache/tomcat/util/buf/ByteChunk;
            aload 1 /* bytes */
            iconst_0
            iconst_0
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.setBytes:([BII)V
        80: .line 365
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 89
        81: .line 367
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.origName:Lorg/apache/tomcat/util/buf/ByteChunk;
            aload 1 /* bytes */
            iload 8 /* nameStart */
            iload 9 /* nameEnd */
            iload 8 /* nameStart */
            isub
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.append:([BII)V
        82: .line 368
            iload 10 /* valueStart */
            iflt 85
        83: .line 369
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.origValue:Lorg/apache/tomcat/util/buf/ByteChunk;
            aload 1 /* bytes */
            iload 10 /* valueStart */
            iload 11 /* valueEnd */
            iload 10 /* valueStart */
            isub
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.append:([BII)V
        84: .line 370
            goto 89
        85: .line 371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.origValue:Lorg/apache/tomcat/util/buf/ByteChunk;
            aload 1 /* bytes */
            iconst_0
            iconst_0
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.append:([BII)V
        86: .line 373
            goto 89
      StackMap locals:
      StackMap stack: java.io.IOException
        87: astore 16 /* ioe */
        start local 16 // java.io.IOException ioe
        88: .line 375
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "parameters.copyFail"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 16 /* ioe */
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 16 // java.io.IOException ioe
        89: .line 383
      StackMap locals:
      StackMap stack:
            iload 13 /* decodeName */
            ifeq 91
        90: .line 384
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpName:Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.tomcat.util.http.Parameters.urlDecode:(Lorg/apache/tomcat/util/buf/ByteChunk;)V
        91: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpName:Lorg/apache/tomcat/util/buf/ByteChunk;
            aload 4 /* charset */
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.setCharset:(Ljava/nio/charset/Charset;)V
        92: .line 387
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpName:Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.toString:()Ljava/lang/String;
            astore 16 /* name */
        start local 16 // java.lang.String name
        93: .line 389
            iload 10 /* valueStart */
            iflt 99
        94: .line 390
            iload 14 /* decodeValue */
            ifeq 96
        95: .line 391
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpValue:Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.tomcat.util.http.Parameters.urlDecode:(Lorg/apache/tomcat/util/buf/ByteChunk;)V
        96: .line 393
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpValue:Lorg/apache/tomcat/util/buf/ByteChunk;
            aload 4 /* charset */
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.setCharset:(Ljava/nio/charset/Charset;)V
        97: .line 394
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpValue:Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.toString:()Ljava/lang/String;
            astore 17 /* value */
        start local 17 // java.lang.String value
        98: .line 395
            goto 100
        end local 17 // java.lang.String value
        99: .line 396
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 17 /* value */
        start local 17 // java.lang.String value
       100: .line 400
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 16 /* name */
            aload 17 /* value */
            invokevirtual org.apache.tomcat.util.http.Parameters.addParameter:(Ljava/lang/String;Ljava/lang/String;)V
       101: .line 401
            goto 137
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
       102: astore 18 /* ise */
        start local 18 // java.lang.IllegalStateException ise
       103: .line 404
            getstatic org.apache.tomcat.util.http.Parameters.maxParamCountLog:Lorg/apache/tomcat/util/log/UserDataHelper;
            invokevirtual org.apache.tomcat.util.log.UserDataHelper.getNextMode:()Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
            astore 19 /* logMode */
        start local 19 // org.apache.tomcat.util.log.UserDataHelper$Mode logMode
       104: .line 405
            aload 19 /* logMode */
            ifnull 143
       105: .line 406
            aload 18 /* ise */
            invokevirtual java.lang.IllegalStateException.getMessage:()Ljava/lang/String;
            astore 20 /* message */
        start local 20 // java.lang.String message
       106: .line 407
            invokestatic org.apache.tomcat.util.http.Parameters.$SWITCH_TABLE$org$apache$tomcat$util$log$UserDataHelper$Mode:()[I
            aload 19 /* logMode */
            invokevirtual org.apache.tomcat.util.log.UserDataHelper$Mode.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 112
                    2: 107
                    3: 110
              default: 113
          }
       107: .line 409
      StackMap locals: java.lang.IllegalStateException org.apache.tomcat.util.log.UserDataHelper$Mode java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 20 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
       108: .line 410
            ldc "parameters.maxCountFail.fallToDebug"
       109: .line 409
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 20 /* message */
       110: .line 413
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            aload 20 /* message */
            invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;)V
       111: .line 414
            goto 143
       112: .line 416
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            aload 20 /* message */
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        end local 20 // java.lang.String message
       113: .line 419
      StackMap locals:
      StackMap stack:
            goto 143
        end local 19 // org.apache.tomcat.util.log.UserDataHelper$Mode logMode
        end local 18 // java.lang.IllegalStateException ise
        end local 17 // java.lang.String value
        end local 16 // java.lang.String name
       114: .line 421
      StackMap locals: org.apache.tomcat.util.http.Parameters byte[] int int java.nio.charset.Charset int int int int int int int int int int int
      StackMap stack: java.io.IOException
            astore 16 /* e */
        start local 16 // java.io.IOException e
       115: .line 422
            aload 0 /* this */
            getstatic org.apache.tomcat.util.http.Parameters$FailReason.URL_DECODING:Lorg/apache/tomcat/util/http/Parameters$FailReason;
            invokevirtual org.apache.tomcat.util.http.Parameters.setParseFailedReason:(Lorg/apache/tomcat/util/http/Parameters$FailReason;)V
       116: .line 423
            iinc 5 /* decodeFailCount */ 1
       117: .line 424
            iload 5 /* decodeFailCount */
            iconst_1
            if_icmpeq 118
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 137
       118: .line 425
      StackMap locals: java.io.IOException
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 125
       119: .line 426
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "parameters.decodeFail.debug"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       120: .line 427
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.origName:Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.origValue:Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.toString:()Ljava/lang/String;
            aastore
       121: .line 426
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
       122: .line 427
            aload 16 /* e */
       123: .line 426
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
       124: .line 428
            goto 137
      StackMap locals:
      StackMap stack:
       125: getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isInfoEnabled:()Z
            ifeq 137
       126: .line 429
            getstatic org.apache.tomcat.util.http.Parameters.userDataLog:Lorg/apache/tomcat/util/log/UserDataHelper;
            invokevirtual org.apache.tomcat.util.log.UserDataHelper.getNextMode:()Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
            astore 17 /* logMode */
        start local 17 // org.apache.tomcat.util.log.UserDataHelper$Mode logMode
       127: .line 430
            aload 17 /* logMode */
            ifnull 137
       128: .line 431
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
       129: .line 432
            ldc "parameters.decodeFail.info"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       130: .line 433
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpName:Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpValue:Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.toString:()Ljava/lang/String;
            aastore
       131: .line 431
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 18 /* message */
        start local 18 // java.lang.String message
       132: .line 434
            invokestatic org.apache.tomcat.util.http.Parameters.$SWITCH_TABLE$org$apache$tomcat$util$log$UserDataHelper$Mode:()[I
            aload 17 /* logMode */
            invokevirtual org.apache.tomcat.util.log.UserDataHelper$Mode.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 136
                    2: 133
                    3: 134
              default: 137
          }
       133: .line 436
      StackMap locals: org.apache.tomcat.util.log.UserDataHelper$Mode java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 18 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "parameters.fallToDebug"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 18 /* message */
       134: .line 439
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            aload 18 /* message */
            invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;)V
       135: .line 440
            goto 137
       136: .line 442
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            aload 18 /* message */
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        end local 18 // java.lang.String message
        end local 17 // org.apache.tomcat.util.log.UserDataHelper$Mode logMode
        end local 16 // java.io.IOException e
       137: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpName:Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.recycle:()V
       138: .line 450
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.tmpValue:Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.recycle:()V
       139: .line 452
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 142
       140: .line 453
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.origName:Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.recycle:()V
       141: .line 454
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.origValue:Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.recycle:()V
        end local 15 // boolean parameterComplete
        end local 14 // boolean decodeValue
        end local 13 // boolean decodeName
        end local 12 // boolean parsingName
        end local 11 // int valueEnd
        end local 10 // int valueStart
        end local 9 // int nameEnd
        end local 8 // int nameStart
       142: .line 252
      StackMap locals: org.apache.tomcat.util.http.Parameters byte[] int int java.nio.charset.Charset int int int
      StackMap stack:
            iload 6 /* pos */
            iload 7 /* end */
            if_icmplt 8
       143: .line 458
      StackMap locals:
      StackMap stack:
            iload 5 /* decodeFailCount */
            iconst_1
            if_icmple 155
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifne 155
       144: .line 459
            getstatic org.apache.tomcat.util.http.Parameters.userDataLog:Lorg/apache/tomcat/util/log/UserDataHelper;
            invokevirtual org.apache.tomcat.util.log.UserDataHelper.getNextMode:()Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
            astore 8 /* logMode */
        start local 8 // org.apache.tomcat.util.log.UserDataHelper$Mode logMode
       145: .line 460
            aload 8 /* logMode */
            ifnull 155
       146: .line 461
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
       147: .line 462
            ldc "parameters.multipleDecodingFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
       148: .line 463
            iload 5 /* decodeFailCount */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
       149: .line 461
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 9 /* message */
        start local 9 // java.lang.String message
       150: .line 464
            invokestatic org.apache.tomcat.util.http.Parameters.$SWITCH_TABLE$org$apache$tomcat$util$log$UserDataHelper$Mode:()[I
            aload 8 /* logMode */
            invokevirtual org.apache.tomcat.util.log.UserDataHelper$Mode.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 154
                    2: 151
                    3: 152
              default: 155
          }
       151: .line 466
      StackMap locals: org.apache.tomcat.util.log.UserDataHelper$Mode java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 9 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.apache.tomcat.util.http.Parameters.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "parameters.fallToDebug"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* message */
       152: .line 469
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            aload 9 /* message */
            invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;)V
       153: .line 470
            goto 155
       154: .line 472
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.http.Parameters.log:Lorg/apache/juli/logging/Log;
            aload 9 /* message */
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        end local 9 // java.lang.String message
        end local 8 // org.apache.tomcat.util.log.UserDataHelper$Mode logMode
       155: .line 476
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int end
        end local 6 // int pos
        end local 5 // int decodeFailCount
        end local 4 // java.nio.charset.Charset charset
        end local 3 // int len
        end local 2 // int start
        end local 1 // byte[] bytes
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0  156     0               this  Lorg/apache/tomcat/util/http/Parameters;
            0  156     1              bytes  [B
            0  156     2              start  I
            0  156     3                len  I
            0  156     4            charset  Ljava/nio/charset/Charset;
            5  156     5    decodeFailCount  I
            6  156     6                pos  I
            7  156     7                end  I
            9  142     8          nameStart  I
           10  142     9            nameEnd  I
           11  142    10         valueStart  I
           12  142    11           valueEnd  I
           13  142    12        parsingName  Z
           14  142    13         decodeName  Z
           15  142    14        decodeValue  Z
           16  142    15  parameterComplete  Z
           57   75    16            logMode  Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
           62   63    17            extract  Ljava/lang/String;
           64   73    17            extract  Ljava/lang/String;
           68   73    18            message  Ljava/lang/String;
           88   89    16                ioe  Ljava/io/IOException;
           93  114    16               name  Ljava/lang/String;
           98   99    17              value  Ljava/lang/String;
          100  114    17              value  Ljava/lang/String;
          103  114    18                ise  Ljava/lang/IllegalStateException;
          104  114    19            logMode  Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
          106  113    20            message  Ljava/lang/String;
          115  137    16                  e  Ljava/io/IOException;
          127  137    17            logMode  Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
          132  137    18            message  Ljava/lang/String;
          145  155     8            logMode  Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
          150  155     9            message  Ljava/lang/String;
      Exception table:
        from    to  target  type
          81    86      87  Class java.io.IOException
         100   101     102  Class java.lang.IllegalStateException
          89   113     114  Class java.io.IOException
    MethodParameters:
         Name  Flags
      bytes    
      start    
      len      
      charset  

  private void urlDecode(org.apache.tomcat.util.buf.ByteChunk);
    descriptor: (Lorg/apache/tomcat/util/buf/ByteChunk;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // org.apache.tomcat.util.buf.ByteChunk bc
         0: .line 480
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.urlDec:Lorg/apache/tomcat/util/buf/UDecoder;
            ifnonnull 2
         1: .line 481
            aload 0 /* this */
            new org.apache.tomcat.util.buf.UDecoder
            dup
            invokespecial org.apache.tomcat.util.buf.UDecoder.<init>:()V
            putfield org.apache.tomcat.util.http.Parameters.urlDec:Lorg/apache/tomcat/util/buf/UDecoder;
         2: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.urlDec:Lorg/apache/tomcat/util/buf/UDecoder;
            aload 1 /* bc */
            iconst_1
            invokevirtual org.apache.tomcat.util.buf.UDecoder.convert:(Lorg/apache/tomcat/util/buf/ByteChunk;Z)V
         3: .line 484
            return
        end local 1 // org.apache.tomcat.util.buf.ByteChunk bc
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/tomcat/util/http/Parameters;
            0    4     1    bc  Lorg/apache/tomcat/util/buf/ByteChunk;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      bc    

  public void processParameters(org.apache.tomcat.util.buf.MessageBytes, java.nio.charset.Charset);
    descriptor: (Lorg/apache/tomcat/util/buf/MessageBytes;Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.tomcat.util.http.Parameters this
        start local 1 // org.apache.tomcat.util.buf.MessageBytes data
        start local 2 // java.nio.charset.Charset charset
         0: .line 487
            aload 1 /* data */
            ifnull 1
            aload 1 /* data */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.isNull:()Z
            ifne 1
            aload 1 /* data */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.getLength:()I
            ifgt 2
         1: .line 488
      StackMap locals:
      StackMap stack:
            return
         2: .line 491
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.getType:()I
            iconst_2
            if_icmpeq 4
         3: .line 492
            aload 1 /* data */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.toBytes:()V
         4: .line 494
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.getByteChunk:()Lorg/apache/tomcat/util/buf/ByteChunk;
            astore 3 /* bc */
        start local 3 // org.apache.tomcat.util.buf.ByteChunk bc
         5: .line 495
            aload 0 /* this */
            aload 3 /* bc */
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.getBytes:()[B
            aload 3 /* bc */
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.getOffset:()I
            aload 3 /* bc */
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.getLength:()I
            aload 2 /* charset */
            invokevirtual org.apache.tomcat.util.http.Parameters.processParameters:([BIILjava/nio/charset/Charset;)V
         6: .line 496
            return
        end local 3 // org.apache.tomcat.util.buf.ByteChunk bc
        end local 2 // java.nio.charset.Charset charset
        end local 1 // org.apache.tomcat.util.buf.MessageBytes data
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/tomcat/util/http/Parameters;
            0    7     1     data  Lorg/apache/tomcat/util/buf/MessageBytes;
            0    7     2  charset  Ljava/nio/charset/Charset;
            5    7     3       bc  Lorg/apache/tomcat/util/buf/ByteChunk;
    MethodParameters:
         Name  Flags
      data     
      charset  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.tomcat.util.http.Parameters this
         0: .line 503
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 504
            aload 0 /* this */
            getfield org.apache.tomcat.util.http.Parameters.paramHashValues:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.apache.tomcat.util.http.Parameters java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* e */
        start local 2 // java.util.Map$Entry e
         3: .line 505
            aload 1 /* sb */
            aload 2 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 506
            aload 2 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.Iterable
            bipush 44
            aload 1 /* sb */
            invokestatic org.apache.tomcat.util.buf.StringUtils.join:(Ljava/lang/Iterable;CLjava/lang/StringBuilder;)V
         5: .line 507
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.util.Map$Entry e
         6: .line 504
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 509
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.apache.tomcat.util.http.Parameters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/tomcat/util/http/Parameters;
            1    8     1    sb  Ljava/lang/StringBuilder;
            3    6     2     e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/ArrayList<Ljava/lang/String;>;>;

  static int[] $SWITCH_TABLE$org$apache$tomcat$util$log$UserDataHelper$Mode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 41
            getstatic org.apache.tomcat.util.http.Parameters.$SWITCH_TABLE$org$apache$tomcat$util$log$UserDataHelper$Mode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.tomcat.util.log.UserDataHelper$Mode.values:()[Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.tomcat.util.log.UserDataHelper$Mode.DEBUG:Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
            invokevirtual org.apache.tomcat.util.log.UserDataHelper$Mode.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.tomcat.util.log.UserDataHelper$Mode.INFO:Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
            invokevirtual org.apache.tomcat.util.log.UserDataHelper$Mode.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.tomcat.util.log.UserDataHelper$Mode.INFO_THEN_DEBUG:Lorg/apache/tomcat/util/log/UserDataHelper$Mode;
            invokevirtual org.apache.tomcat.util.log.UserDataHelper$Mode.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.apache.tomcat.util.http.Parameters.$SWITCH_TABLE$org$apache$tomcat$util$log$UserDataHelper$Mode:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
SourceFile: "Parameters.java"
NestMembers:
  org.apache.tomcat.util.http.Parameters$FailReason
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final FailReason = org.apache.tomcat.util.http.Parameters$FailReason of org.apache.tomcat.util.http.Parameters
  public final Mode = org.apache.tomcat.util.log.UserDataHelper$Mode of org.apache.tomcat.util.log.UserDataHelper