public final class okhttp3.Handshake
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: okhttp3.Handshake
  super_class: java.lang.Object
{
  private final okhttp3.TlsVersion tlsVersion;
    descriptor: Lokhttp3/TlsVersion;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.util.List<java.security.cert.Certificate> peerCertificates;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/security/cert/Certificate;>;

  private final java.util.List<java.security.cert.Certificate> localCertificates;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/security/cert/Certificate;>;

  private void <init>(okhttp3.TlsVersion, okhttp3.CipherSuite, java.util.List<java.security.cert.Certificate>, java.util.List<java.security.cert.Certificate>);
    descriptor: (Lokhttp3/TlsVersion;Lokhttp3/CipherSuite;Ljava/util/List;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // okhttp3.Handshake this
        start local 1 // okhttp3.TlsVersion tlsVersion
        start local 2 // okhttp3.CipherSuite cipherSuite
        start local 3 // java.util.List peerCertificates
        start local 4 // java.util.List localCertificates
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 44
            aload 0 /* this */
            aload 1 /* tlsVersion */
            putfield okhttp3.Handshake.tlsVersion:Lokhttp3/TlsVersion;
         2: .line 45
            aload 0 /* this */
            aload 2 /* cipherSuite */
            putfield okhttp3.Handshake.cipherSuite:Lokhttp3/CipherSuite;
         3: .line 46
            aload 0 /* this */
            aload 3 /* peerCertificates */
            putfield okhttp3.Handshake.peerCertificates:Ljava/util/List;
         4: .line 47
            aload 0 /* this */
            aload 4 /* localCertificates */
            putfield okhttp3.Handshake.localCertificates:Ljava/util/List;
         5: .line 48
            return
        end local 4 // java.util.List localCertificates
        end local 3 // java.util.List peerCertificates
        end local 2 // okhttp3.CipherSuite cipherSuite
        end local 1 // okhttp3.TlsVersion tlsVersion
        end local 0 // okhttp3.Handshake this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lokhttp3/Handshake;
            0    6     1         tlsVersion  Lokhttp3/TlsVersion;
            0    6     2        cipherSuite  Lokhttp3/CipherSuite;
            0    6     3   peerCertificates  Ljava/util/List<Ljava/security/cert/Certificate;>;
            0    6     4  localCertificates  Ljava/util/List<Ljava/security/cert/Certificate;>;
    Signature: (Lokhttp3/TlsVersion;Lokhttp3/CipherSuite;Ljava/util/List<Ljava/security/cert/Certificate;>;Ljava/util/List<Ljava/security/cert/Certificate;>;)V
    MethodParameters:
                   Name  Flags
      tlsVersion         
      cipherSuite        
      peerCertificates   
      localCertificates  

  public static okhttp3.Handshake get(javax.net.ssl.SSLSession);
    descriptor: (Ljavax/net/ssl/SSLSession;)Lokhttp3/Handshake;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=1
        start local 0 // javax.net.ssl.SSLSession session
         0: .line 51
            aload 0 /* session */
            invokeinterface javax.net.ssl.SSLSession.getCipherSuite:()Ljava/lang/String;
            astore 1 /* cipherSuiteString */
        start local 1 // java.lang.String cipherSuiteString
         1: .line 52
            aload 1 /* cipherSuiteString */
            ifnonnull 2
            new java.lang.IllegalStateException
            dup
            ldc "cipherSuite == null"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 53
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "SSL_NULL_WITH_NULL_NULL"
            aload 1 /* cipherSuiteString */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 54
            new java.io.IOException
            dup
            ldc "cipherSuite == SSL_NULL_WITH_NULL_NULL"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 56
      StackMap locals:
      StackMap stack:
            aload 1 /* cipherSuiteString */
            invokestatic okhttp3.CipherSuite.forJavaName:(Ljava/lang/String;)Lokhttp3/CipherSuite;
            astore 2 /* cipherSuite */
        start local 2 // okhttp3.CipherSuite cipherSuite
         5: .line 58
            aload 0 /* session */
            invokeinterface javax.net.ssl.SSLSession.getProtocol:()Ljava/lang/String;
            astore 3 /* tlsVersionString */
        start local 3 // java.lang.String tlsVersionString
         6: .line 59
            aload 3 /* tlsVersionString */
            ifnonnull 7
            new java.lang.IllegalStateException
            dup
            ldc "tlsVersion == null"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 60
      StackMap locals: okhttp3.CipherSuite java.lang.String
      StackMap stack:
            ldc "NONE"
            aload 3 /* tlsVersionString */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
            new java.io.IOException
            dup
            ldc "tlsVersion == NONE"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 61
      StackMap locals:
      StackMap stack:
            aload 3 /* tlsVersionString */
            invokestatic okhttp3.TlsVersion.forJavaName:(Ljava/lang/String;)Lokhttp3/TlsVersion;
            astore 4 /* tlsVersion */
        start local 4 // okhttp3.TlsVersion tlsVersion
         9: .line 65
            aload 0 /* session */
            invokeinterface javax.net.ssl.SSLSession.getPeerCertificates:()[Ljava/security/cert/Certificate;
            astore 5 /* peerCertificates */
        start local 5 // java.security.cert.Certificate[] peerCertificates
        10: .line 66
            goto 13
        end local 5 // java.security.cert.Certificate[] peerCertificates
      StackMap locals: javax.net.ssl.SSLSession java.lang.String okhttp3.CipherSuite java.lang.String okhttp3.TlsVersion
      StackMap stack: javax.net.ssl.SSLPeerUnverifiedException
        11: pop
        12: .line 67
            aconst_null
            astore 5 /* peerCertificates */
        start local 5 // java.security.cert.Certificate[] peerCertificates
        13: .line 69
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aload 5 /* peerCertificates */
            ifnull 15
        14: .line 70
            aload 5 /* peerCertificates */
            invokestatic okhttp3.internal.Util.immutableList:([Ljava/lang/Object;)Ljava/util/List;
            goto 16
        15: .line 71
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
        16: .line 69
      StackMap locals:
      StackMap stack: java.util.List
            astore 6 /* peerCertificatesList */
        start local 6 // java.util.List peerCertificatesList
        17: .line 73
            aload 0 /* session */
            invokeinterface javax.net.ssl.SSLSession.getLocalCertificates:()[Ljava/security/cert/Certificate;
            astore 7 /* localCertificates */
        start local 7 // java.security.cert.Certificate[] localCertificates
        18: .line 74
            aload 7 /* localCertificates */
            ifnull 20
        19: .line 75
            aload 7 /* localCertificates */
            invokestatic okhttp3.internal.Util.immutableList:([Ljava/lang/Object;)Ljava/util/List;
            goto 21
        20: .line 76
      StackMap locals: java.util.List java.security.cert.Certificate[]
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
        21: .line 74
      StackMap locals:
      StackMap stack: java.util.List
            astore 8 /* localCertificatesList */
        start local 8 // java.util.List localCertificatesList
        22: .line 78
            new okhttp3.Handshake
            dup
            aload 4 /* tlsVersion */
            aload 2 /* cipherSuite */
            aload 6 /* peerCertificatesList */
            aload 8 /* localCertificatesList */
            invokespecial okhttp3.Handshake.<init>:(Lokhttp3/TlsVersion;Lokhttp3/CipherSuite;Ljava/util/List;Ljava/util/List;)V
            areturn
        end local 8 // java.util.List localCertificatesList
        end local 7 // java.security.cert.Certificate[] localCertificates
        end local 6 // java.util.List peerCertificatesList
        end local 5 // java.security.cert.Certificate[] peerCertificates
        end local 4 // okhttp3.TlsVersion tlsVersion
        end local 3 // java.lang.String tlsVersionString
        end local 2 // okhttp3.CipherSuite cipherSuite
        end local 1 // java.lang.String cipherSuiteString
        end local 0 // javax.net.ssl.SSLSession session
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   23     0                session  Ljavax/net/ssl/SSLSession;
            1   23     1      cipherSuiteString  Ljava/lang/String;
            5   23     2            cipherSuite  Lokhttp3/CipherSuite;
            6   23     3       tlsVersionString  Ljava/lang/String;
            9   23     4             tlsVersion  Lokhttp3/TlsVersion;
           10   11     5       peerCertificates  [Ljava/security/cert/Certificate;
           13   23     5       peerCertificates  [Ljava/security/cert/Certificate;
           17   23     6   peerCertificatesList  Ljava/util/List<Ljava/security/cert/Certificate;>;
           18   23     7      localCertificates  [Ljava/security/cert/Certificate;
           22   23     8  localCertificatesList  Ljava/util/List<Ljava/security/cert/Certificate;>;
      Exception table:
        from    to  target  type
           9    10      11  Class javax.net.ssl.SSLPeerUnverifiedException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      session  

  public static okhttp3.Handshake get(okhttp3.TlsVersion, okhttp3.CipherSuite, java.util.List<java.security.cert.Certificate>, java.util.List<java.security.cert.Certificate>);
    descriptor: (Lokhttp3/TlsVersion;Lokhttp3/CipherSuite;Ljava/util/List;Ljava/util/List;)Lokhttp3/Handshake;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // okhttp3.TlsVersion tlsVersion
        start local 1 // okhttp3.CipherSuite cipherSuite
        start local 2 // java.util.List peerCertificates
        start local 3 // java.util.List localCertificates
         0: .line 83
            aload 0 /* tlsVersion */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            ldc "tlsVersion == null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 84
      StackMap locals:
      StackMap stack:
            aload 1 /* cipherSuite */
            ifnonnull 2
            new java.lang.NullPointerException
            dup
            ldc "cipherSuite == null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 85
      StackMap locals:
      StackMap stack:
            new okhttp3.Handshake
            dup
            aload 0 /* tlsVersion */
            aload 1 /* cipherSuite */
            aload 2 /* peerCertificates */
            invokestatic okhttp3.internal.Util.immutableList:(Ljava/util/List;)Ljava/util/List;
         3: .line 86
            aload 3 /* localCertificates */
            invokestatic okhttp3.internal.Util.immutableList:(Ljava/util/List;)Ljava/util/List;
         4: .line 85
            invokespecial okhttp3.Handshake.<init>:(Lokhttp3/TlsVersion;Lokhttp3/CipherSuite;Ljava/util/List;Ljava/util/List;)V
            areturn
        end local 3 // java.util.List localCertificates
        end local 2 // java.util.List peerCertificates
        end local 1 // okhttp3.CipherSuite cipherSuite
        end local 0 // okhttp3.TlsVersion tlsVersion
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0         tlsVersion  Lokhttp3/TlsVersion;
            0    5     1        cipherSuite  Lokhttp3/CipherSuite;
            0    5     2   peerCertificates  Ljava/util/List<Ljava/security/cert/Certificate;>;
            0    5     3  localCertificates  Ljava/util/List<Ljava/security/cert/Certificate;>;
    Signature: (Lokhttp3/TlsVersion;Lokhttp3/CipherSuite;Ljava/util/List<Ljava/security/cert/Certificate;>;Ljava/util/List<Ljava/security/cert/Certificate;>;)Lokhttp3/Handshake;
    MethodParameters:
                   Name  Flags
      tlsVersion         
      cipherSuite        
      peerCertificates   
      localCertificates  

  public okhttp3.TlsVersion tlsVersion();
    descriptor: ()Lokhttp3/TlsVersion;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // okhttp3.Handshake this
         0: .line 94
            aload 0 /* this */
            getfield okhttp3.Handshake.tlsVersion:Lokhttp3/TlsVersion;
            areturn
        end local 0 // okhttp3.Handshake this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/Handshake;

  public okhttp3.CipherSuite cipherSuite();
    descriptor: ()Lokhttp3/CipherSuite;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // okhttp3.Handshake this
         0: .line 99
            aload 0 /* this */
            getfield okhttp3.Handshake.cipherSuite:Lokhttp3/CipherSuite;
            areturn
        end local 0 // okhttp3.Handshake this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/Handshake;

  public java.util.List<java.security.cert.Certificate> peerCertificates();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // okhttp3.Handshake this
         0: .line 104
            aload 0 /* this */
            getfield okhttp3.Handshake.peerCertificates:Ljava/util/List;
            areturn
        end local 0 // okhttp3.Handshake this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/Handshake;
    Signature: ()Ljava/util/List<Ljava/security/cert/Certificate;>;

  public java.security.Principal peerPrincipal();
    descriptor: ()Ljava/security/Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // okhttp3.Handshake this
         0: .line 108
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNullable cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // okhttp3.Handshake this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/Handshake;
    RuntimeInvisibleAnnotations: 
      Nullable()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        Nullable()

  public java.util.List<java.security.cert.Certificate> localCertificates();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // okhttp3.Handshake this
         0: .line 116
            aload 0 /* this */
            getfield okhttp3.Handshake.localCertificates:Ljava/util/List;
            areturn
        end local 0 // okhttp3.Handshake this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/Handshake;
    Signature: ()Ljava/util/List<Ljava/security/cert/Certificate;>;

  public java.security.Principal localPrincipal();
    descriptor: ()Ljava/security/Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // okhttp3.Handshake this
         0: .line 120
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNullable cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // okhttp3.Handshake this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/Handshake;
    RuntimeInvisibleAnnotations: 
      Nullable()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        Nullable()

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // okhttp3.Handshake this
         0: .line 126
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNullable cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // okhttp3.Handshake this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/Handshake;
    RuntimeInvisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
        Nullable()
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // okhttp3.Handshake this
         0: .line 136
            bipush 17
            istore 1 /* result */
        start local 1 // int result
         1: .line 137
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield okhttp3.Handshake.tlsVersion:Lokhttp3/TlsVersion;
            invokevirtual okhttp3.TlsVersion.hashCode:()I
            iadd
            istore 1 /* result */
         2: .line 138
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield okhttp3.Handshake.cipherSuite:Lokhttp3/CipherSuite;
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 1 /* result */
         3: .line 139
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield okhttp3.Handshake.peerCertificates:Ljava/util/List;
            invokeinterface java.util.List.hashCode:()I
            iadd
            istore 1 /* result */
         4: .line 140
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield okhttp3.Handshake.localCertificates:Ljava/util/List;
            invokeinterface java.util.List.hashCode:()I
            iadd
            istore 1 /* result */
         5: .line 141
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // okhttp3.Handshake this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lokhttp3/Handshake;
            1    6     1  result  I
}
SourceFile: "Handshake.java"