class org.bouncycastle.est.HttpUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.bouncycastle.est.HttpUtil
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.est.HttpUtil this
         0: .line 9
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.bouncycastle.est.HttpUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/est/HttpUtil;

  static java.lang.String mergeCSL(java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.String prefix
        start local 1 // java.util.Map kv
         0: .line 21
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 2 /* sw */
        start local 2 // java.io.StringWriter sw
         1: .line 22
            aload 2 /* sw */
            aload 0 /* prefix */
            invokevirtual java.io.StringWriter.write:(Ljava/lang/String;)V
         2: .line 23
            aload 2 /* sw */
            bipush 32
            invokevirtual java.io.StringWriter.write:(I)V
         3: .line 24
            iconst_0
            istore 3 /* comma */
        start local 3 // boolean comma
         4: .line 25
            aload 1 /* kv */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         5: goto 15
         6: .line 27
      StackMap locals: java.io.StringWriter int java.util.Iterator
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* ent */
        start local 5 // java.util.Map$Entry ent
         7: .line 29
            iload 3 /* comma */
            ifne 10
         8: .line 31
            iconst_1
            istore 3 /* comma */
         9: .line 32
            goto 11
        10: .line 35
      StackMap locals: java.util.Map$Entry
      StackMap stack:
            aload 2 /* sw */
            bipush 44
            invokevirtual java.io.StringWriter.write:(I)V
        11: .line 38
      StackMap locals:
      StackMap stack:
            aload 2 /* sw */
            aload 5 /* ent */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.io.StringWriter.write:(Ljava/lang/String;)V
        12: .line 39
            aload 2 /* sw */
            ldc "=\""
            invokevirtual java.io.StringWriter.write:(Ljava/lang/String;)V
        13: .line 40
            aload 2 /* sw */
            aload 5 /* ent */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.io.StringWriter.write:(Ljava/lang/String;)V
        14: .line 41
            aload 2 /* sw */
            bipush 34
            invokevirtual java.io.StringWriter.write:(I)V
        end local 5 // java.util.Map$Entry ent
        15: .line 25
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 4 // java.util.Iterator it
        16: .line 44
            aload 2 /* sw */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            areturn
        end local 3 // boolean comma
        end local 2 // java.io.StringWriter sw
        end local 1 // java.util.Map kv
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0  prefix  Ljava/lang/String;
            0   17     1      kv  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   17     2      sw  Ljava/io/StringWriter;
            4   17     3   comma  Z
            5   16     4      it  Ljava/util/Iterator;
            7   15     5     ent  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  
      kv      

  static java.util.Map<java.lang.String, java.lang.String> splitCSL(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String skip
        start local 1 // java.lang.String src
         0: .line 50
            aload 1 /* src */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 1 /* src */
         1: .line 51
            aload 1 /* src */
            aload 0 /* skip */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 53
            aload 1 /* src */
            aload 0 /* skip */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* src */
         3: .line 56
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.est.HttpUtil$PartLexer
            dup
            aload 1 /* src */
            invokespecial org.bouncycastle.est.HttpUtil$PartLexer.<init>:(Ljava/lang/String;)V
            invokevirtual org.bouncycastle.est.HttpUtil$PartLexer.Parse:()Ljava/util/Map;
            areturn
        end local 1 // java.lang.String src
        end local 0 // java.lang.String skip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  skip  Ljava/lang/String;
            0    4     1   src  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      skip  
      src   

  public static java.lang.String[] append(java.lang.String[], java.lang.String);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.String[] a
        start local 1 // java.lang.String b
         0: .line 269
            aload 0 /* a */
            ifnonnull 2
         1: .line 271
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* b */
            aastore
            areturn
         2: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         3: .line 275
            iload 2 /* length */
            iconst_1
            iadd
            anewarray java.lang.String
            astore 3 /* result */
        start local 3 // java.lang.String[] result
         4: .line 276
            aload 0 /* a */
            iconst_0
            aload 3 /* result */
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 277
            aload 3 /* result */
            iload 2 /* length */
            aload 1 /* b */
            aastore
         6: .line 278
            aload 3 /* result */
            areturn
        end local 3 // java.lang.String[] result
        end local 2 // int length
        end local 1 // java.lang.String b
        end local 0 // java.lang.String[] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0       a  [Ljava/lang/String;
            0    7     1       b  Ljava/lang/String;
            3    7     2  length  I
            4    7     3  result  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      a     
      b     
}
SourceFile: "HttpUtil.java"
NestMembers:
  org.bouncycastle.est.HttpUtil$Headers  org.bouncycastle.est.HttpUtil$PartLexer
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  Headers = org.bouncycastle.est.HttpUtil$Headers of org.bouncycastle.est.HttpUtil
  PartLexer = org.bouncycastle.est.HttpUtil$PartLexer of org.bouncycastle.est.HttpUtil