A&  java/lang/Object()V   org/freertr/pack/packSshInit keySignAlgs[Ljava/lang/String;  lowerLorg/freertr/pack/packSsh;  kexKeys[I   keySignDoerLjava/util/List;  java/util/Listget(I)Ljava/lang/Object; org/freertr/cry/cryKeyGeneric " # keySignHash%org/freertr/cry/cryHashGeneric ' () algoParseList)(Ljava/lang/String;[Ljava/lang/String;)[I+org/freertr/cry/cryHashSha2512 *.org/freertr/cry/cryHashSha2256 -1org/freertr/cry/cryHashSha1 04org/freertr/cry/cryHashMd5 3 $7 89 getHashSize()I ;<= >?org/freertr/util/bitsbyteCopy ([BI[BII)VAorg/freertr/cry/cryHashHmac @C D%(Lorg/freertr/cry/cryHashGeneric;[B)VForg/freertr/cry/cryEncrCTRaes EIorg/freertr/cry/cryEncrCBCaes HLorg/freertr/cry/cryEncrCTRdes3 KOorg/freertr/cry/cryEncrCBCdes3 NR"org/freertr/cry/cryEncrCTRblowfish QU"org/freertr/cry/cryEncrCBCblowfish TXorg/freertr/cry/cryEncrCTRrc2 W[org/freertr/cry/cryEncrCBCrc2 Z^org/freertr/cry/cryEncrCTRdes ]aorg/freertr/cry/cryEncrCBCdes ` def g9org/freertr/cry/cryEncrGeneric getBlockSize di j9 getKeySize dl mninit([B[BZ)V pqr storg/freertr/cfg/cfgAllsshAgentLjava/lang/String;vorg/freertr/cfg/cfgInitxSSH-2.0-freeRouter/26.3.29-curz {|makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; ~ org/freertr/pack/packSshpipeLorg/freertr/pipe/pipeSide;   org/freertr/pipe/pipeSide$modTypmodeCRLF"Lorg/freertr/pipe/pipeSide$modTyp;  org/freertr/pipe/pipeSidelineTx lineRx  getLocalVersion()Ljava/lang/String; linePut(Ljava/lang/String;)V 9isClosed lineGet(I)Ljava/lang/String;  9java/lang/Stringlength  t remoteVersion  org/freertr/util/debugger secSshTrafZz  org/freertr/util/loggerdebugorg/freertr/util/cmds '(Ljava/lang/String;Ljava/lang/String;)V, |word trim equals(Ljava/lang/Object;)Zjava/util/ArrayList   java/lang/IntegervalueOf(I)Ljava/lang/Integer;  add  9size 9intValue {8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;  substring(II)Ljava/lang/String; ~ pckTypI   kexCookie[B ~ pckDatLorg/freertr/pack/packHolder;  org/freertr/pack/packHoldergetByte(I)I getSkip(I)V ~  stringRead ext-info-s   algoFindList'(Ljava/lang/String;Ljava/lang/String;)Z  kexExts ext-info-c    keyXchgAlgs   kexAlgo    cipherAlgs  kexEncCS  kexEncSC    hasherAlgs  kexMacCS  kexMacSC    compressAlgs  ! kexCompCS # $ kexCompSC & 'kexFirst)rx + , kexInitDump ;. /9randomB1org/freertr/cry/cryKeyMLDSA 0 04 56 keyMakeSize(I)Z 08 9:sshHash"()Lorg/freertr/cry/cryHashGeneric; 0< =sshName?org/freertr/cry/cryKeyECDSA > >B C6 keyMakeTls >8 ><Gorg/freertr/cry/cryKeyRSA FJ rsa-sha2-256L rsa-sha2-512Nssh-rsaPorg/freertr/cry/cryKeyDSA OSssh-dss U VW algoFillFull([Ljava/lang/String;)[I Y Z(Lorg/freertr/pack/packSsh;)V \ ]^ kexInitFillt(ZLorg/freertr/cry/cryKeyDSA;Lorg/freertr/cry/cryKeyRSA;Lorg/freertr/cry/cryKeyECDSA;Lorg/freertr/cry/cryKeyMLDSA;)V ` ab algoChoose([I[I)[Idfinal f gclear i jkputByte(II)V m nputSkipzz r staltoCreateList)([I[Ljava/lang/String;)Ljava/lang/String; ~w x stringWrite z {kmsbPutD}tx {(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;org/freertr/cry/cryKeyMLKEM  4org/freertr/cry/cryKeyPQhybrid  org/freertr/cry/cryKeyCurve25519 org/freertr/cry/cryKeyECDH  Borg/freertr/cry/cryKeyDH   6 keyMakeIkeorg/freertr/cry/cryHashSha2384    newKeysCreate ~ packSend ~ packRecv   newKeysParse()Zserver-sig-algs aes256-ctr aes256-cbc3des-ctr3des-cbc blowfish-ctr blowfish-cbcrc2-ctrrc2-cbcdes-ctrdes-cbc hmac-sha2-512 hmac-sha2-256 hmac-sha1hmac-md5nonemlkem1024-sha384mlkem768-sha256mlkem512-sha256mlkem768x25519-sha256curve25519-sha256ecdh-sha2-nistp521ecdh-sha2-nistp384ecdh-sha2-nistp256ecdh-sha2-nistp224ecdh-sha2-nistp192$diffie-hellman-group-exchange-sha256diffie-hellman-group16-sha512diffie-hellman-group18-sha512diffie-hellman-group14-sha256"diffie-hellman-group-exchange-sha1diffie-hellman-group14-sha1diffie-hellman-group1-sha1magic ConstantValueSSH-2.0- Signature2Ljava/util/List;1Ljava/util/List;CodeLineNumberTablegetKeyVerifier!()Lorg/freertr/cry/cryKeyGeneric; StackMapTablegetKeyHashAlgogetKeyHashAlgnsetupKeyVerifier getHasher#([I[B)Lorg/freertr/cry/cryHashHmac; getCipher)([I[B[BZ)Lorg/freertr/cry/cryEncrGeneric;exchangeVersion kexInitParse(Z)Z kexInitChoose?(Lorg/freertr/pack/packSshInit;Lorg/freertr/pack/packSshInit;)Z kexInitCreate(Z)V getDHgroup getDHhashnewKeysExchangeextensInfoParseextensInfoCreate SourceFilepackSshInit.javaBootstrapMethods  SSH-2.0- remote: , ext-info-c, ext-info-s,J ext= kex= sng= encCS= encSC= macCS= macSC= cmpCS= cmpSC= frst=  {$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; InnerClassesmodTyp"%java/lang/invoke/MethodHandles$Lookup$java/lang/invoke/MethodHandlesLookup!t !$'t   #  Z3***+  G***.  :G**!*.$  @***.2  ) *+*&  l+.I(3>*Y,N&-Y/N0Y2N3Y5N-6:,:@Y-B6 (+36>AILNVa  $+. 5AMYeq}EYG:qHYJ:eKYM:YNYP:MQYS:ATYV:5WYY:)ZY\:]Y_:`Yb:c:-:h:,:kr8ADMPY\ehqt}    8 d ;owoy&' ) e* }* }* }L* }* }L+*+ +6 1 23'4*677:9F:M;P>U?[@dB * r.Y*M,K**K*+Ù"L NOPR"S*T,W   () YMY*N-K*8*K6+&*+2Ú,ʹW ٧, :6,˶OFbcef"g%i*j4k?lBnNoQjZrdsotsv   VWS+ M>+ ,O,z{ |{~ stx5N6+-,+.2N---ܰ  (+  ab<>+56,%+.,. :+.Oڄ* $+.4:0* *=*侢** T* *侶* M*,*,*,&** *&**  & **  &** &** &** &** &"* W* W** %*  *(*j !39HPTalw!'.*  ' ]^  *6*侢*-TY:*Yɵ!*YɵI0Y2:,3W*W*!7W;W0Y2:A3W*W*!7W;W0Y2:W3W*W*!7W;W>Y@:AW*W*!DWEW>Y@:AW*W*!DWEW>Y@:AW*W*!DWEW>Y@:AW*W*!DWEW*FYHW*!-Y/WIW*FYHW*!*Y,WKW*FYHW*!0Y2WMW*OYQW*!0Y2WRW+*W*!7W;W+*W*!DWEW-x*-W*!-Y/WIW*-W*!*Y,WKW*-W*!0Y2WMW,**,W*!0Y2WRW*6**S**T****T** T ** T**T**T**T**T"r\ &/:EIRZfu -6>JYfow'2CT_p     0;FWbfq ! #$%&'() *+, h,,x*"+Y* XL+[,Y* XM,[**+,_**+,_**+ , _ **+,_**+,_**+,_**+,_**+","_"* ** ** ** *" *c*f678:;)<2>B?R@bArBCDEFGIJLMOPRSU     S* * e=*侢* *3h* *侶lM* ,oM ,pM* ,**quv* ***qv* **  qv* ** qv* **qv* **qv* **qv* **"qv* v* v*%* h* h* y* l *|*v^ _`a/`5cDdGeNfRg\icl{mnopqrstu vw"y.{:|E}K~R& #, k+***q***q**  q** q**q**q**q**"q*%~$:PgjRe**.RSew)1BYL+W+YL+W+YL+W+YYYM,W,YM,W,YM,W,YM,W,YM,W,YYN-W-YN-W-YN-W-YYN-W-YN-W-/  dltv~ ')18:BJQS[ac X:s**.S[cks{ӻY-Y/-Y/-Y/-Y/*Y,Y-Y/-Y/-Y/-Y/*Y,*Y,-Y/0Y20Y20Y2V  dlt| X9*   4* * e ;** * * ! "#9* , -/|L* e* * y* l* v* ***T*qv6 789*:4;K< YSYSYSYSYSYSYSYSYSY S YSYSYSYSYSYSYSYSYSYSYSYSYSYSY SY SY SY SY SYSYSYSuHzgt  ,   @!#%