class io.undertow.util.MultipartParser$QuotedPrintableEncoding implements io.undertow.util.MultipartParser$Encoding
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.undertow.util.MultipartParser$QuotedPrintableEncoding
  super_class: java.lang.Object
{
  private final io.undertow.connector.ByteBufferPool bufferPool;
    descriptor: Lio/undertow/connector/ByteBufferPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  boolean equalsSeen;
    descriptor: Z
    flags: (0x0000) 

  byte firstCharacter;
    descriptor: B
    flags: (0x0000) 

  private void <init>(io.undertow.connector.ByteBufferPool);
    descriptor: (Lio/undertow/connector/ByteBufferPool;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.util.MultipartParser$QuotedPrintableEncoding this
        start local 1 // io.undertow.connector.ByteBufferPool bufferPool
         0: .line 407
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 408
            aload 0 /* this */
            aload 1 /* bufferPool */
            putfield io.undertow.util.MultipartParser$QuotedPrintableEncoding.bufferPool:Lio/undertow/connector/ByteBufferPool;
         2: .line 409
            return
        end local 1 // io.undertow.connector.ByteBufferPool bufferPool
        end local 0 // io.undertow.util.MultipartParser$QuotedPrintableEncoding this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/undertow/util/MultipartParser$QuotedPrintableEncoding;
            0    3     1  bufferPool  Lio/undertow/connector/ByteBufferPool;
    MethodParameters:
            Name  Flags
      bufferPool  final

  public void handle(io.undertow.util.MultipartParser$PartHandler, java.nio.ByteBuffer);
    descriptor: (Lio/undertow/util/MultipartParser$PartHandler;Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // io.undertow.util.MultipartParser$QuotedPrintableEncoding this
        start local 1 // io.undertow.util.MultipartParser$PartHandler handler
        start local 2 // java.nio.ByteBuffer rawData
         0: .line 414
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$QuotedPrintableEncoding.equalsSeen:Z
            istore 3 /* equalsSeen */
        start local 3 // boolean equalsSeen
         1: .line 415
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$QuotedPrintableEncoding.firstCharacter:B
            istore 4 /* firstCharacter */
        start local 4 // byte firstCharacter
         2: .line 416
            aload 0 /* this */
            getfield io.undertow.util.MultipartParser$QuotedPrintableEncoding.bufferPool:Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            astore 5 /* resource */
        start local 5 // io.undertow.connector.PooledByteBuffer resource
         3: .line 417
            aload 5 /* resource */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 6 /* buf */
        start local 6 // java.nio.ByteBuffer buf
         4: .line 419
            goto 28
         5: .line 420
      StackMap locals: io.undertow.util.MultipartParser$QuotedPrintableEncoding io.undertow.util.MultipartParser$PartHandler java.nio.ByteBuffer int int io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
      StackMap stack:
            aload 2 /* rawData */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b */
        start local 7 // byte b
         6: .line 421
            iload 3 /* equalsSeen */
            ifeq 20
         7: .line 422
            iload 4 /* firstCharacter */
            ifne 13
         8: .line 423
            iload 7 /* b */
            bipush 10
            if_icmpeq 9
            iload 7 /* b */
            bipush 13
            if_icmpne 11
         9: .line 426
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* equalsSeen */
        10: .line 427
            goto 28
        11: .line 428
      StackMap locals:
      StackMap stack:
            iload 7 /* b */
            istore 4 /* firstCharacter */
        12: .line 430
            goto 28
        13: .line 431
      StackMap locals:
      StackMap stack:
            iload 4 /* firstCharacter */
            i2c
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 8 /* result */
        start local 8 // int result
        14: .line 432
            iload 8 /* result */
            iconst_4
            ishl
            istore 8 /* result */
        15: .line 433
            iload 8 /* result */
            iload 7 /* b */
            i2c
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            iadd
            istore 8 /* result */
        16: .line 434
            aload 6 /* buf */
            iload 8 /* result */
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        17: .line 435
            iconst_0
            istore 3 /* equalsSeen */
        18: .line 436
            iconst_0
            istore 4 /* firstCharacter */
        end local 8 // int result
        19: .line 438
            goto 28
      StackMap locals:
      StackMap stack:
        20: iload 7 /* b */
            bipush 61
            if_icmpne 23
        21: .line 439
            iconst_1
            istore 3 /* equalsSeen */
        22: .line 440
            goto 28
        23: .line 441
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            iload 7 /* b */
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        24: .line 442
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 28
        25: .line 443
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        26: .line 444
            aload 1 /* handler */
            aload 6 /* buf */
            invokeinterface io.undertow.util.MultipartParser$PartHandler.data:(Ljava/nio/ByteBuffer;)V
        27: .line 445
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        end local 7 // byte b
        28: .line 419
      StackMap locals:
      StackMap stack:
            aload 2 /* rawData */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 5
        29: .line 449
            aload 6 /* buf */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        30: .line 450
            aload 1 /* handler */
            aload 6 /* buf */
            invokeinterface io.undertow.util.MultipartParser$PartHandler.data:(Ljava/nio/ByteBuffer;)V
        31: .line 451
            goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 9
        33: .line 452
            aload 5 /* resource */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        34: .line 453
            aload 0 /* this */
            iload 3 /* equalsSeen */
            putfield io.undertow.util.MultipartParser$QuotedPrintableEncoding.equalsSeen:Z
        35: .line 454
            aload 0 /* this */
            iload 4 /* firstCharacter */
            putfield io.undertow.util.MultipartParser$QuotedPrintableEncoding.firstCharacter:B
        36: .line 455
            aload 9
            athrow
        37: .line 452
      StackMap locals:
      StackMap stack:
            aload 5 /* resource */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        38: .line 453
            aload 0 /* this */
            iload 3 /* equalsSeen */
            putfield io.undertow.util.MultipartParser$QuotedPrintableEncoding.equalsSeen:Z
        39: .line 454
            aload 0 /* this */
            iload 4 /* firstCharacter */
            putfield io.undertow.util.MultipartParser$QuotedPrintableEncoding.firstCharacter:B
        40: .line 456
            return
        end local 6 // java.nio.ByteBuffer buf
        end local 5 // io.undertow.connector.PooledByteBuffer resource
        end local 4 // byte firstCharacter
        end local 3 // boolean equalsSeen
        end local 2 // java.nio.ByteBuffer rawData
        end local 1 // io.undertow.util.MultipartParser$PartHandler handler
        end local 0 // io.undertow.util.MultipartParser$QuotedPrintableEncoding this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   41     0            this  Lio/undertow/util/MultipartParser$QuotedPrintableEncoding;
            0   41     1         handler  Lio/undertow/util/MultipartParser$PartHandler;
            0   41     2         rawData  Ljava/nio/ByteBuffer;
            1   41     3      equalsSeen  Z
            2   41     4  firstCharacter  B
            3   41     5        resource  Lio/undertow/connector/PooledByteBuffer;
            4   41     6             buf  Ljava/nio/ByteBuffer;
            6   28     7               b  B
           14   19     8          result  I
      Exception table:
        from    to  target  type
           4    32      32  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      handler  final
      rawData  final
}
SourceFile: "MultipartParser.java"
NestHost: io.undertow.util.MultipartParser
InnerClasses:
  private abstract Encoding = io.undertow.util.MultipartParser$Encoding of io.undertow.util.MultipartParser
  public abstract PartHandler = io.undertow.util.MultipartParser$PartHandler of io.undertow.util.MultipartParser
  private QuotedPrintableEncoding = io.undertow.util.MultipartParser$QuotedPrintableEncoding of io.undertow.util.MultipartParser