7org/freertr/prt/prtTcp  org/freertr/prt/prtGen()V  fwdCoreLorg/freertr/ip/ipFwd;  org/freertr/ip/ipFwdprotoAddM(Lorg/freertr/ip/ipPrt;Lorg/freertr/ip/ipFwdIface;Lorg/freertr/addr/addrIP;)Zfin  org/freertr/util/bitsbit2str((IILjava/lang/String;)Ljava/lang/String;synrst ack"psh$urg&ece(cwr*ns, -.makeConcatWithConstants(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;0org/freertr/enc/encTlv /2 3(IIIIIIIIIIZ)V 567 89org/freertr/pack/packHoldergetByte(I)I /; <=valTypI /? @=valSiz 5B CDgetSkip(I)V /F GHgetBytes (Lorg/freertr/pack/packHolder;)Z 5J KLdataSize()I N OP getTCPoption7(Lorg/freertr/pack/packHolder;)Lorg/freertr/enc/encTlv; RST UVorg/freertr/util/debugger prtTcpTrafZX -Y(I)Ljava/lang/String; [\] ^_org/freertr/util/loggerdebug(Ljava/lang/String;)V /a bcvalDat[B e fgmsbGetW([BI)I 5i j=TCPmss 5l m=TCPwsc 5o p=TCPsak r sgmsbGetD 5u v=TCPack 5x y=TCPtsV 5{ |=TCPtsE 5~ =TCPaut 5 putByte(II)V 5 DputSkip  msbPutW([BII)V / putThis (Lorg/freertr/pack/packHolder;)V  =org/freertr/cfg/cfgAll tcpSegmentMin = tcpSegmentMax 5 f9 5 =UDPsrc 5 =UDPtrg 5 =TCPflg 5 =UDPsiz   parseTCPports 5 IPsrcLorg/freertr/addr/addrIP;  java/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String; -&(Ljava/lang/String;)Ljava/lang/String; [ _info V tcpChecksumRx 5 9 pseudoIPsum 5 getIPsum(III)I 5 s9 5 =TCPseq 5 =TCPwin 5 =TCPurg  Y decodeFlags -,(IILjava/lang/String;IIII)Ljava/lang/String;  parseTCPoptions!(Lorg/freertr/pack/packHolder;I)Z 5 D setBytesLeft 5 D unMergeBytes  replaceMSSoption 5 putFill(III)V 5 LheadSize 5 V tcpChecksumTx 5 putIPsum 5 lsbPutW 5  merge2beg  org/freertr/addr/addrIPisIPv4()Zorg/freertr/addr/addrIPv4  toIPv4()Lorg/freertr/addr/addrIPv4;  toBuffer([BI)V org/freertr/addr/addrIPv6   toIPv6()Lorg/freertr/addr/addrIPv6;    org/freertr/cry/cryHashGenericupdate([B)V  hashOneAddress<(Lorg/freertr/cry/cryHashGeneric;Lorg/freertr/addr/addrIP;)V 5 IPtrg  msbPutD!org/freertr/cry/cryHashHmac#org/freertr/cry/cryHashSha1 " & G'()[B  ) *%(Lorg/freertr/cry/cryHashGeneric;[B)V  , -init  / D1TCP-AO    4 5'finish7org/freertr/cry/cryHashMd5 6 6, ; <= hashPseudoHdr@(Lorg/freertr/cry/cryHashGeneric;Lorg/freertr/pack/packHolder;)V 5? @AhashHead%(Lorg/freertr/cry/cryHashGeneric;II)V 5C DAhashData 6 64 H IJbyteCopy ([BI[BII)V 5L M=IPprtO -P>(IILjava/lang/String;IIIILjava/lang/String;)Ljava/lang/String; /R STputBytes$(Lorg/freertr/pack/packHolder;II[B)V 5V  X YZgetTCPpassword6(Lorg/freertr/pack/packHolder;ILjava/lang/String;[B)[B 5\ ]^putCopy([BIII)V 5` a(ZZ)V 5c dclear f ghsetAddr(Lorg/freertr/addr/addrType;)V 5j kVIPdf 5m n=IPfrg 5p q=IPalrt 5s t=IPttl 5v w=IPtos 5y z=IPid | }~createTCPheader5(Lorg/freertr/pack/packHolder;ILjava/lang/String;[B)V   protoPackT(Lorg/freertr/ip/ipFwdIface;Lorg/freertr/addr/addrIP;Lorg/freertr/pack/packHolder;)V  org/freertr/prt/prtGenConnprotoDatLjava/lang/Object;org/freertr/prt/prtTcpConn  lck  =netOut   pipeNetworkLorg/freertr/pipe/pipeSide;  org/freertr/pipe/pipeSidenonDestructiveGet([BII)I  =portLoc  =portRem  =seqLoc  =seqRem  L freeAtServer  = tcpWinScale  =tmstmpTx  =tmstmpRx  getTime()J  ifaceLorg/freertr/ip/ipFwdIface;  org/freertr/ip/ipFwdIfaceaddr  peerAddr  =sendTTL  =sendTOS  VecnTx  VecnRx  VecnRe  =sendDFN  =sendFLW  =keyId  passwdLjava/lang/String;  ctrfKtx  = tcpRangeMin  = tcpRangeMax  random(II)Istart  =sendPRT   =netMax  = tcpTimeSyn  =timeout  = tcpTimeWork  = workInterval  = tcpTimeNow    activWaitJ   V activFrcd  LrandomD  V tcpTimStmp   staTim  VtcpSack  VsackTx  =state  != tcpTimeOpen # $% getTCPkdfRngM(Lorg/freertr/addr/addrIP;Lorg/freertr/addr/addrIP;IIILjava/lang/String;II)[B ' (ctrfKrx * +ctrfKfx - .9 regulateMss 0 1=segSiz 3 4VtcpEcn 6 78 sendResetBack;(Lorg/freertr/pack/packHolder;Lorg/freertr/ip/ipFwdIface;)V:refuse<close > ? pipeClient A BsetClose D ELready2rx G H= tcpTimeClose J KLready2tx 5M NOpipeSend!(Lorg/freertr/pipe/pipeSide;III)I@Rresumed T U  ackedLast W XsetReady  5] ^^getCopy ` abbyteComp ([BI[BII)I   g h= tcpTimeLaterlaccepted n op spoofCheck(I)Zu got reset w x setClosing z {deleteImmediately ~ 9 nonBlockSkipopenedgot future sequence number  =sackRxgot data with fin  VseenFingot old data again  H send2serverupper don't need dataclosing  = tcpTimeFin   sendMyPacket"(Lorg/freertr/prt/prtGenConn;III)I   error2server\(Lorg/freertr/pack/packHolder;Lorg/freertr/addr/addrIP;Lorg/freertr/util/counter$reasons;I)V  = tcpTimeStuck  = tcpTimeAlive  LisClosed    activLast  = tcpTimeMax  V tcpKeepalive  cntrLorg/freertr/util/counter;  org/freertr/util/counterrx  HparseTCPheader   org/freertr/util/counter$reasonsbadHdr"Lorg/freertr/util/counter$reasons;  dropB(Lorg/freertr/pack/packHolder;Lorg/freertr/util/counter$reasons;)V -  connectionSimpleWork;(Lorg/freertr/ip/ipFwdIface;Lorg/freertr/pack/packHolder;)V   reason2string6(Lorg/freertr/util/counter$reasons;)Ljava/lang/String; -:(Ljava/lang/String;IILjava/lang/String;)Ljava/lang/String;  connectionSimpleErrorv(Lorg/freertr/util/counter$reasons;Lorg/freertr/addr/addrIP;Lorg/freertr/ip/ipFwdIface;Lorg/freertr/pack/packHolder;)V  connectionSimpleState=(Lorg/freertr/ip/ipFwdIface;Lorg/freertr/util/state$states;)Vsize ConstantValueprotoNumflagFINflagSYNflagRSTflagPSHflagACKflagURG flagECE@flagCWRflagNS flagSynAck flagFinAck flagRstAck flagPshAck flagSynFinRstflagSynFinRstAck flagSynFin flagSynRst flagFinRst winSizMin winSizMax maxSegMax pshNetOut@(Lorg/freertr/ip/ipFwd;)VCodeLineNumberTable StackMapTableupdateTCPheader%(Lorg/freertr/pack/packHolder;IIIII)Vcjava/lang/Objectjava/lang/ThrowabletoString()Ljava/lang/String; getProtoNumtestPortNumbergetRandomPortNumconnectionStart=(Lorg/freertr/prt/prtGenConn;Lorg/freertr/pack/packHolder;Z)ZconnectionRefuseconnectionClose(Lorg/freertr/prt/prtGenConn;)VconnectionBytes(Lorg/freertr/prt/prtGenConn;)IconnectionSend<(Lorg/freertr/prt/prtGenConn;Lorg/freertr/pack/packHolder;)ZconnectionRcvd<(Lorg/freertr/prt/prtGenConn;Lorg/freertr/pack/packHolder;)VconnectionErrorx(Lorg/freertr/prt/prtGenConn;Lorg/freertr/pack/packHolder;Lorg/freertr/addr/addrIP;Lorg/freertr/util/counter$reasons;I)VconnectionWorkrecvPack alertPack;(Lorg/freertr/ip/ipFwdIface;Lorg/freertr/pack/packHolder;)Z errorPacksetState SourceFile prtTcp.javaBootstrapMethods;        =option ?got too small from Agot truncated from Cgot bad checksum from E%rx  ->   seq= data= ack= sack=G+tx  ->   seq= data= ack= sack= pwd=Itcp on Kgot missing authentication M"got invalid authentication state O!got invalid authentication size Q!got invalid authentication hash Sgot unwanted authentication Ugot both syn fin Wgot unwanted synack Y"bad acknowkedge number in synack [got far sequence number ]got far acknowledge number _got rst with other controls agot future acknowledge number cnet buffer underflow egot data with control flags ggot data while not open igot unwanted syn kgot fin while not open mgot invalid flags oinvalid state q rec  ->  s   ->  u vwx -y$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; InnerClassesreasons}org/freertr/util/state$statesorg/freertr/util/statestates%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup!================= =  = = ===="6**+ +* W !*  Yu M! #@%')+*;L OP ^/Y1L*+*4=-+:+>*A +*E+2 $@EJORZ\/! #*I*MM,Q,:WZ,:N*,`dh?*,`3~k.*n&*,`q*tdn*,`qw*,`qz**Id,>`}b &  ! / l*ML+b+:S"0*A***h+`d+`*h+*+*B ,128=@O[`chk /  .9J;;  c7****** **~ |*Y~ *6 H~*****I*,**I<**Iğ***Ƶ**Ƶt*****A*d<Q,*****Id*t*nZ*I=*d>*dr  !#)$8%:'@(I)X*g+i.r/|023456769:<=>? .c **6@*h***I6*A***d6*td***** ****9*`*I`6*`6**I6*d*`*`*#MN OPQR S$T*U0V8W>XGYQ[U\[]`_d`jaocsdzeghiklmnoprstu QB z/+M+N-,M+ N-,*,* yz {|}~#).  <=V*+*++M,,+I+`M,+I+`,*,. %6;IPU 6 $%   Y"Y$%(:+.0%2*+:    2  2  2..3:  Z #(.9?EJQX_gnv} YZ[:6Y8:9*:*>**IB,%EF- Y"Y$-(:+2*:***}d>.. 2***}d`*}d>**IB3::TT Gj !,5;?ARW_eu{; }~*KQ+*****I*t*n,NZ*h#M:`*h*`Q*wC***M:`*w`*z*`Q*nd***M:*n*`Q5`*n*t``*n*t`*`Q*k-M:`*kT*`Q**,KM:,****`Q*}*`Q*}*`6*******ȶU**tU* *~ x**˶***ζ3**I`6*6**I6*d***,**t**,-W:*d[3**I`6*6**I6*d**6M  14;AN[bhnsy #06;?EIOUZir   $(.2 3"9#@$G%P&U'e)k*x+,-/01& 4&F5/106/1578o+~5Y_N-b-h-k-z-w-n-+-+-+t-+ȵt----+e-+e-i-l-o-r-u-x+~ -Yt`t+~ -Yt`t-{* ,-~: ; =>?@"A'B,C1D9EAFIGQHWI^JcKnLyM~NOPQRSTVWYZ[  5 +:5Y_:Y:bI`:+`d>ì[hk++`tnYd>+ d666|z`w+e+eilo+ĵr+ǵuʙJu uu~u͙Y@ЙY+i+ֵx~YdhkY`ç :  ++{* +RS;^ _`a"b&c1dIeNfShaigjllrmxnopqrstuvxyz|}&28>DMV^fl| qS 5U 1T#M5 55,5 % * !L"pCĤ #L" $% Q Z+Y:+++    `,Q+++++++d"++++++,"&++++++d,ȸ"++++++,d"),w ,h,//2,@~,n,`,~*,+5& #)07@FNT^fjnv|<CIU_yG Q&2k5V5 &@Q 9Z*,+5  '(Y+MQ ;Z+=@W+@W+C,,,+F,, 2   $ 8 = DKSX /)*E+=I==+,D,I>,+=L *+@ op8P /@-. T 8+N-Y:-,~ñQ QZ-,t-,ȵ-++++++--"&-++++++--"-,h,/--/---- --S+VW++.,}$-6,~-+Yñ-[-++++++,-d"&-++++++-d,ȸ"),,tA,,,,t,,++-&W:+Zñ,,}td4`+[ñ:,,}t\_+cñ,}+dñ,t-d6-,d6,I6d6,~6 - -,w-ʙG-Y,~~-Y,u~-,@~ ~+eñ --f+iñ-f+jñ-,`Q kZ,z--2,@~-,n-,h,/---)--- --S+VW+ñm+qñ ~m+rñ ~9 ~+sñQ tZ-+vW+yWñ ~+C+ ~ -Y`+|-f6k+}6  +ñ-Y `-Y d---Y-/`- --S,n---/-- -=Q Z---- --S+VW+2Q Z-f-ñ- -tñ, ~Q Z6  ~+ ~-Z-+vW+yWñ+-,-Y`-ñ+vW+yWñññQ Zñ,A+,1Q Z-ñ-- -ñ-Y`- -ñ '-+ñ--)&ñ ~--BQ Z+vW---- -Y`+ñ-*--Y`*+W+vW+yWñ-ñ+ñ+ç :  "%/&///// /////// /o/p:/;J/K//////#/$:/;S/Tq/r}/~// / /,//4/9:;<"=&?,@2B:CBDlEFGHIJKLMNPQRSTWX:Yf[o\w]^_`abdefhijkln pqr u+v6w<xCyLzS{[}b~{ $=T_emt| ")3?GJOZ`lp{ "(07;@GKPW]cfmy    ! "$$,%1&7';)F*K+P,T.Z/b0n1r3z4~6789:<=>?@ABCEFGHIJKM N PQS)T7UrE& ._G"4: 5 5 5 5 5R 5& T 5U 5G $%!-%#    2. 5/03,,A+,-abc1( w+MB,%+C6,!S@!,Se6, (",+6 ,f3Q Z+,, ,,!,!, 6, 6,d6,,d6   6,/ ,/66,@6!*+,6 6*+,W, !,e,,Yi, ,,!, ,)Osv*+,ʙ@,W*+2 W*+W!,ep,h*+W!,eP,H*+,W,,/,!+yW++vW+yWGkl mno$p)rFsSt[urwzyz{}~"%*7LMYemrw )1HPUX]`lqvO&)@&# " 6   2}?*,,ř*,ȶαQ,,,ѺZ*+,Ա"!8>345d3Q!+ѺZ*+,-߱ )2)6#*+, 789t:t<t>t@tBtDtFtHtJtLtNtPtRtTtVtXtZt\t^t`tbtdtfthtjtltntptrz{@|~@