public final class okhttp3.internal.http2.Http2Codec implements okhttp3.internal.http.HttpCodec
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: okhttp3.internal.http2.Http2Codec
  super_class: java.lang.Object
{
  private static final java.lang.String CONNECTION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "connection"

  private static final java.lang.String HOST;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "host"

  private static final java.lang.String KEEP_ALIVE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "keep-alive"

  private static final java.lang.String PROXY_CONNECTION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "proxy-connection"

  private static final java.lang.String TRANSFER_ENCODING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "transfer-encoding"

  private static final java.lang.String TE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "te"

  private static final java.lang.String ENCODING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "encoding"

  private static final java.lang.String UPGRADE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "upgrade"

  private static final java.util.List<java.lang.String> HTTP_2_SKIPPED_REQUEST_HEADERS;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private static final java.util.List<java.lang.String> HTTP_2_SKIPPED_RESPONSE_HEADERS;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private final okhttp3.Interceptor$Chain chain;
    descriptor: Lokhttp3/Interceptor$Chain;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final okhttp3.internal.connection.StreamAllocation streamAllocation;
    descriptor: Lokhttp3/internal/connection/StreamAllocation;
    flags: (0x0010) ACC_FINAL

  private final okhttp3.internal.http2.Http2Connection connection;
    descriptor: Lokhttp3/internal/http2/Http2Connection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private okhttp3.internal.http2.Http2Stream stream;
    descriptor: Lokhttp3/internal/http2/Http2Stream;
    flags: (0x0002) ACC_PRIVATE

  private final okhttp3.Protocol protocol;
    descriptor: Lokhttp3/Protocol;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 69
            bipush 12
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 70
            ldc "connection"
            aastore
            dup
            iconst_1
         2: .line 71
            ldc "host"
            aastore
            dup
            iconst_2
         3: .line 72
            ldc "keep-alive"
            aastore
            dup
            iconst_3
         4: .line 73
            ldc "proxy-connection"
            aastore
            dup
            iconst_4
         5: .line 74
            ldc "te"
            aastore
            dup
            iconst_5
         6: .line 75
            ldc "transfer-encoding"
            aastore
            dup
            bipush 6
         7: .line 76
            ldc "encoding"
            aastore
            dup
            bipush 7
         8: .line 77
            ldc "upgrade"
            aastore
            dup
            bipush 8
         9: .line 78
            ldc ":method"
            aastore
            dup
            bipush 9
        10: .line 79
            ldc ":path"
            aastore
            dup
            bipush 10
        11: .line 80
            ldc ":scheme"
            aastore
            dup
            bipush 11
        12: .line 81
            ldc ":authority"
            aastore
        13: .line 69
            invokestatic okhttp3.internal.Util.immutableList:([Ljava/lang/Object;)Ljava/util/List;
            putstatic okhttp3.internal.http2.Http2Codec.HTTP_2_SKIPPED_REQUEST_HEADERS:Ljava/util/List;
        14: .line 82
            bipush 8
            anewarray java.lang.String
            dup
            iconst_0
        15: .line 83
            ldc "connection"
            aastore
            dup
            iconst_1
        16: .line 84
            ldc "host"
            aastore
            dup
            iconst_2
        17: .line 85
            ldc "keep-alive"
            aastore
            dup
            iconst_3
        18: .line 86
            ldc "proxy-connection"
            aastore
            dup
            iconst_4
        19: .line 87
            ldc "te"
            aastore
            dup
            iconst_5
        20: .line 88
            ldc "transfer-encoding"
            aastore
            dup
            bipush 6
        21: .line 89
            ldc "encoding"
            aastore
            dup
            bipush 7
        22: .line 90
            ldc "upgrade"
            aastore
        23: .line 82
            invokestatic okhttp3.internal.Util.immutableList:([Ljava/lang/Object;)Ljava/util/List;
            putstatic okhttp3.internal.http2.Http2Codec.HTTP_2_SKIPPED_RESPONSE_HEADERS:Ljava/util/List;
        24: .line 90
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(okhttp3.OkHttpClient, okhttp3.Interceptor$Chain, okhttp3.internal.connection.StreamAllocation, okhttp3.internal.http2.Http2Connection);
    descriptor: (Lokhttp3/OkHttpClient;Lokhttp3/Interceptor$Chain;Lokhttp3/internal/connection/StreamAllocation;Lokhttp3/internal/http2/Http2Connection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // okhttp3.internal.http2.Http2Codec this
        start local 1 // okhttp3.OkHttpClient client
        start local 2 // okhttp3.Interceptor$Chain chain
        start local 3 // okhttp3.internal.connection.StreamAllocation streamAllocation
        start local 4 // okhttp3.internal.http2.Http2Connection connection
         0: .line 98
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 100
            aload 0 /* this */
            aload 2 /* chain */
            putfield okhttp3.internal.http2.Http2Codec.chain:Lokhttp3/Interceptor$Chain;
         2: .line 101
            aload 0 /* this */
            aload 3 /* streamAllocation */
            putfield okhttp3.internal.http2.Http2Codec.streamAllocation:Lokhttp3/internal/connection/StreamAllocation;
         3: .line 102
            aload 0 /* this */
            aload 4 /* connection */
            putfield okhttp3.internal.http2.Http2Codec.connection:Lokhttp3/internal/http2/Http2Connection;
         4: .line 103
            aload 0 /* this */
            aload 1 /* client */
            invokevirtual okhttp3.OkHttpClient.protocols:()Ljava/util/List;
            getstatic okhttp3.Protocol.H2_PRIOR_KNOWLEDGE:Lokhttp3/Protocol;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 104
            getstatic okhttp3.Protocol.H2_PRIOR_KNOWLEDGE:Lokhttp3/Protocol;
            goto 7
         6: .line 105
      StackMap locals: okhttp3.internal.http2.Http2Codec okhttp3.OkHttpClient okhttp3.Interceptor$Chain okhttp3.internal.connection.StreamAllocation okhttp3.internal.http2.Http2Connection
      StackMap stack: okhttp3.internal.http2.Http2Codec
            getstatic okhttp3.Protocol.HTTP_2:Lokhttp3/Protocol;
         7: .line 103
      StackMap locals: okhttp3.internal.http2.Http2Codec okhttp3.OkHttpClient okhttp3.Interceptor$Chain okhttp3.internal.connection.StreamAllocation okhttp3.internal.http2.Http2Connection
      StackMap stack: okhttp3.internal.http2.Http2Codec okhttp3.Protocol
            putfield okhttp3.internal.http2.Http2Codec.protocol:Lokhttp3/Protocol;
         8: .line 106
            return
        end local 4 // okhttp3.internal.http2.Http2Connection connection
        end local 3 // okhttp3.internal.connection.StreamAllocation streamAllocation
        end local 2 // okhttp3.Interceptor$Chain chain
        end local 1 // okhttp3.OkHttpClient client
        end local 0 // okhttp3.internal.http2.Http2Codec this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lokhttp3/internal/http2/Http2Codec;
            0    9     1            client  Lokhttp3/OkHttpClient;
            0    9     2             chain  Lokhttp3/Interceptor$Chain;
            0    9     3  streamAllocation  Lokhttp3/internal/connection/StreamAllocation;
            0    9     4        connection  Lokhttp3/internal/http2/Http2Connection;
    MethodParameters:
                  Name  Flags
      client            
      chain             
      streamAllocation  
      connection        

  public okio.Sink createRequestBody(okhttp3.Request, long);
    descriptor: (Lokhttp3/Request;J)Lokio/Sink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=3
        start local 0 // okhttp3.internal.http2.Http2Codec this
        start local 1 // okhttp3.Request request
        start local 2 // long contentLength
         0: .line 109
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.stream:Lokhttp3/internal/http2/Http2Stream;
            invokevirtual okhttp3.internal.http2.Http2Stream.getSink:()Lokio/Sink;
            areturn
        end local 2 // long contentLength
        end local 1 // okhttp3.Request request
        end local 0 // okhttp3.internal.http2.Http2Codec this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lokhttp3/internal/http2/Http2Codec;
            0    1     1        request  Lokhttp3/Request;
            0    1     2  contentLength  J
    MethodParameters:
               Name  Flags
      request        
      contentLength  

  public void writeRequestHeaders(okhttp3.Request);
    descriptor: (Lokhttp3/Request;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // okhttp3.internal.http2.Http2Codec this
        start local 1 // okhttp3.Request request
         0: .line 113
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.stream:Lokhttp3/internal/http2/Http2Stream;
            ifnull 1
            return
         1: .line 115
      StackMap locals:
      StackMap stack:
            aload 1 /* request */
            invokevirtual okhttp3.Request.body:()Lokhttp3/RequestBody;
            ifnull 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* hasRequestBody */
        start local 2 // boolean hasRequestBody
         4: .line 116
            aload 1 /* request */
            invokestatic okhttp3.internal.http2.Http2Codec.http2HeadersList:(Lokhttp3/Request;)Ljava/util/List;
            astore 3 /* requestHeaders */
        start local 3 // java.util.List requestHeaders
         5: .line 117
            aload 0 /* this */
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.connection:Lokhttp3/internal/http2/Http2Connection;
            aload 3 /* requestHeaders */
            iload 2 /* hasRequestBody */
            invokevirtual okhttp3.internal.http2.Http2Connection.newStream:(Ljava/util/List;Z)Lokhttp3/internal/http2/Http2Stream;
            putfield okhttp3.internal.http2.Http2Codec.stream:Lokhttp3/internal/http2/Http2Stream;
         6: .line 118
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.stream:Lokhttp3/internal/http2/Http2Stream;
            invokevirtual okhttp3.internal.http2.Http2Stream.readTimeout:()Lokio/Timeout;
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.chain:Lokhttp3/Interceptor$Chain;
            invokeinterface okhttp3.Interceptor$Chain.readTimeoutMillis:()I
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual okio.Timeout.timeout:(JLjava/util/concurrent/TimeUnit;)Lokio/Timeout;
            pop
         7: .line 119
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.stream:Lokhttp3/internal/http2/Http2Stream;
            invokevirtual okhttp3.internal.http2.Http2Stream.writeTimeout:()Lokio/Timeout;
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.chain:Lokhttp3/Interceptor$Chain;
            invokeinterface okhttp3.Interceptor$Chain.writeTimeoutMillis:()I
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual okio.Timeout.timeout:(JLjava/util/concurrent/TimeUnit;)Lokio/Timeout;
            pop
         8: .line 120
            return
        end local 3 // java.util.List requestHeaders
        end local 2 // boolean hasRequestBody
        end local 1 // okhttp3.Request request
        end local 0 // okhttp3.internal.http2.Http2Codec this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lokhttp3/internal/http2/Http2Codec;
            0    9     1         request  Lokhttp3/Request;
            4    9     2  hasRequestBody  Z
            5    9     3  requestHeaders  Ljava/util/List<Lokhttp3/internal/http2/Header;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      request  

  public void flushRequest();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // okhttp3.internal.http2.Http2Codec this
         0: .line 123
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.connection:Lokhttp3/internal/http2/Http2Connection;
            invokevirtual okhttp3.internal.http2.Http2Connection.flush:()V
         1: .line 124
            return
        end local 0 // okhttp3.internal.http2.Http2Codec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lokhttp3/internal/http2/Http2Codec;
    Exceptions:
      throws java.io.IOException

  public void finishRequest();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // okhttp3.internal.http2.Http2Codec this
         0: .line 127
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.stream:Lokhttp3/internal/http2/Http2Stream;
            invokevirtual okhttp3.internal.http2.Http2Stream.getSink:()Lokio/Sink;
            invokeinterface okio.Sink.close:()V
         1: .line 128
            return
        end local 0 // okhttp3.internal.http2.Http2Codec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lokhttp3/internal/http2/Http2Codec;
    Exceptions:
      throws java.io.IOException

  public okhttp3.Response$Builder readResponseHeaders(boolean);
    descriptor: (Z)Lokhttp3/Response$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // okhttp3.internal.http2.Http2Codec this
        start local 1 // boolean expectContinue
         0: .line 131
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.stream:Lokhttp3/internal/http2/Http2Stream;
            invokevirtual okhttp3.internal.http2.Http2Stream.takeHeaders:()Lokhttp3/Headers;
            astore 2 /* headers */
        start local 2 // okhttp3.Headers headers
         1: .line 132
            aload 2 /* headers */
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.protocol:Lokhttp3/Protocol;
            invokestatic okhttp3.internal.http2.Http2Codec.readHttp2HeadersList:(Lokhttp3/Headers;Lokhttp3/Protocol;)Lokhttp3/Response$Builder;
            astore 3 /* responseBuilder */
        start local 3 // okhttp3.Response$Builder responseBuilder
         2: .line 133
            iload 1 /* expectContinue */
            ifeq 4
            getstatic okhttp3.internal.Internal.instance:Lokhttp3/internal/Internal;
            aload 3 /* responseBuilder */
            invokevirtual okhttp3.internal.Internal.code:(Lokhttp3/Response$Builder;)I
            bipush 100
            if_icmpne 4
         3: .line 134
            aconst_null
            areturn
         4: .line 136
      StackMap locals: okhttp3.Headers okhttp3.Response$Builder
      StackMap stack:
            aload 3 /* responseBuilder */
            areturn
        end local 3 // okhttp3.Response$Builder responseBuilder
        end local 2 // okhttp3.Headers headers
        end local 1 // boolean expectContinue
        end local 0 // okhttp3.internal.http2.Http2Codec this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lokhttp3/internal/http2/Http2Codec;
            0    5     1   expectContinue  Z
            1    5     2          headers  Lokhttp3/Headers;
            2    5     3  responseBuilder  Lokhttp3/Response$Builder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      expectContinue  

  public static java.util.List<okhttp3.internal.http2.Header> http2HeadersList(okhttp3.Request);
    descriptor: (Lokhttp3/Request;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // okhttp3.Request request
         0: .line 140
            aload 0 /* request */
            invokevirtual okhttp3.Request.headers:()Lokhttp3/Headers;
            astore 1 /* headers */
        start local 1 // okhttp3.Headers headers
         1: .line 141
            new java.util.ArrayList
            dup
            aload 1 /* headers */
            invokevirtual okhttp3.Headers.size:()I
            iconst_4
            iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* result */
        start local 2 // java.util.List result
         2: .line 142
            aload 2 /* result */
            new okhttp3.internal.http2.Header
            dup
            getstatic okhttp3.internal.http2.Header.TARGET_METHOD:Lokio/ByteString;
            aload 0 /* request */
            invokevirtual okhttp3.Request.method:()Ljava/lang/String;
            invokespecial okhttp3.internal.http2.Header.<init>:(Lokio/ByteString;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 143
            aload 2 /* result */
            new okhttp3.internal.http2.Header
            dup
            getstatic okhttp3.internal.http2.Header.TARGET_PATH:Lokio/ByteString;
            aload 0 /* request */
            invokevirtual okhttp3.Request.url:()Lokhttp3/HttpUrl;
            invokestatic okhttp3.internal.http.RequestLine.requestPath:(Lokhttp3/HttpUrl;)Ljava/lang/String;
            invokespecial okhttp3.internal.http2.Header.<init>:(Lokio/ByteString;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 144
            aload 0 /* request */
            ldc "Host"
            invokevirtual okhttp3.Request.header:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* host */
        start local 3 // java.lang.String host
         5: .line 145
            aload 3 /* host */
            ifnull 7
         6: .line 146
            aload 2 /* result */
            new okhttp3.internal.http2.Header
            dup
            getstatic okhttp3.internal.http2.Header.TARGET_AUTHORITY:Lokio/ByteString;
            aload 3 /* host */
            invokespecial okhttp3.internal.http2.Header.<init>:(Lokio/ByteString;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 148
      StackMap locals: okhttp3.Headers java.util.List java.lang.String
      StackMap stack:
            aload 2 /* result */
            new okhttp3.internal.http2.Header
            dup
            getstatic okhttp3.internal.http2.Header.TARGET_SCHEME:Lokio/ByteString;
            aload 0 /* request */
            invokevirtual okhttp3.Request.url:()Lokhttp3/HttpUrl;
            invokevirtual okhttp3.HttpUrl.scheme:()Ljava/lang/String;
            invokespecial okhttp3.internal.http2.Header.<init>:(Lokio/ByteString;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 150
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: aload 1 /* headers */
            invokevirtual okhttp3.Headers.size:()I
            istore 5 /* size */
        start local 5 // int size
        10: goto 15
        11: .line 152
      StackMap locals: int int
      StackMap stack:
            aload 1 /* headers */
            iload 4 /* i */
            invokevirtual okhttp3.Headers.name:(I)Ljava/lang/String;
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokestatic okio.ByteString.encodeUtf8:(Ljava/lang/String;)Lokio/ByteString;
            astore 6 /* name */
        start local 6 // okio.ByteString name
        12: .line 153
            getstatic okhttp3.internal.http2.Http2Codec.HTTP_2_SKIPPED_REQUEST_HEADERS:Ljava/util/List;
            aload 6 /* name */
            invokevirtual okio.ByteString.utf8:()Ljava/lang/String;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 14
        13: .line 154
            aload 2 /* result */
            new okhttp3.internal.http2.Header
            dup
            aload 6 /* name */
            aload 1 /* headers */
            iload 4 /* i */
            invokevirtual okhttp3.Headers.value:(I)Ljava/lang/String;
            invokespecial okhttp3.internal.http2.Header.<init>:(Lokio/ByteString;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // okio.ByteString name
        14: .line 150
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            iload 5 /* size */
            if_icmplt 11
        end local 5 // int size
        end local 4 // int i
        16: .line 157
            aload 2 /* result */
            areturn
        end local 3 // java.lang.String host
        end local 2 // java.util.List result
        end local 1 // okhttp3.Headers headers
        end local 0 // okhttp3.Request request
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0  request  Lokhttp3/Request;
            1   17     1  headers  Lokhttp3/Headers;
            2   17     2   result  Ljava/util/List<Lokhttp3/internal/http2/Header;>;
            5   17     3     host  Ljava/lang/String;
            9   16     4        i  I
           10   16     5     size  I
           12   14     6     name  Lokio/ByteString;
    Signature: (Lokhttp3/Request;)Ljava/util/List<Lokhttp3/internal/http2/Header;>;
    MethodParameters:
         Name  Flags
      request  

  public static okhttp3.Response$Builder readHttp2HeadersList(okhttp3.Headers, okhttp3.Protocol);
    descriptor: (Lokhttp3/Headers;Lokhttp3/Protocol;)Lokhttp3/Response$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // okhttp3.Headers headerBlock
        start local 1 // okhttp3.Protocol protocol
         0: .line 163
            aconst_null
            astore 2 /* statusLine */
        start local 2 // okhttp3.internal.http.StatusLine statusLine
         1: .line 164
            new okhttp3.Headers$Builder
            dup
            invokespecial okhttp3.Headers$Builder.<init>:()V
            astore 3 /* headersBuilder */
        start local 3 // okhttp3.Headers$Builder headersBuilder
         2: .line 165
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: aload 0 /* headerBlock */
            invokevirtual okhttp3.Headers.size:()I
            istore 5 /* size */
        start local 5 // int size
         4: goto 13
         5: .line 166
      StackMap locals: okhttp3.Headers okhttp3.Protocol okhttp3.internal.http.StatusLine okhttp3.Headers$Builder int int
      StackMap stack:
            aload 0 /* headerBlock */
            iload 4 /* i */
            invokevirtual okhttp3.Headers.name:(I)Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         6: .line 167
            aload 0 /* headerBlock */
            iload 4 /* i */
            invokevirtual okhttp3.Headers.value:(I)Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
         7: .line 168
            aload 6 /* name */
            ldc ":status"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 169
            new java.lang.StringBuilder
            dup
            ldc "HTTP/1.1 "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic okhttp3.internal.http.StatusLine.parse:(Ljava/lang/String;)Lokhttp3/internal/http/StatusLine;
            astore 2 /* statusLine */
         9: .line 170
            goto 12
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
        10: getstatic okhttp3.internal.http2.Http2Codec.HTTP_2_SKIPPED_RESPONSE_HEADERS:Ljava/util/List;
            aload 6 /* name */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 12
        11: .line 171
            getstatic okhttp3.internal.Internal.instance:Lokhttp3/internal/Internal;
            aload 3 /* headersBuilder */
            aload 6 /* name */
            aload 7 /* value */
            invokevirtual okhttp3.internal.Internal.addLenient:(Lokhttp3/Headers$Builder;Ljava/lang/String;Ljava/lang/String;)V
        end local 7 // java.lang.String value
        end local 6 // java.lang.String name
        12: .line 165
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 5 /* size */
            if_icmplt 5
        end local 5 // int size
        end local 4 // int i
        14: .line 174
            aload 2 /* statusLine */
            ifnonnull 15
            new java.net.ProtocolException
            dup
            ldc "Expected ':status' header not present"
            invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 176
      StackMap locals:
      StackMap stack:
            new okhttp3.Response$Builder
            dup
            invokespecial okhttp3.Response$Builder.<init>:()V
        16: .line 177
            aload 1 /* protocol */
            invokevirtual okhttp3.Response$Builder.protocol:(Lokhttp3/Protocol;)Lokhttp3/Response$Builder;
        17: .line 178
            aload 2 /* statusLine */
            getfield okhttp3.internal.http.StatusLine.code:I
            invokevirtual okhttp3.Response$Builder.code:(I)Lokhttp3/Response$Builder;
        18: .line 179
            aload 2 /* statusLine */
            getfield okhttp3.internal.http.StatusLine.message:Ljava/lang/String;
            invokevirtual okhttp3.Response$Builder.message:(Ljava/lang/String;)Lokhttp3/Response$Builder;
        19: .line 180
            aload 3 /* headersBuilder */
            invokevirtual okhttp3.Headers$Builder.build:()Lokhttp3/Headers;
            invokevirtual okhttp3.Response$Builder.headers:(Lokhttp3/Headers;)Lokhttp3/Response$Builder;
        20: .line 176
            areturn
        end local 3 // okhttp3.Headers$Builder headersBuilder
        end local 2 // okhttp3.internal.http.StatusLine statusLine
        end local 1 // okhttp3.Protocol protocol
        end local 0 // okhttp3.Headers headerBlock
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0     headerBlock  Lokhttp3/Headers;
            0   21     1        protocol  Lokhttp3/Protocol;
            1   21     2      statusLine  Lokhttp3/internal/http/StatusLine;
            2   21     3  headersBuilder  Lokhttp3/Headers$Builder;
            3   14     4               i  I
            4   14     5            size  I
            6   12     6            name  Ljava/lang/String;
            7   12     7           value  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      headerBlock  
      protocol     

  public okhttp3.ResponseBody openResponseBody(okhttp3.Response);
    descriptor: (Lokhttp3/Response;)Lokhttp3/ResponseBody;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // okhttp3.internal.http2.Http2Codec this
        start local 1 // okhttp3.Response response
         0: .line 184
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.streamAllocation:Lokhttp3/internal/connection/StreamAllocation;
            getfield okhttp3.internal.connection.StreamAllocation.eventListener:Lokhttp3/EventListener;
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.streamAllocation:Lokhttp3/internal/connection/StreamAllocation;
            getfield okhttp3.internal.connection.StreamAllocation.call:Lokhttp3/Call;
            invokevirtual okhttp3.EventListener.responseBodyStart:(Lokhttp3/Call;)V
         1: .line 185
            aload 1 /* response */
            ldc "Content-Type"
            invokevirtual okhttp3.Response.header:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* contentType */
        start local 2 // java.lang.String contentType
         2: .line 186
            aload 1 /* response */
            invokestatic okhttp3.internal.http.HttpHeaders.contentLength:(Lokhttp3/Response;)J
            lstore 3 /* contentLength */
        start local 3 // long contentLength
         3: .line 187
            new okhttp3.internal.http2.Http2Codec$StreamFinishingSource
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.stream:Lokhttp3/internal/http2/Http2Stream;
            invokevirtual okhttp3.internal.http2.Http2Stream.getSource:()Lokio/Source;
            invokespecial okhttp3.internal.http2.Http2Codec$StreamFinishingSource.<init>:(Lokhttp3/internal/http2/Http2Codec;Lokio/Source;)V
            astore 5 /* source */
        start local 5 // okio.Source source
         4: .line 188
            new okhttp3.internal.http.RealResponseBody
            dup
            aload 2 /* contentType */
            lload 3 /* contentLength */
            aload 5 /* source */
            invokestatic okio.Okio.buffer:(Lokio/Source;)Lokio/BufferedSource;
            invokespecial okhttp3.internal.http.RealResponseBody.<init>:(Ljava/lang/String;JLokio/BufferedSource;)V
            areturn
        end local 5 // okio.Source source
        end local 3 // long contentLength
        end local 2 // java.lang.String contentType
        end local 1 // okhttp3.Response response
        end local 0 // okhttp3.internal.http2.Http2Codec this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lokhttp3/internal/http2/Http2Codec;
            0    5     1       response  Lokhttp3/Response;
            2    5     2    contentType  Ljava/lang/String;
            3    5     3  contentLength  J
            4    5     5         source  Lokio/Source;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      response  

  public void cancel();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // okhttp3.internal.http2.Http2Codec this
         0: .line 192
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.stream:Lokhttp3/internal/http2/Http2Stream;
            ifnull 1
            aload 0 /* this */
            getfield okhttp3.internal.http2.Http2Codec.stream:Lokhttp3/internal/http2/Http2Stream;
            getstatic okhttp3.internal.http2.ErrorCode.CANCEL:Lokhttp3/internal/http2/ErrorCode;
            invokevirtual okhttp3.internal.http2.Http2Stream.closeLater:(Lokhttp3/internal/http2/ErrorCode;)V
         1: .line 193
      StackMap locals:
      StackMap stack:
            return
        end local 0 // okhttp3.internal.http2.Http2Codec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lokhttp3/internal/http2/Http2Codec;
}
SourceFile: "Http2Codec.java"
NestMembers:
  okhttp3.internal.http2.Http2Codec$StreamFinishingSource
InnerClasses:
  public final Builder = okhttp3.Headers$Builder of okhttp3.Headers
  public abstract Chain = okhttp3.Interceptor$Chain of okhttp3.Interceptor
  public Builder = okhttp3.Response$Builder of okhttp3.Response
  StreamFinishingSource = okhttp3.internal.http2.Http2Codec$StreamFinishingSource of okhttp3.internal.http2.Http2Codec