A"  java/lang/Object()Vorg/freertr/tab/tabRoute lrn   (Ljava/lang/String;)V  org/freertr/rtr/rtrPvrpNeighlearnedLorg/freertr/tab/tabRoute;adv  adverted  othLrnd  othAdvtd org/freertr/tab/tabAverage " #(II)V % &'echoCalcLorg/freertr/tab/tabAverage;)org/freertr/util/notifier ( , -.notifLorg/freertr/util/notifier; 0 12lowerLorg/freertr/rtr/rtrPvrp; 4 56ifaceLorg/freertr/rtr/rtrPvrpIface; 89: ;<org/freertr/addr/addrIPv4 copyBytes()Lorg/freertr/addr/addrIPv4; > ?@rtrIdLorg/freertr/addr/addrIPv4; BCD ;Eorg/freertr/addr/addrIP()Lorg/freertr/addr/addrIP; G HIpeerLorg/freertr/addr/addrIP; K LIopeer NOP QRorg/freertr/util/bitsgetTime()J T UV lastHeardJ X YZsentMetI \ ]^sentMedZ ` aZ sentSegrou c dZsentBier f gZ gotMetric i j^ gotMeasure Bl mn compareTo(Lorg/freertr/addr/addrType;)I pqr stjava/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;v wxmakeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; z {stopWork }~ ^org/freertr/util/debugger rtrPvrpEvnt w8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;  org/freertr/util/loggerdebug  ^need2run  VupTime  startThread((Ljava/lang/Runnable;)Ljava/lang/Thread;  connLorg/freertr/pipe/pipeSide;  org/freertr/pipe/pipeSidesetClose()Z  clear  org/freertr/rtr/rtrPvrpIfaceneighsLorg/freertr/tab/tabGen;  org/freertr/tab/tabGendel.(Ljava/lang/Comparable;)Ljava/lang/Comparable; ,org/freertr/rtr/rtrPvrp ( wakeup 5Lorg/freertr/ip/ipFwdIface;  org/freertr/ip/ipFwdIfacebfdDel8(Lorg/freertr/addr/addrIP;Lorg/freertr/rtr/rtrBfdClnt;)Z oface  doRunjava/lang/Exception  traceback(Ljava/lang/Throwable;)V ^ldpSync fwdCoreLorg/freertr/ip/ipFwd;  org/freertr/ip/ipFwd ldpNeighFind9(Lorg/freertr/addr/addrIP;Z)Lorg/freertr/rtr/rtrLdpNeigh; ZmetricIn ^ acceptMetric Z dynamicMetric   getResult(I)I  ZseqRx isClosed()I lineGet(I)Ljava/lang/String; p trim()Ljava/lang/String; } ^ rtrPvrpTraf dumpFileLorg/freertr/util/logFil;  getTimestamp wJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;   org/freertr/util/logFiladdorg/freertr/util/cmdsrx   '(Ljava/lang/String;Ljava/lang/String;)V  signRxLjava/lang/String;   msgStatRx  org/freertr/util/keywordupdate-(Lorg/freertr/tab/tabGen;Ljava/lang/String;)V  wordsigned p  !equals(Ljava/lang/Object;)Z# missingSign % & sendErr(java/util/ArrayList ' +,- !java/util/List/ w 1 2 getRemaining 456 78org/freertr/user/userUpgrade calcTextHash$(Ljava/util/List;)Ljava/lang/String;:badSign < =ZseqTx ? @ msgStatTx B CsignTx H I linePut L M info v P Q sendLn  vUorg/freertr/rtr/rtrBgpUtil WXY Z[org/freertr/tab/tabListingmatches"(IILorg/freertr/addr/addrPrefix;)Z N] ^_random(II)I Na bcsleep(I)V e fIaddr viorg/freertr/prt/prtAccept k lmtcpCoreLorg/freertr/prt/prtTcp;oorg/freertr/pipe/pipeLine nr s(IZ)Vupvrp w xZ sendingTtl z {Z sendingTos h} ~(Lorg/freertr/prt/prtGen;Lorg/freertr/pipe/pipeLine;Lorg/freertr/ip/ipFwdIface;ILorg/freertr/addr/addrIP;ILjava/lang/String;ILjava/lang/String;II)V h c wait4conn h getConn(Z)Lorg/freertr/pipe/pipeSide;v  org/freertr/prt/prtTcp streamConnect(Lorg/freertr/pipe/pipeLine;Lorg/freertr/ip/ipFwdIface;ILorg/freertr/addr/addrIP;ILjava/lang/String;ILjava/lang/String;II)Lorg/freertr/pipe/pipeSide;  Z deadTimer  csetTime   org/freertr/pipe/pipeSide$modTyp modeCRtryLF"Lorg/freertr/pipe/pipeSide$modTyp;  lineRx  modeCRLF  lineTx   wait4ready(I)Z   ipInfoCfgLorg/freertr/sec/secInfoCfg;org/freertr/sec/secInfoCls  (Lorg/freertr/pipe/pipeSide;Lorg/freertr/prt/prtGenConn;Lorg/freertr/ip/ipPrt;Lorg/freertr/ip/ipFwd;Lorg/freertr/addr/addrIP;ILorg/freertr/addr/addrIP;)Vorg/freertr/sec/secInfoWrk  ;(Lorg/freertr/sec/secInfoCfg;Lorg/freertr/sec/secInfoCls;)V   ipInfoResLorg/freertr/sec/secInfoWrk;  doWork(Z)Z   need2drop notPingable notNeeded  ZencryptionMethod  org/freertr/serv/servGeneric proto2stringv  recvLn()Lorg/freertr/util/cmds; startEncryptstartEncryptRequiredv  org/freertr/sec/secClientopenSec_(Lorg/freertr/pipe/pipeSide;I[BLjava/lang/String;Ljava/lang/String;)Lorg/freertr/pipe/pipeSide;vorg/freertr/auth/authConstant  (Z)V  keyRsaLorg/freertr/cfg/cfgKey;  org/freertr/cfg/cfgKeykeyLorg/freertr/cry/cryKeyGeneric;org/freertr/cry/cryKeyRSA  keyDsaorg/freertr/cry/cryKeyDSA  keyEcDsaorg/freertr/cry/cryKeyECDSA  keyMlDsaorg/freertr/cry/cryKeyMLDSA  certRsaLorg/freertr/cfg/cfgCert;  org/freertr/cfg/cfgCertcert Lorg/freertr/cry/cryCertificate;   certDsa    certEcDsa   certMlDsa  org/freertr/sec/secServerb(Lorg/freertr/pipe/pipeSide;ILorg/freertr/pipe/pipeLine;Lorg/freertr/auth/authGeneric;Lorg/freertr/cry/cryKeyRSA;Lorg/freertr/cry/cryKeyDSA;Lorg/freertr/cry/cryKeyECDSA;Lorg/freertr/cry/cryKeyMLDSA;Lorg/freertr/cry/cryCertificate;Lorg/freertr/cry/cryCertificate;Lorg/freertr/cry/cryCertificate;Lorg/freertr/cry/cryCertificate;)Lorg/freertr/pipe/pipeSide;  ^ authenDisable  authentication N randomB  !" #$org/freertr/enc/encBase64 encodeBytes([B)Ljava/lang/String;v'password-request)passReqRequired p+ ,length. passTooSmallv1password-reply3passRepRequired5 badPassword 8 9^otherEnav < =@routerID ? @Zmtu B CZ bfdTrigger EFG Horg/freertr/cfg/cfgAllhostNameJ wK^(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;MopenO openRequiredQ? S Tname V WinamYrtrid p[ \] startsWith(Ljava/lang/String;)Z5 p` ab substring(II)Ljava/lang/String;T@ Nf ghstr2num(Ljava/lang/String;)Ijbfdlother Bn o] fromString q lrLorg/freertr/rtr/rtrPvrpOther; tuv w^org/freertr/rtr/rtrPvrpOtherforeign y z^ otherFrgn | }^connectedCheck  networkLorg/freertr/addr/addrPrefix;  Zorg/freertr/addr/addrPrefix(Lorg/freertr/addr/addrType;)ZvbadAddr  1Lorg/freertr/ip/ipIfc;org/freertr/pack/packHolder  (ZZ)V  org/freertr/ip/ipIfccreateETHheader:(Lorg/freertr/pack/packHolder;Lorg/freertr/addr/addrIP;I)Zvv  bfdAddJ(Lorg/freertr/addr/addrIP;Lorg/freertr/rtr/rtrBfdClnt;Ljava/lang/String;)Z  bfdWait(Lorg/freertr/addr/addrIP;I)ZbfdFail B isIPv4   warn-org/freertr/rtr/rtrPvrpNeigh$rtrPvrpNeighRcvr  ?(Lorg/freertr/rtr/rtrPvrpNeigh;Lorg/freertr/rtr/rtrPvrpNeigh;)V   startWork  Z helloTimer ( misleep  VechoTime  Z echoTimer  ' echoParam   updateFrom(Lorg/freertr/tab/tabAverage;)V N randomD  ZechoData/org/freertr/clnt/clntPing   'meas  fwd  src  Itrg  org/freertr/clnt/clntEcho    udpCoreLorg/freertr/prt/prtUdp;  udp   org/freertr/clnt/clntTwamp      /  ready2tx  doAdvert   error   getMetric/  ^ dynamicForbid w(Z)Ljava/lang/String;     segrouLab [Lorg/freertr/tab/tabLabelEntry;  Zorg/freertr/tab/tabLabelEntrylabel  Z segrouMax  wb   bierLab  ZbierLen  ZbierMax!! w"(III)Ljava/lang/String; $ %size ' ()get"(I)Lorg/freertr/tab/tabRouteEntry; + ,need2adv . /0find@(Lorg/freertr/tab/tabRouteEntry;)Lorg/freertr/tab/tabRouteEntry; 2 3"(Lorg/freertr/tab/tabRouteEntry;)Z 5 67 sendUpdate$(ZLorg/freertr/tab/tabRouteEntry;Z)V 9:; <= org/freertr/tab/tabRoute$addTypenotyet"Lorg/freertr/tab/tabRoute$addType; ?@A BCorg/freertr/tab/tabRouteEntrydiffersD(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;)I 9E F=always H IF(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;ZZ)V K Lothr2advNnomorePwithdrawR reachable T U^labels ?W XYbestLorg/freertr/tab/tabRouteAttr; [\] ^_org/freertr/tab/tabRouteAttrlabelLocLorg/freertr/tab/tabLabelEntry; a b^labelPop t e f_ commonLabelhorg/freertr/ip/ipMpls j kl othLabOutLorg/freertr/tab/tabListing; ?n oprefix q rs checkPrefix<(Lorg/freertr/tab/tabListing;Lorg/freertr/addr/addrPrefix;)Z u vllabelOut"/ [y zZ segrouIdx#| w}'(Ljava/lang/String;I)Ljava/lang/String; [ ZbierIdx$| [ ZbierSub%|  ip2str1(Lorg/freertr/addr/addrPrefix;)Ljava/lang/String; [ Zmetric  Z metricOut [ Ztag [ ZrouSrc [  clustListLjava/util/List;  8org/freertr/tab/tabRouteUtil dumpAddrList& wq(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZLjava/lang/String;Ljava/lang/String;)Ljava/lang/String;  m!(Lorg/freertr/rtr/rtrPvrpNeigh;)Ijava/lang/Runnableorg/freertr/rtr/rtrBfdClntjava/lang/Comparable Signature5Lorg/freertr/tab/tabRoute; gotSegrouBeg gotSegrouMax gotBierBeg gotBierLen gotBierMaxn(Lorg/freertr/rtr/rtrPvrp;Lorg/freertr/rtr/rtrPvrpIface;Lorg/freertr/addr/addrIPv4;Lorg/freertr/addr/addrIP;)VCodeLineNumberTabletoString bfdPeerDown StackMapTablerunsendWrn(Lorg/freertr/tab/tabListing;Lorg/freertr/addr/addrPrefix;)Z[B?(ZLorg/freertr/tab/tabRouteEntry;Z)V(Ljava/lang/Object;)IMethodParametersxLjava/lang/Object;Ljava/lang/Runnable;Lorg/freertr/rtr/rtrBfdClnt;Ljava/lang/Comparable; SourceFilertrPvrpNeigh.java NestMembersBootstrapMethods pvrp with starting peer  ()stopping peer  () rx   rx  signed   tx   tx sent error () to error sent warning () to  warning  accepting  connecting startEncrypt secure client secure server password-request password-reply  other=(open rtrid= mtu= bfd= iface= name=#got from out of other subnet peer mtu mismatch with bfd mismatch with neighbor  () upecho  keepalive neighbor  () downmetric measme  segrou   bier     label=   segrou=  bieri=  biers=/ prefix= metric= tag= external= path=    w$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; InnerClassesmodTyprtrPvrpNeighRcvraddType%java/lang/invoke/MethodHandles$Lookup java/lang/invoke/MethodHandlesLookup!#HILITW?@gZj^ZZZZZVZ&'UV-.1256VYZ]^aZdZCZ=Z^**Y *Y *Y *Y *Y!$*(Y*+*+/*,3*-7=*AF*AJ*MS*W*[*_*b*e*hRPUZ+_8EPUZbkt{m$ *F+Fk% *Fou!*y n5|*=o*Fo*MS**M*W#(/4{|*=o*Fo*<** *W*****3*W*/*3*F*W*3*3*J*W*+J!&- 5 < C JQUak{ +3j* *L+*y"  $"#%&  Bd*3ș*/*Fլ*3<*3ٙ*e*e*e<*h*3*$߬. . /03'4@5E7L8N:Y;[= % *Y`**L+L*Fo+*3*3*Fo+Y+ M* *3+,,L+ *"$,L'Y)N-* *W-*.*W-,0*W-* *W+-3 *9$*3,0,rF GHJ K%L+M;OEP_RkSrT}UWXYZ\]^_`abcdfg$p#Q+$Q *Y;`;+L*3>+*AD'Y)M,*A*W,*;.*W,+*W,*A*W,3+DL*Fo+E*3*3*Fo+F*+GBp qrs!t)u4vDwLxWyb{h|x~b#& C+*FoJK*+NO*y ;+*FoRK*+SOrsB++,V @ e* *W****\`*F*3dkg|*FoghY*/jnYpq*3 *Ft*3v*3y|L+u0*+S|*Fo**/jnYpq*3*F t*3v*3y***3h****3*3SY*/*F*3dL*Y*3+*W* *$* *$*3ÞZ**3øƺO*L+Yз L+M,Ҷ *Զ$*F*3dk4|*Fo***3и׵|*Fo***3ûnYpqY*3*3*3*3*3*3*3 *3***3h****3W* *$*3z*3pL=++T+M*,%O*N-Yз N-:& *($-:* *-$'Y):*W,*W*3*W*W,*W*3/O*N-Yз N-:0 *2$'Y):,*W*W*3*W,*W*W3:- *4$*,*36 **3,6A* *$L*37*3do:L**/;o*3>+*3A*3oDIO*M,Yз M,L *N$*PR*PU**FAJ>6,L+*+XZ+^Z*++*_U+cZ*++*_R+dZ++*_e>+iZ++*_e6|+kZr*J++*_mW]*37*/ps *3x**FAJV*3{.*3~*J*JoK*$*3Y*JW*3>*FoK*3A*FoK* *$*3Az*3*F*tW*3*F*3 *$*F*J6*3*J*tW*3*J*3 *$* *$*****R*FoY***/*3A:*3*F*tW*F*J*3*J*tW 7*t*+*3WM7**3a*$*3*3ܪ 7r*Ƶ**ɺOY:  *$ */˵ *3 *F ܧvY:  *$ */ *3 *F ;Y:  *$ */ *3 *F * e*3a**3O e7****y*R*Fo~$+7KQ`!+<=Gi| 6<K*08?EJTY]kq|    !*4CLV ]!i"p#q%&()*,-.012356$7%9,:3;><@=C?H@PASC]D`FjGxH{JKLNOPRSTVWX[ \^"_6`EaLbMekgyhjkmnoqrstuwxy2z9{:AHIPW^ex8?LOXamy   & , 6 9 F J M Q d>PN:5Y3p(2%pppb+X% pH  4CC [::7& @*<*W*W**WO*[*3#**3[**[O<*/ */ 2 <*_*_**/O<*/*/2 <*b *b**/*/ O=<*#K*&N-5*3*--$**-1W*-4<*3*#V*3*&N-=-8*-->(**D-G*-4<*#K*&N-5*3J--$**-1W*-4<*3J#V*3J&N-=-8*-->(**D-G*-4 *MOG -8MOYfns )59<NQ^_lsv|     $+.48 ?"V!d$?  ? ?  ?  67@ a O:Q:6*/S,VZ,VZ 6=*3`*/pcd 6**3i,mp=67*3`*/˴d 6**3t,mp6: w:*/ ,Vx,Vx{:*/-,V~#,V~:,V:*,m,V*3`,V,V~*/;o,VOf&' )+,(-4.8/W0Z2l3r679:>?@BCEFGI`Ja pHp#31?ppppp?pppppAm! *+-'   "@9@!