7%  java/lang/Object()V   $net/luminis/quic/crypto/BaseAeadImplkeyUpdateCounterI  possibleKeyUpdateInProgresssZ  nodeRoleLnet/luminis/quic/Role;  logLnet/luminis/quic/log/Logger;   quicVersionLnet/luminis/quic/Version;  !net/luminis/quic/RoleClient# client in% server in' ) *+ getHashLength()S - ./hkdfExpandLabelE(Lnet/luminis/quic/Version;[BLjava/lang/String;Ljava/lang/String;S)[B1 23makeConcatWithConstants+(Lnet/luminis/quic/Role;)Ljava/lang/String; 567 89net/luminis/quic/log/Loggersecret(Ljava/lang/String;[B)V ; <= computeKeys([BZZ)V ? @A trafficSecret[B CDE FGnet/luminis/quic/VersionisV2()ZIquicv2 Kquic M 2N&(Ljava/lang/String;)Ljava/lang/String; P QAnewApplicationTrafficSecretSselfUpeerMX+Installing updated keys (initiated by peer) 5Z [\info(Ljava/lang/String;)V ^ _AnewKey a bAwriteKey d ef writeKeySpec!Ljavax/crypto/spec/SecretKeySpec; h iAnewIV k lAwriteIV n o checkPeerKeys q rspeerAeadLnet/luminis/quic/crypto/Aead; uvw xynet/luminis/quic/crypto/AeadgetKeyUpdateCounter()I{(Keys out of sync; updating keys for peer 5} ~\debug u computeKeyUpdate(Z)V+Discarding updated keys (initiated by peer)M  + getKeyLength  fnewWriteKeySpec1M1M  Ahp1tls13   ISO_8859_1Ljava/nio/charset/Charset;  java/lang/StringgetBytes(Ljava/nio/charset/Charset;)[B  java/nio/ByteBufferallocate(I)Ljava/nio/ByteBuffer; putShort(S)Ljava/nio/ByteBuffer; ()[B put(B)Ljava/nio/ByteBuffer; ([B)Ljava/nio/ByteBuffer;  getHKDF()Lat/favre/lib/crypto/HKDF; array  at/favre/lib/crypto/HKDFexpand ([B[BI)[B Computed new (updated) keyComputed new (updated) ivLReceived key phase does not match current => possible key update in progress ISO-8859-1  java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;QUIC_V1_KDF_LABEL_PREFIXLjava/lang/String; ConstantValueQUIC_V2_KDF_LABEL_PREFIXhpCipherLjavax/crypto/Cipher; writeCipherQ(Lnet/luminis/quic/Version;Lnet/luminis/quic/Role;Lnet/luminis/quic/log/Logger;)VCodeLineNumberTableLocalVariableTablethis&Lnet/luminis/quic/crypto/BaseAeadImpl;S(Lnet/luminis/quic/Version;[BLnet/luminis/quic/Role;Lnet/luminis/quic/log/Logger;)V initialSecretinitialNodeSecret StackMapTableA([B)V selfInitiatedprefixconfirmKeyUpdateIfInProgresscancelKeyUpdateIfInProgress includeHP replaceKeys labelPrefixkeyivlabelcontextlengthS hkdfLabelLjava/nio/ByteBuffer;hkdfLat/favre/lib/crypto/HKDF;getTrafficSecret getWriteKey getWriteIVgetHpgetHeaderProtectionCipher()Ljavax/crypto/Cipher;getWriteKeySpec#()Ljavax/crypto/spec/SecretKeySpec;getWriteCipher getKeyPhase checkKeyPhase(S)V keyPhaseBit setPeerAead!(Lnet/luminis/quic/crypto/Aead;)V SourceFileBaseAeadImpl.javaBootstrapMethods    2 $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; initial secretku&Updated ApplicationTrafficSecret (): key keyiv ivhp hp InnerClasses!%java/lang/invoke/MethodHandles$Lookup#java/lang/invoke/MethodHandlesLookup!uJH@AQAbA_AlAiAAeff Brs~*** *,*-*+FB CGHIJ*R*** *-**+*+,-"$&*(,:-04*:* LB CMNOQ:RITQU>RRRARR:AC-C5CC5C+*+!<I *+>*+:_` a @A!o*BHJM****>,L& ,O*RTV*O4**O:**O>*Y`*O& jk,lImSnWp_qirnv oo]-A'552!R* M*WY**O>**]`*c**gj*Y`*O* *]*g*m6 ~"'/9>CHMQ RQxy/* oe&*pt**z|*p% &%!r'* "*Y*O* *]*g!& '&<=*BHJ:**+&*,:*`*c*]***4**+& ,: *j *g**43***+&*,***4F+/5=CH\rvH8A+Ar\AA+ 6G./& :`-```:W-`WW-WWW*:,* )1AIVftz\ 8A ~A)_z/*> L* *]*`  L* *g*j  /* +2*p E*p=*]&***]4**g4*ƹY* "  % 4 ? DEE4>*+p rs! ȸʳ#8    "$