public abstract class io.netty.handler.codec.http.HttpObjectEncoder<H extends io.netty.handler.codec.http.HttpMessage> extends io.netty.handler.codec.MessageToMessageEncoder<java.lang.Object>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.netty.handler.codec.http.HttpObjectEncoder
  super_class: io.netty.handler.codec.MessageToMessageEncoder
{
  static final int CRLF_SHORT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3338

  private static final int ZERO_CRLF_MEDIUM;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3149066

  private static final byte[] ZERO_CRLF_CRLF;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.buffer.ByteBuf CRLF_BUF;
    descriptor: Lio/netty/buffer/ByteBuf;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.buffer.ByteBuf ZERO_CRLF_CRLF_BUF;
    descriptor: Lio/netty/buffer/ByteBuf;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final float HEADERS_WEIGHT_NEW;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.2

  private static final float HEADERS_WEIGHT_HISTORICAL;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.8

  private static final float TRAILERS_WEIGHT_NEW;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.2

  private static final float TRAILERS_WEIGHT_HISTORICAL;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.8

  private static final int ST_INIT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int ST_CONTENT_NON_CHUNK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int ST_CONTENT_CHUNK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int ST_CONTENT_ALWAYS_EMPTY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

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

  private float headersEncodedSizeAccumulator;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float trailersEncodedSizeAccumulator;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 52
            iconst_5
            newarray 8
            dup
            iconst_0
            bipush 48
            bastore
            dup
            iconst_1
            bipush 13
            bastore
            dup
            iconst_2
            bipush 10
            bastore
            dup
            iconst_3
            bipush 13
            bastore
            dup
            iconst_4
            bipush 10
            bastore
            putstatic io.netty.handler.codec.http.HttpObjectEncoder.ZERO_CRLF_CRLF:[B
         1: .line 53
            iconst_2
            invokestatic io.netty.buffer.Unpooled.directBuffer:(I)Lio/netty/buffer/ByteBuf;
            bipush 13
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            bipush 10
            invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
            invokestatic io.netty.buffer.Unpooled.unreleasableBuffer:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            putstatic io.netty.handler.codec.http.HttpObjectEncoder.CRLF_BUF:Lio/netty/buffer/ByteBuf;
         2: .line 54
            getstatic io.netty.handler.codec.http.HttpObjectEncoder.ZERO_CRLF_CRLF:[B
            arraylength
            invokestatic io.netty.buffer.Unpooled.directBuffer:(I)Lio/netty/buffer/ByteBuf;
         3: .line 55
            getstatic io.netty.handler.codec.http.HttpObjectEncoder.ZERO_CRLF_CRLF:[B
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
         4: .line 54
            invokestatic io.netty.buffer.Unpooled.unreleasableBuffer:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            putstatic io.netty.handler.codec.http.HttpObjectEncoder.ZERO_CRLF_CRLF_BUF:Lio/netty/buffer/ByteBuf;
         5: .line 64
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
         0: .line 49
            aload 0 /* this */
            invokespecial io.netty.handler.codec.MessageToMessageEncoder.<init>:()V
         1: .line 67
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
         2: .line 73
            aload 0 /* this */
            ldc 256.0
            putfield io.netty.handler.codec.http.HttpObjectEncoder.headersEncodedSizeAccumulator:F
         3: .line 79
            aload 0 /* this */
            ldc 256.0
            putfield io.netty.handler.codec.http.HttpObjectEncoder.trailersEncodedSizeAccumulator:F
         4: .line 49
            return
        end local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;

  protected void encode(io.netty.channel.ChannelHandlerContext, , java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Object msg
        start local 3 // java.util.List out
         0: .line 83
            aconst_null
            astore 4 /* buf */
        start local 4 // io.netty.buffer.ByteBuf buf
         1: .line 84
            aload 2 /* msg */
            instanceof io.netty.handler.codec.http.HttpMessage
            ifeq 19
         2: .line 85
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
            ifeq 4
         3: .line 86
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unexpected message type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* msg */
            invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 90
      StackMap locals: io.netty.buffer.ByteBuf
      StackMap stack:
            aload 2 /* msg */
            checkcast io.netty.handler.codec.http.HttpMessage
            astore 5 /* m */
        start local 5 // io.netty.handler.codec.http.HttpMessage m
         5: .line 92
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectEncoder.headersEncodedSizeAccumulator:F
            f2i
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 4 /* buf */
         6: .line 94
            aload 0 /* this */
            aload 4 /* buf */
            aload 5 /* m */
            invokevirtual io.netty.handler.codec.http.HttpObjectEncoder.encodeInitialLine:(Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/http/HttpMessage;)V
         7: .line 95
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* m */
            invokevirtual io.netty.handler.codec.http.HttpObjectEncoder.isContentAlwaysEmpty:(Lio/netty/handler/codec/http/HttpMessage;)Z
            ifeq 8
            iconst_3
            goto 10
         8: .line 96
      StackMap locals: io.netty.handler.codec.http.HttpObjectEncoder io.netty.channel.ChannelHandlerContext java.lang.Object java.util.List io.netty.buffer.ByteBuf io.netty.handler.codec.http.HttpMessage
      StackMap stack: io.netty.handler.codec.http.HttpObjectEncoder
            aload 5 /* m */
            invokestatic io.netty.handler.codec.http.HttpUtil.isTransferEncodingChunked:(Lio/netty/handler/codec/http/HttpMessage;)Z
            ifeq 9
            iconst_2
            goto 10
      StackMap locals:
      StackMap stack: io.netty.handler.codec.http.HttpObjectEncoder
         9: iconst_1
        10: .line 95
      StackMap locals: io.netty.handler.codec.http.HttpObjectEncoder io.netty.channel.ChannelHandlerContext java.lang.Object java.util.List io.netty.buffer.ByteBuf io.netty.handler.codec.http.HttpMessage
      StackMap stack: io.netty.handler.codec.http.HttpObjectEncoder int
            putfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
        11: .line 98
            aload 0 /* this */
            aload 5 /* m */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
            iconst_3
            if_icmpne 12
            iconst_1
            goto 13
      StackMap locals: io.netty.handler.codec.http.HttpObjectEncoder io.netty.channel.ChannelHandlerContext java.lang.Object java.util.List io.netty.buffer.ByteBuf io.netty.handler.codec.http.HttpMessage
      StackMap stack: io.netty.handler.codec.http.HttpObjectEncoder io.netty.handler.codec.http.HttpMessage
        12: iconst_0
      StackMap locals: io.netty.handler.codec.http.HttpObjectEncoder io.netty.channel.ChannelHandlerContext java.lang.Object java.util.List io.netty.buffer.ByteBuf io.netty.handler.codec.http.HttpMessage
      StackMap stack: io.netty.handler.codec.http.HttpObjectEncoder io.netty.handler.codec.http.HttpMessage int
        13: invokevirtual io.netty.handler.codec.http.HttpObjectEncoder.sanitizeHeadersBeforeEncode:(Lio/netty/handler/codec/http/HttpMessage;Z)V
        14: .line 100
            aload 0 /* this */
            aload 5 /* m */
            invokeinterface io.netty.handler.codec.http.HttpMessage.headers:()Lio/netty/handler/codec/http/HttpHeaders;
            aload 4 /* buf */
            invokevirtual io.netty.handler.codec.http.HttpObjectEncoder.encodeHeaders:(Lio/netty/handler/codec/http/HttpHeaders;Lio/netty/buffer/ByteBuf;)V
        15: .line 101
            aload 4 /* buf */
            sipush 3338
            invokestatic io.netty.buffer.ByteBufUtil.writeShortBE:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
            pop
        16: .line 103
            aload 0 /* this */
            ldc 0.2
            aload 4 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokestatic io.netty.handler.codec.http.HttpObjectEncoder.padSizeForAccumulation:(I)I
            i2f
            fmul
        17: .line 104
            ldc 0.8
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectEncoder.headersEncodedSizeAccumulator:F
            fmul
            fadd
        18: .line 103
            putfield io.netty.handler.codec.http.HttpObjectEncoder.headersEncodedSizeAccumulator:F
        end local 5 // io.netty.handler.codec.http.HttpMessage m
        19: .line 112
      StackMap locals:
      StackMap stack:
            aload 2 /* msg */
            instanceof io.netty.buffer.ByteBuf
            ifeq 24
        20: .line 113
            aload 2 /* msg */
            checkcast io.netty.buffer.ByteBuf
            astore 5 /* potentialEmptyBuf */
        start local 5 // io.netty.buffer.ByteBuf potentialEmptyBuf
        21: .line 114
            aload 5 /* potentialEmptyBuf */
            invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
            ifne 24
        22: .line 115
            aload 3 /* out */
            aload 5 /* potentialEmptyBuf */
            invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 116
            return
        end local 5 // io.netty.buffer.ByteBuf potentialEmptyBuf
        24: .line 120
      StackMap locals:
      StackMap stack:
            aload 2 /* msg */
            instanceof io.netty.handler.codec.http.HttpContent
            ifne 25
            aload 2 /* msg */
            instanceof io.netty.buffer.ByteBuf
            ifne 25
            aload 2 /* msg */
            instanceof io.netty.channel.FileRegion
            ifeq 52
        25: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
            tableswitch { // 0 - 3
                    0: 26
                    1: 27
                    2: 44
                    3: 39
              default: 48
          }
        26: .line 123
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unexpected message type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* msg */
            invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 125
      StackMap locals:
      StackMap stack:
            aload 2 /* msg */
            invokestatic io.netty.handler.codec.http.HttpObjectEncoder.contentLength:(Ljava/lang/Object;)J
            lstore 5 /* contentLength */
        start local 5 // long contentLength
        28: .line 126
            lload 5 /* contentLength */
            lconst_0
            lcmp
            ifle 39
        29: .line 127
            aload 4 /* buf */
            ifnull 33
            aload 4 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.writableBytes:()I
            i2l
            lload 5 /* contentLength */
            lcmp
            iflt 33
            aload 2 /* msg */
            instanceof io.netty.handler.codec.http.HttpContent
            ifeq 33
        30: .line 129
            aload 4 /* buf */
            aload 2 /* msg */
            checkcast io.netty.handler.codec.http.HttpContent
            invokeinterface io.netty.handler.codec.http.HttpContent.content:()Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            pop
        31: .line 130
            aload 3 /* out */
            aload 4 /* buf */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        32: .line 131
            goto 36
        33: .line 132
      StackMap locals: long
      StackMap stack:
            aload 4 /* buf */
            ifnull 35
        34: .line 133
            aload 3 /* out */
            aload 4 /* buf */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        35: .line 135
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 2 /* msg */
            invokestatic io.netty.handler.codec.http.HttpObjectEncoder.encodeAndRetain:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        36: .line 138
      StackMap locals:
      StackMap stack:
            aload 2 /* msg */
            instanceof io.netty.handler.codec.http.LastHttpContent
            ifeq 49
        37: .line 139
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
        38: .line 142
            goto 49
        end local 5 // long contentLength
        39: .line 148
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            ifnull 42
        40: .line 150
            aload 3 /* out */
            aload 4 /* buf */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        41: .line 151
            goto 49
        42: .line 159
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        43: .line 162
            goto 49
        44: .line 164
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            ifnull 46
        45: .line 166
            aload 3 /* out */
            aload 4 /* buf */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* msg */
            aload 2 /* msg */
            invokestatic io.netty.handler.codec.http.HttpObjectEncoder.contentLength:(Ljava/lang/Object;)J
            aload 3 /* out */
            invokevirtual io.netty.handler.codec.http.HttpObjectEncoder.encodeChunkedContent:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;JLjava/util/List;)V
        47: .line 170
            goto 49
        48: .line 172
      StackMap locals:
      StackMap stack:
            new java.lang.Error
            dup
            invokespecial java.lang.Error.<init>:()V
            athrow
        49: .line 175
      StackMap locals:
      StackMap stack:
            aload 2 /* msg */
            instanceof io.netty.handler.codec.http.LastHttpContent
            ifeq 54
        50: .line 176
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http.HttpObjectEncoder.state:I
        51: .line 178
            goto 54
      StackMap locals:
      StackMap stack:
        52: aload 4 /* buf */
            ifnull 54
        53: .line 179
            aload 3 /* out */
            aload 4 /* buf */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        54: .line 181
      StackMap locals:
      StackMap stack:
            return
        end local 4 // io.netty.buffer.ByteBuf buf
        end local 3 // java.util.List out
        end local 2 // java.lang.Object msg
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   55     0               this  Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
            0   55     1                ctx  Lio/netty/channel/ChannelHandlerContext;
            0   55     2                msg  Ljava/lang/Object;
            0   55     3                out  Ljava/util/List<Ljava/lang/Object;>;
            1   55     4                buf  Lio/netty/buffer/ByteBuf;
            5   19     5                  m  TH;
           21   24     5  potentialEmptyBuf  Lio/netty/buffer/ByteBuf;
           28   39     5      contentLength  J
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List<Ljava/lang/Object;>;)V
    MethodParameters:
      Name  Flags
      ctx   
      msg   
      out   

  protected void encodeHeaders(io.netty.handler.codec.http.HttpHeaders, io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/handler/codec/http/HttpHeaders;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
        start local 1 // io.netty.handler.codec.http.HttpHeaders headers
        start local 2 // io.netty.buffer.ByteBuf buf
         0: .line 187
            aload 1 /* headers */
            invokevirtual io.netty.handler.codec.http.HttpHeaders.iteratorCharSequence:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         1: .line 188
            goto 4
         2: .line 189
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* header */
        start local 4 // java.util.Map$Entry header
         3: .line 190
            aload 4 /* header */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.CharSequence
            aload 4 /* header */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.CharSequence
            aload 2 /* buf */
            invokestatic io.netty.handler.codec.http.HttpHeadersEncoder.encoderHeader:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lio/netty/buffer/ByteBuf;)V
        end local 4 // java.util.Map$Entry header
         4: .line 188
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 192
            return
        end local 3 // java.util.Iterator iter
        end local 2 // io.netty.buffer.ByteBuf buf
        end local 1 // io.netty.handler.codec.http.HttpHeaders headers
        end local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
            0    6     1  headers  Lio/netty/handler/codec/http/HttpHeaders;
            0    6     2      buf  Lio/netty/buffer/ByteBuf;
            1    6     3     iter  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;>;
            3    4     4   header  Ljava/util/Map$Entry<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;
    MethodParameters:
         Name  Flags
      headers  
      buf      

  private void encodeChunkedContent(io.netty.channel.ChannelHandlerContext, , long, java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;JLjava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Object msg
        start local 3 // long contentLength
        start local 5 // java.util.List out
         0: .line 195
            lload 3 /* contentLength */
            lconst_0
            lcmp
            ifle 8
         1: .line 196
            lload 3 /* contentLength */
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            astore 6 /* lengthHex */
        start local 6 // java.lang.String lengthHex
         2: .line 197
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
            aload 6 /* lengthHex */
            invokevirtual java.lang.String.length:()I
            iconst_2
            iadd
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 7 /* buf */
        start local 7 // io.netty.buffer.ByteBuf buf
         3: .line 198
            aload 7 /* buf */
            aload 6 /* lengthHex */
            getstatic io.netty.util.CharsetUtil.US_ASCII:Ljava/nio/charset/Charset;
            invokevirtual io.netty.buffer.ByteBuf.writeCharSequence:(Ljava/lang/CharSequence;Ljava/nio/charset/Charset;)I
            pop
         4: .line 199
            aload 7 /* buf */
            sipush 3338
            invokestatic io.netty.buffer.ByteBufUtil.writeShortBE:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
            pop
         5: .line 200
            aload 5 /* out */
            aload 7 /* buf */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 201
            aload 5 /* out */
            aload 2 /* msg */
            invokestatic io.netty.handler.codec.http.HttpObjectEncoder.encodeAndRetain:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 202
            aload 5 /* out */
            getstatic io.netty.handler.codec.http.HttpObjectEncoder.CRLF_BUF:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.duplicate:()Lio/netty/buffer/ByteBuf;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // io.netty.buffer.ByteBuf buf
        end local 6 // java.lang.String lengthHex
         8: .line 205
      StackMap locals:
      StackMap stack:
            aload 2 /* msg */
            instanceof io.netty.handler.codec.http.LastHttpContent
            ifeq 22
         9: .line 206
            aload 2 /* msg */
            checkcast io.netty.handler.codec.http.LastHttpContent
            invokeinterface io.netty.handler.codec.http.LastHttpContent.trailingHeaders:()Lio/netty/handler/codec/http/HttpHeaders;
            astore 6 /* headers */
        start local 6 // io.netty.handler.codec.http.HttpHeaders headers
        10: .line 207
            aload 6 /* headers */
            invokevirtual io.netty.handler.codec.http.HttpHeaders.isEmpty:()Z
            ifeq 13
        11: .line 208
            aload 5 /* out */
            getstatic io.netty.handler.codec.http.HttpObjectEncoder.ZERO_CRLF_CRLF_BUF:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.duplicate:()Lio/netty/buffer/ByteBuf;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 209
            goto 24
        13: .line 210
      StackMap locals: io.netty.handler.codec.http.HttpHeaders
      StackMap stack:
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectEncoder.trailersEncodedSizeAccumulator:F
            f2i
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 7 /* buf */
        start local 7 // io.netty.buffer.ByteBuf buf
        14: .line 211
            aload 7 /* buf */
            ldc 3149066
            invokestatic io.netty.buffer.ByteBufUtil.writeMediumBE:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
            pop
        15: .line 212
            aload 0 /* this */
            aload 6 /* headers */
            aload 7 /* buf */
            invokevirtual io.netty.handler.codec.http.HttpObjectEncoder.encodeHeaders:(Lio/netty/handler/codec/http/HttpHeaders;Lio/netty/buffer/ByteBuf;)V
        16: .line 213
            aload 7 /* buf */
            sipush 3338
            invokestatic io.netty.buffer.ByteBufUtil.writeShortBE:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
            pop
        17: .line 214
            aload 0 /* this */
            ldc 0.2
            aload 7 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokestatic io.netty.handler.codec.http.HttpObjectEncoder.padSizeForAccumulation:(I)I
            i2f
            fmul
        18: .line 215
            ldc 0.8
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectEncoder.trailersEncodedSizeAccumulator:F
            fmul
            fadd
        19: .line 214
            putfield io.netty.handler.codec.http.HttpObjectEncoder.trailersEncodedSizeAccumulator:F
        20: .line 216
            aload 5 /* out */
            aload 7 /* buf */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // io.netty.buffer.ByteBuf buf
        end local 6 // io.netty.handler.codec.http.HttpHeaders headers
        21: .line 218
            goto 24
      StackMap locals:
      StackMap stack:
        22: lload 3 /* contentLength */
            lconst_0
            lcmp
            ifne 24
        23: .line 221
            aload 5 /* out */
            aload 2 /* msg */
            invokestatic io.netty.handler.codec.http.HttpObjectEncoder.encodeAndRetain:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        24: .line 223
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.util.List out
        end local 3 // long contentLength
        end local 2 // java.lang.Object msg
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
            0   25     1            ctx  Lio/netty/channel/ChannelHandlerContext;
            0   25     2            msg  Ljava/lang/Object;
            0   25     3  contentLength  J
            0   25     5            out  Ljava/util/List<Ljava/lang/Object;>;
            2    8     6      lengthHex  Ljava/lang/String;
            3    8     7            buf  Lio/netty/buffer/ByteBuf;
           10   21     6        headers  Lio/netty/handler/codec/http/HttpHeaders;
           14   21     7            buf  Lio/netty/buffer/ByteBuf;
    Signature: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;JLjava/util/List<Ljava/lang/Object;>;)V
    MethodParameters:
               Name  Flags
      ctx            
      msg            
      contentLength  
      out            

  protected void sanitizeHeadersBeforeEncode(H, );
    descriptor: (Lio/netty/handler/codec/http/HttpMessage;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
        start local 1 // io.netty.handler.codec.http.HttpMessage msg
        start local 2 // boolean isAlwaysEmpty
         0: .line 230
            return
        end local 2 // boolean isAlwaysEmpty
        end local 1 // io.netty.handler.codec.http.HttpMessage msg
        end local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
            0    1     1            msg  TH;
            0    1     2  isAlwaysEmpty  Z
    Signature: (TH;Z)V
    MethodParameters:
               Name  Flags
      msg            
      isAlwaysEmpty  

  protected boolean isContentAlwaysEmpty();
    descriptor: (Lio/netty/handler/codec/http/HttpMessage;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
        start local 1 // io.netty.handler.codec.http.HttpMessage msg
         0: .line 240
            iconst_0
            ireturn
        end local 1 // io.netty.handler.codec.http.HttpMessage msg
        end local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
            0    1     1   msg  TH;
    Signature: (TH;)Z
    MethodParameters:
      Name  Flags
      msg   

  public boolean acceptOutboundMessage(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
        start local 1 // java.lang.Object msg
         0: .line 245
            aload 1 /* msg */
            instanceof io.netty.handler.codec.http.HttpObject
            ifne 1
            aload 1 /* msg */
            instanceof io.netty.buffer.ByteBuf
            ifne 1
            aload 1 /* msg */
            instanceof io.netty.channel.FileRegion
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.Object msg
        end local 0 // io.netty.handler.codec.http.HttpObjectEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/http/HttpObjectEncoder<TH;>;
            0    2     1   msg  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      msg   

  private static java.lang.Object encodeAndRetain(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object msg
         0: .line 249
            aload 0 /* msg */
            instanceof io.netty.buffer.ByteBuf
            ifeq 2
         1: .line 250
            aload 0 /* msg */
            checkcast io.netty.buffer.ByteBuf
            invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
            areturn
         2: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* msg */
            instanceof io.netty.handler.codec.http.HttpContent
            ifeq 4
         3: .line 253
            aload 0 /* msg */
            checkcast io.netty.handler.codec.http.HttpContent
            invokeinterface io.netty.handler.codec.http.HttpContent.content:()Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
            areturn
         4: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* msg */
            instanceof io.netty.channel.FileRegion
            ifeq 6
         5: .line 256
            aload 0 /* msg */
            checkcast io.netty.channel.FileRegion
            invokeinterface io.netty.channel.FileRegion.retain:()Lio/netty/channel/FileRegion;
            areturn
         6: .line 258
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unexpected message type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* msg */
            invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.Object msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   msg  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      msg   

  private static long contentLength(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object msg
         0: .line 262
            aload 0 /* msg */
            instanceof io.netty.handler.codec.http.HttpContent
            ifeq 2
         1: .line 263
            aload 0 /* msg */
            checkcast io.netty.handler.codec.http.HttpContent
            invokeinterface io.netty.handler.codec.http.HttpContent.content:()Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            i2l
            lreturn
         2: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* msg */
            instanceof io.netty.buffer.ByteBuf
            ifeq 4
         3: .line 266
            aload 0 /* msg */
            checkcast io.netty.buffer.ByteBuf
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            i2l
            lreturn
         4: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* msg */
            instanceof io.netty.channel.FileRegion
            ifeq 6
         5: .line 269
            aload 0 /* msg */
            checkcast io.netty.channel.FileRegion
            invokeinterface io.netty.channel.FileRegion.count:()J
            lreturn
         6: .line 271
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unexpected message type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* msg */
            invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.Object msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   msg  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      msg   

  private static int padSizeForAccumulation(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int readableBytes
         0: .line 281
            iload 0 /* readableBytes */
            iconst_2
            ishl
            iconst_3
            idiv
            ireturn
        end local 0 // int readableBytes
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  readableBytes  I
    MethodParameters:
               Name  Flags
      readableBytes  

  protected static void encodeAscii(java.lang.String, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/lang/String;Lio/netty/buffer/ByteBuf;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String s
        start local 1 // io.netty.buffer.ByteBuf buf
         0: .line 286
            aload 1 /* buf */
            aload 0 /* s */
            getstatic io.netty.util.CharsetUtil.US_ASCII:Ljava/nio/charset/Charset;
            invokevirtual io.netty.buffer.ByteBuf.writeCharSequence:(Ljava/lang/CharSequence;Ljava/nio/charset/Charset;)I
            pop
         1: .line 287
            return
        end local 1 // io.netty.buffer.ByteBuf buf
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     s  Ljava/lang/String;
            0    2     1   buf  Lio/netty/buffer/ByteBuf;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      s     
      buf   

  protected abstract void encodeInitialLine(io.netty.buffer.ByteBuf, );
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/http/HttpMessage;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/buffer/ByteBuf;TH;)V
    MethodParameters:
         Name  Flags
      buf      
      message  
}
Signature: <H::Lio/netty/handler/codec/http/HttpMessage;>Lio/netty/handler/codec/MessageToMessageEncoder<Ljava/lang/Object;>;
SourceFile: "HttpObjectEncoder.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map