final class sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec implements sun.security.ssl.SSLExtension$SSLExtensionSpec
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec
  super_class: java.lang.Object
{
  final java.util.List<sun.security.ssl.PreSharedKeyExtension$PskIdentity> identities;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<Lsun/security/ssl/PreSharedKeyExtension$PskIdentity;>;

  final java.util.List<byte[]> binders;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<[B>;

  void <init>(java.util.List<sun.security.ssl.PreSharedKeyExtension$PskIdentity>, java.util.List<byte[]>);
    descriptor: (Ljava/util/List;Ljava/util/List;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
        start local 1 // java.util.List identities
        start local 2 // java.util.List binders
         0: .line 106
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 107
            aload 0 /* this */
            aload 1 /* identities */
            putfield sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.identities:Ljava/util/List;
         2: .line 108
            aload 0 /* this */
            aload 2 /* binders */
            putfield sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.binders:Ljava/util/List;
         3: .line 109
            return
        end local 2 // java.util.List binders
        end local 1 // java.util.List identities
        end local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
            0    4     1  identities  Ljava/util/List<Lsun/security/ssl/PreSharedKeyExtension$PskIdentity;>;
            0    4     2     binders  Ljava/util/List<[B>;
    Signature: (Ljava/util/List<Lsun/security/ssl/PreSharedKeyExtension$PskIdentity;>;Ljava/util/List<[B>;)V
    MethodParameters:
            Name  Flags
      identities  
      binders     

  void <init>(sun.security.ssl.HandshakeContext, java.nio.ByteBuffer);
    descriptor: (Lsun/security/ssl/HandshakeContext;Ljava/nio/ByteBuffer;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
        start local 1 // sun.security.ssl.HandshakeContext hc
        start local 2 // java.nio.ByteBuffer m
         0: .line 111
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 117
            aload 2 /* m */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 44
            if_icmpge 9
         2: .line 118
            aload 1 /* hc */
            getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.DECODE_ERROR:Lsun/security/ssl/Alert;
         3: .line 119
            new javax.net.ssl.SSLProtocolException
            dup
         4: .line 120
            new java.lang.StringBuilder
            dup
            ldc "Invalid pre_shared_key extension: insufficient data (length="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 121
            aload 2 /* m */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 120
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 119
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
         8: .line 118
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
            athrow
         9: .line 124
      StackMap locals: sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec sun.security.ssl.HandshakeContext java.nio.ByteBuffer
      StackMap stack:
            aload 2 /* m */
            invokestatic sun.security.ssl.Record.getInt16:(Ljava/nio/ByteBuffer;)I
            istore 3 /* idEncodedLength */
        start local 3 // int idEncodedLength
        10: .line 125
            iload 3 /* idEncodedLength */
            bipush 7
            if_icmpge 18
        11: .line 126
            aload 1 /* hc */
            getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.DECODE_ERROR:Lsun/security/ssl/Alert;
        12: .line 127
            new javax.net.ssl.SSLProtocolException
            dup
        13: .line 128
            new java.lang.StringBuilder
            dup
            ldc "Invalid pre_shared_key extension: insufficient identities (length="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 129
            iload 3 /* idEncodedLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 128
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 127
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
        17: .line 126
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
            athrow
        18: .line 132
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.identities:Ljava/util/List;
        19: .line 133
            iconst_0
            istore 4 /* idReadLength */
        start local 4 // int idReadLength
        20: .line 134
            goto 34
        21: .line 135
      StackMap locals: int
      StackMap stack:
            aload 2 /* m */
            invokestatic sun.security.ssl.Record.getBytes16:(Ljava/nio/ByteBuffer;)[B
            astore 5 /* id */
        start local 5 // byte[] id
        22: .line 136
            aload 5 /* id */
            arraylength
            iconst_1
            if_icmpge 30
        23: .line 137
            aload 1 /* hc */
            getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.DECODE_ERROR:Lsun/security/ssl/Alert;
        24: .line 138
            new javax.net.ssl.SSLProtocolException
            dup
        25: .line 139
            new java.lang.StringBuilder
            dup
            ldc "Invalid pre_shared_key extension: insufficient identity (length="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        26: .line 140
            aload 5 /* id */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 139
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 138
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
        29: .line 137
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
            athrow
        30: .line 142
      StackMap locals: byte[]
      StackMap stack:
            aload 2 /* m */
            invokestatic sun.security.ssl.Record.getInt32:(Ljava/nio/ByteBuffer;)I
            istore 6 /* obfuscatedTicketAge */
        start local 6 // int obfuscatedTicketAge
        31: .line 144
            new sun.security.ssl.PreSharedKeyExtension$PskIdentity
            dup
            aload 5 /* id */
            iload 6 /* obfuscatedTicketAge */
            invokespecial sun.security.ssl.PreSharedKeyExtension$PskIdentity.<init>:([BI)V
            astore 7 /* pskId */
        start local 7 // sun.security.ssl.PreSharedKeyExtension$PskIdentity pskId
        32: .line 145
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.identities:Ljava/util/List;
            aload 7 /* pskId */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        33: .line 146
            iload 4 /* idReadLength */
            aload 7 /* pskId */
            invokevirtual sun.security.ssl.PreSharedKeyExtension$PskIdentity.getEncodedLength:()I
            iadd
            istore 4 /* idReadLength */
        end local 7 // sun.security.ssl.PreSharedKeyExtension$PskIdentity pskId
        end local 6 // int obfuscatedTicketAge
        end local 5 // byte[] id
        34: .line 134
      StackMap locals:
      StackMap stack:
            iload 4 /* idReadLength */
            iload 3 /* idEncodedLength */
            if_icmplt 21
        35: .line 149
            aload 2 /* m */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 35
            if_icmpge 43
        36: .line 150
            aload 1 /* hc */
            getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.DECODE_ERROR:Lsun/security/ssl/Alert;
        37: .line 151
            new javax.net.ssl.SSLProtocolException
            dup
        38: .line 152
            new java.lang.StringBuilder
            dup
            ldc "Invalid pre_shared_key extension: insufficient binders data (length="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        39: .line 154
            aload 2 /* m */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 152
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 151
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
        42: .line 150
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
            athrow
        43: .line 157
      StackMap locals:
      StackMap stack:
            aload 2 /* m */
            invokestatic sun.security.ssl.Record.getInt16:(Ljava/nio/ByteBuffer;)I
            istore 5 /* bindersEncodedLen */
        start local 5 // int bindersEncodedLen
        44: .line 158
            iload 5 /* bindersEncodedLen */
            bipush 33
            if_icmpge 52
        45: .line 159
            aload 1 /* hc */
            getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.DECODE_ERROR:Lsun/security/ssl/Alert;
        46: .line 160
            new javax.net.ssl.SSLProtocolException
            dup
        47: .line 161
            new java.lang.StringBuilder
            dup
            ldc "Invalid pre_shared_key extension: insufficient binders (length="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        48: .line 163
            iload 5 /* bindersEncodedLen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        49: .line 161
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        50: .line 160
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
        51: .line 159
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
            athrow
        52: .line 166
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.binders:Ljava/util/List;
        53: .line 167
            iconst_0
            istore 6 /* bindersReadLength */
        start local 6 // int bindersReadLength
        54: .line 168
            goto 66
        55: .line 169
      StackMap locals: int
      StackMap stack:
            aload 2 /* m */
            invokestatic sun.security.ssl.Record.getBytes8:(Ljava/nio/ByteBuffer;)[B
            astore 7 /* binder */
        start local 7 // byte[] binder
        56: .line 170
            aload 7 /* binder */
            arraylength
            bipush 32
            if_icmpge 64
        57: .line 171
            aload 1 /* hc */
            getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
            getstatic sun.security.ssl.Alert.DECODE_ERROR:Lsun/security/ssl/Alert;
        58: .line 172
            new javax.net.ssl.SSLProtocolException
            dup
        59: .line 173
            new java.lang.StringBuilder
            dup
            ldc "Invalid pre_shared_key extension: insufficient binder entry (length="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        60: .line 175
            aload 7 /* binder */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        61: .line 173
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        62: .line 172
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
        63: .line 171
            invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
            athrow
        64: .line 177
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.binders:Ljava/util/List;
            aload 7 /* binder */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        65: .line 178
            iload 6 /* bindersReadLength */
            iconst_1
            aload 7 /* binder */
            arraylength
            iadd
            iadd
            istore 6 /* bindersReadLength */
        end local 7 // byte[] binder
        66: .line 168
      StackMap locals:
      StackMap stack:
            iload 6 /* bindersReadLength */
            iload 5 /* bindersEncodedLen */
            if_icmplt 55
        67: .line 180
            return
        end local 6 // int bindersReadLength
        end local 5 // int bindersEncodedLen
        end local 4 // int idReadLength
        end local 3 // int idEncodedLength
        end local 2 // java.nio.ByteBuffer m
        end local 1 // sun.security.ssl.HandshakeContext hc
        end local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   68     0                 this  Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
            0   68     1                   hc  Lsun/security/ssl/HandshakeContext;
            0   68     2                    m  Ljava/nio/ByteBuffer;
           10   68     3      idEncodedLength  I
           20   68     4         idReadLength  I
           22   34     5                   id  [B
           31   34     6  obfuscatedTicketAge  I
           32   34     7                pskId  Lsun/security/ssl/PreSharedKeyExtension$PskIdentity;
           44   68     5    bindersEncodedLen  I
           54   68     6    bindersReadLength  I
           56   66     7               binder  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      hc    
      m     

  int getIdsEncodedLength();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
         0: .line 183
            iconst_0
            istore 1 /* idEncodedLength */
        start local 1 // int idEncodedLength
         1: .line 184
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.identities:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.PreSharedKeyExtension$PskIdentity
            astore 2 /* curId */
        start local 2 // sun.security.ssl.PreSharedKeyExtension$PskIdentity curId
         3: .line 185
            iload 1 /* idEncodedLength */
            aload 2 /* curId */
            invokevirtual sun.security.ssl.PreSharedKeyExtension$PskIdentity.getEncodedLength:()I
            iadd
            istore 1 /* idEncodedLength */
        end local 2 // sun.security.ssl.PreSharedKeyExtension$PskIdentity curId
         4: .line 184
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 188
            iload 1 /* idEncodedLength */
            ireturn
        end local 1 // int idEncodedLength
        end local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
            1    6     1  idEncodedLength  I
            3    4     2            curId  Lsun/security/ssl/PreSharedKeyExtension$PskIdentity;

  int getBindersEncodedLength();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
         0: .line 192
            iconst_0
            istore 1 /* binderEncodedLength */
        start local 1 // int binderEncodedLength
         1: .line 193
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.binders:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 2 /* curBinder */
        start local 2 // byte[] curBinder
         3: .line 194
            iload 1 /* binderEncodedLength */
            iconst_1
            aload 2 /* curBinder */
            arraylength
            iadd
            iadd
            istore 1 /* binderEncodedLength */
        end local 2 // byte[] curBinder
         4: .line 193
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 197
            iload 1 /* binderEncodedLength */
            ireturn
        end local 1 // int binderEncodedLength
        end local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
            1    6     1  binderEncodedLength  I
            3    4     2            curBinder  [B

  byte[] getEncoded();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=2, locals=8, args_size=1
        start local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
         0: .line 201
            aload 0 /* this */
            invokevirtual sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.getIdsEncodedLength:()I
            istore 1 /* idsEncodedLength */
        start local 1 // int idsEncodedLength
         1: .line 202
            aload 0 /* this */
            invokevirtual sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.getBindersEncodedLength:()I
            istore 2 /* bindersEncodedLength */
        start local 2 // int bindersEncodedLength
         2: .line 203
            iconst_4
            iload 1 /* idsEncodedLength */
            iadd
            iload 2 /* bindersEncodedLength */
            iadd
            istore 3 /* encodedLength */
        start local 3 // int encodedLength
         3: .line 204
            iload 3 /* encodedLength */
            newarray 8
            astore 4 /* buffer */
        start local 4 // byte[] buffer
         4: .line 205
            aload 4 /* buffer */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 5 /* m */
        start local 5 // java.nio.ByteBuffer m
         5: .line 206
            aload 5 /* m */
            iload 1 /* idsEncodedLength */
            invokestatic sun.security.ssl.Record.putInt16:(Ljava/nio/ByteBuffer;I)V
         6: .line 207
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.identities:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec int int int byte[] java.nio.ByteBuffer top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.PreSharedKeyExtension$PskIdentity
            astore 6 /* curId */
        start local 6 // sun.security.ssl.PreSharedKeyExtension$PskIdentity curId
         8: .line 208
            aload 6 /* curId */
            aload 5 /* m */
            invokevirtual sun.security.ssl.PreSharedKeyExtension$PskIdentity.writeEncoded:(Ljava/nio/ByteBuffer;)V
        end local 6 // sun.security.ssl.PreSharedKeyExtension$PskIdentity curId
         9: .line 207
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 210
            aload 5 /* m */
            iload 2 /* bindersEncodedLength */
            invokestatic sun.security.ssl.Record.putInt16:(Ljava/nio/ByteBuffer;I)V
        11: .line 211
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.binders:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 14
      StackMap locals:
      StackMap stack:
        12: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 6 /* curBinder */
        start local 6 // byte[] curBinder
        13: .line 212
            aload 5 /* m */
            aload 6 /* curBinder */
            invokestatic sun.security.ssl.Record.putBytes8:(Ljava/nio/ByteBuffer;[B)V
        end local 6 // byte[] curBinder
        14: .line 211
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 215
            aload 4 /* buffer */
            areturn
        end local 5 // java.nio.ByteBuffer m
        end local 4 // byte[] buffer
        end local 3 // int encodedLength
        end local 2 // int bindersEncodedLength
        end local 1 // int idsEncodedLength
        end local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   16     0                  this  Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
            1   16     1      idsEncodedLength  I
            2   16     2  bindersEncodedLength  I
            3   16     3         encodedLength  I
            4   16     4                buffer  [B
            5   16     5                     m  Ljava/nio/ByteBuffer;
            8    9     6                 curId  Lsun/security/ssl/PreSharedKeyExtension$PskIdentity;
           13   14     6             curBinder  [B
    Exceptions:
      throws java.io.IOException

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
         0: .line 220
            new java.text.MessageFormat
            dup
         1: .line 221
            ldc "\"PreSharedKey\": '{'\n  \"identities\": '{'\n{0}\n  '}'  \"binders\": \"{1}\",\n'}'"
         2: .line 227
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
         3: .line 220
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
            astore 1 /* messageFormat */
        start local 1 // java.text.MessageFormat messageFormat
         4: .line 229
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 230
            aload 0 /* this */
            invokevirtual sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.identitiesString:()Ljava/lang/String;
            invokestatic sun.security.ssl.Utilities.indent:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_1
         6: .line 231
            aload 0 /* this */
            invokevirtual sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.bindersString:()Ljava/lang/String;
            invokestatic sun.security.ssl.Utilities.indent:(Ljava/lang/String;)Ljava/lang/String;
            aastore
         7: .line 229
            astore 2 /* messageFields */
        start local 2 // java.lang.Object[] messageFields
         8: .line 234
            aload 1 /* messageFormat */
            aload 2 /* messageFields */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.Object[] messageFields
        end local 1 // java.text.MessageFormat messageFormat
        end local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
            4    9     1  messageFormat  Ljava/text/MessageFormat;
            8    9     2  messageFields  [Ljava/lang/Object;

  java.lang.String identitiesString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
         0: .line 238
            new sun.security.util.HexDumpEncoder
            dup
            invokespecial sun.security.util.HexDumpEncoder.<init>:()V
            astore 1 /* hexEncoder */
        start local 1 // sun.security.util.HexDumpEncoder hexEncoder
         1: .line 240
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* result */
        start local 2 // java.lang.StringBuilder result
         2: .line 241
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.identities:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec sun.security.util.HexDumpEncoder java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.PreSharedKeyExtension$PskIdentity
            astore 3 /* curId */
        start local 3 // sun.security.ssl.PreSharedKeyExtension$PskIdentity curId
         4: .line 242
            aload 2 /* result */
            new java.lang.StringBuilder
            dup
            ldc "  {\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 243
            aload 1 /* hexEncoder */
            aload 3 /* curId */
            getfield sun.security.ssl.PreSharedKeyExtension$PskIdentity.identity:[B
            invokevirtual sun.security.util.HexDumpEncoder.encode:([B)Ljava/lang/String;
            ldc "    "
         6: .line 242
            invokestatic sun.security.ssl.Utilities.indent:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 244
            ldc "\n  }\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 242
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // sun.security.ssl.PreSharedKeyExtension$PskIdentity curId
         9: .line 241
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 247
            aload 2 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder result
        end local 1 // sun.security.util.HexDumpEncoder hexEncoder
        end local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
            1   11     1  hexEncoder  Lsun/security/util/HexDumpEncoder;
            2   11     2      result  Ljava/lang/StringBuilder;
            4    9     3       curId  Lsun/security/ssl/PreSharedKeyExtension$PskIdentity;

  java.lang.String bindersString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
         0: .line 251
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* result */
        start local 1 // java.lang.StringBuilder result
         1: .line 252
            aload 0 /* this */
            getfield sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec.binders:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 2 /* curBinder */
        start local 2 // byte[] curBinder
         3: .line 253
            aload 1 /* result */
            new java.lang.StringBuilder
            dup
            ldc "{"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* curBinder */
            invokestatic sun.security.ssl.Utilities.toHexString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // byte[] curBinder
         4: .line 252
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 256
            aload 1 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder result
        end local 0 // sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lsun/security/ssl/PreSharedKeyExtension$CHPreSharedKeySpec;
            1    6     1     result  Ljava/lang/StringBuilder;
            3    4     2  curBinder  [B
}
SourceFile: "PreSharedKeyExtension.java"
NestHost: sun.security.ssl.PreSharedKeyExtension
InnerClasses:
  private final CHPreSharedKeySpec = sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeySpec of sun.security.ssl.PreSharedKeyExtension
  private final PskIdentity = sun.security.ssl.PreSharedKeyExtension$PskIdentity of sun.security.ssl.PreSharedKeyExtension
  abstract SSLExtensionSpec = sun.security.ssl.SSLExtension$SSLExtensionSpec of sun.security.ssl.SSLExtension