7  java/lang/Object()V   net/luminis/tls/TlsState iv_lengthS  psk[B  transcriptHash Lnet/luminis/tls/TranscriptHash;    keyLength    hashLength makeConcatWithConstants(I)Ljava/lang/String; !" #$java/security/MessageDigest getInstance1(Ljava/lang/String;)Ljava/security/MessageDigest; & '( hashFunctionLjava/security/MessageDigest;*&java/security/NoSuchAlgorithmException,java/lang/RuntimeException. /&(Ljava/lang/String;)Ljava/lang/String; +1 2(Ljava/lang/String;)V5*at/favre/lib/crypto/HkdfMacFactory$Default 47 8-(Ljava/lang/String;Ljava/security/Provider;)V :;< =>at/favre/lib/crypto/HKDFfrom@(Lat/favre/lib/crypto/HkdfMacFactory;)Lat/favre/lib/crypto/HKDF; @ ABhkdfLat/favre/lib/crypto/HKDF; D EFdigest([B)[B H I emptyHash KLM NOnet/luminis/tls/util/ByteUtils bytesToHex([B)Ljava/lang/String;. RST U2net/luminis/tls/Loggerdebug W XFcomputeEarlySecret Z ['(Lnet/luminis/tls/TranscriptHash;[BII)V :] ^_extract([B[B)[B a b earlySecret.e res binder g hihkdfExpandLabel([BLjava/lang/String;[BS)[B k l binderKey. o preset r stupdate([B)V v Ew()[Byfinished{ } h~+([BLjava/lang/String;Ljava/lang/String;S)[Bjavax/crypto/spec/SecretKeySpec  ([BLjava/lang/String;)V  #javax/crypto/Mac&(Ljava/lang/String;)Ljavax/crypto/Mac; init(Ljava/security/Key;)V r wdoFinal!java/security/InvalidKeyException +  serverSharedKeyLjava/security/PublicKey;$java/security/interfaces/ECPublicKeyECDH  #javax/crypto/KeyAgreement/(Ljava/lang/String;)Ljavax/crypto/KeyAgreement;%java/security/interfaces/XECPublicKeyXDHUnsupported key type  clientPrivateKeyLjava/security/PrivateKey; doPhase)(Ljava/security/Key;Z)Ljava/security/Key; wgenerateSecret   sharedSecret. <(Ljava/security/GeneralSecurityException;)Ljava/lang/String;  *net/luminis/tls/TlsConstants$HandshakeType client_hello,Lnet/luminis/tls/TlsConstants$HandshakeType;  net/luminis/tls/TranscriptHashgetHash0(Lnet/luminis/tls/TlsConstants$HandshakeType;)[B c e traffic  clientEarlyTrafficSecretderived.  handshakeSecret .  server_hello c hs traffic  clientHandshakeTrafficSecret . s hs traffic  serverHandshakeTrafficSecret .key . .iv..  tcomputeApplicationSecrets y  getServerHash   masterSecret. c ap traffic  clientApplicationTrafficSecret. s ap traffic  serverApplicationTrafficSecret.....   getClientHash  res master   resumptionMasterSecret. resumption   ISO_8859_1Ljava/nio/charset/Charset;  java/lang/StringgetBytes(Ljava/nio/charset/Charset;)[B   labelPrefixLjava/lang/String;   !length()I #$% &'java/nio/ByteBufferallocate(I)Ljava/nio/ByteBuffer; #) *+putShort(S)Ljava/nio/ByteBuffer; - w #/ 01put(B)Ljava/nio/ByteBuffer; #3 04([B)Ljava/nio/ByteBuffer; #6 7warray :9 :;expand ([B[BI)[B = >? pskSelectedZA ISO-8859-1 CDE FGjava/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;Itls13  ConstantValue CodeLineNumberTableLocalVariableTablee(Ljava/security/NoSuchAlgorithmException;thisLnet/luminis/tls/TlsState;I hashAlgorithm macAlgorithm StackMapTable%(Lnet/luminis/tls/TranscriptHash;II)VikmzeroSaltcomputePskBinderhash finishedKeyhmacKey!Ljavax/crypto/spec/SecretKeySpec; hmacAlgorithmLjavax/crypto/Mac;hmac#Ljava/security/InvalidKeyException;partialClientHellomacAlgorithmNamecomputeSharedSecret keyAgreementLjavax/crypto/KeyAgreement;(Ljava/security/GeneralSecurityException;k&java/security/GeneralSecurityExceptioncomputeEarlyTrafficSecretclientHelloHashcomputeHandshakeSecrets derivedSecret handshakeHashclientHandshakeKeyserverHandshakeKeyclientHandshakeIVserverHandshakeIVserverFinishedHashzeroKeyclientApplicationKeyserverApplicationKeyclientApplicationIvserverApplicationIvcomputeResumptionMasterSecretclientFinishedHash computePSK ticketNoncesecretlabelcontext hkdfLabelLjava/nio/ByteBuffer; getHashLength()SgetClientEarlyTrafficSecretgetClientHandshakeTrafficSecretgetServerHandshakeTrafficSecret!getClientApplicationTrafficSecret!getServerApplicationTrafficSecret setOwnKey(Ljava/security/PrivateKey;)VsetPskSelected(I)VselectedIdentitysetNoPskSelected setPeerKey(Ljava/security/PublicKey;)V SourceFile TlsState.javaBootstrapMethods  $java/lang/invoke/StringConcatFactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;SHA-Missing  supportHmacSHA Empty hash: Early secret:  Binder key:  Shared key: Unsupported crypto: Derived secret: Handshake secret: "Client handshake traffic secret: "Server handshake traffic secret: Client handshake key: Server handshake key: Client handshake iv: Server handshake iv: Master secret: $Client application traffic secret: $Server application traffic secret: Client application key: Server application key: Client application iv: Server application iv: Resumption master secret:  InnerClasses"at/favre/lib/crypto/HkdfMacFactoryDefaultnet/luminis/tls/TlsConstants HandshakeType%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup! '(ABI   JK>?bl [L** *, *+***h:*%:+Y-0*h3:*4Y69?**%CG*GJPQ, *M*,VW/8;)MN@. ABCD!H/J8M;K=LLNZOkQyRTXZ[NR=OPQRSS/kTZ@UV!;W)FXLU *+YM ^_N* QR  S SXFLM*M**?,+\`*`JcQ***`d*G*fj*jJmQ*`Mbcd#f9gHiN MQRMYFZ[FLbw*h3M*%n*%+q*%uN**jxz*|:Y,:,:-:N+Y,-0N+Y ^_) ^nM>m opq$s6tBvHwOxUy\z_{`|n}o~Nf $;\6)]B^_H`a\b`OPoOcwQRwd jeV_W)NfLl* L * L +Y0+*+*W*+*JQL+Y+0Y\)Y\M6 &08BJY\]kN4gh#gh0)gh]OilQRV +jlL[*L***`+*fȱM NQR mnL**`*G*fL+JQ**?+*\*θJQ*ҶM***,*f*׸JQ***,*f*ݸJQ**z*|N-JQ**z*|:JQ**z |:JQ**z |:JQMJ/>I\k~NHQRoIpfqHr+stL7 **ζM N  QRtL  *M*+*G*fN-JQ*:**?-\*JQ***,*f*JQ***,*f*JQ**z*|:JQ**z*|:JQ**z |:JQ**z |:JQMN '/=L_nN\  QR  uo/vgwHx+yz{Lo/*L***+*f * J QM .N/QR $|}FLU** +*fM,M N QR~h~Lb*+,-fMN4QR hiLr`,``-`":(W,,`.W2W,2W-.W-2W*?+58M"#6ER[bN>rQRrrrr WL/*MN QRwL/*ȰMN QRwL/*װMN QRwL/*ݰM N QRwL/*M N QRwL/*MN QRL>*+M NQRL>*<M NQRSLU* *<**VWM!#N QRVL>*+M &'NQRL,@BHM % '4@