4YѓnJdZddlmZddlZddlZddlmZmZddlm Z ej dZ ej dZ ej dZ ej d Zej d Zej d Zej d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZeezZ eezZ!eezZ"e#eZ$e#e Z%e#e!Z&e#e"Z'e#eZ(e#eZ)dZ*dZ+dZ,dZ-dZ.d Z/Gd!d"Z0Gd#d$e Z1dS)%z NATS network protocol parser. ) annotationsN)AnyDict) ProtocolErrors8\AMSG\s+([^\s]+)\s+([^\s]+)\s+(([^\s]+)[^\S ]+)?(\d+) sC\AHMSG\s+([^\s]+)\s+([^\s]+)\s+(([^\s]+)[^\S ]+)?([\d]+)\s+(\d+) s \A\+OK\s* s\A-ERR\s+('.+')? s \APING\s* s \APONG\s* s\AINFO\s+([^ ]+) sINFOsCONNECTsPUBsMSGsHMSGsSUBsUNSUBsPINGsPONGs+OKs-ERR s  izstale connectionzauthorization violationzpermissions violationc2eZdZd d dZddZd dZddd ZdS)ParserNreturnNonec<||_|dSN)ncreset)selfrs t/builddir/build/BUILD/imunify360-venv-2.6.2/opt/imunify360/venv/lib/python3.11/site-packages/nats/protocol/parser.py__init__zParser.__init__Gs strcd|jdS)Nz)staters r__repr__zParser.__repr__Ks;dj;;;;rcnt|_t|_d|_d|_i|_dS)Nr) bytearraybufAWAITING_CONTROL_LINErneeded header_neededmsg_argrs rrz Parser.resetNs.;;*  ') rrdatabytescN K|j||jr|jtkr't|j}|r |\}}}}}||jd<t||jd<|r ||jd<n d|jd<t||_ |jd| =t|_#t$rtdwxYwt|j}|r |\}}}}}}||jd<t||jd<|r ||jd<n d|jd<t||_ t||_|jd| =t|_#t$rtdwxYwt |j} | r|jd| = t"|j} | r~| } | d} |j| d{V|jd| =t,|j} | r=|jd| =|jd{Vt0|j}|r=|jd| =|jd{Vet4|j}|r~|d}t7j|}|j|d{V|jd| =t=|jt>krt@|jvrtddS|jtkr-t=|j|j tBzkrd}|jd}|jd}|jd}|jdkrhtE|jd|j}tE|j|j|j }|}|jd|j tBz=d|_n8tE|jd|j }|jd|j tBz=t|_|j#|||||d{VndS|j~dSdS) zv Parses the wire protocol from NATS for the client and dispatches the subscription callbacks. subjectsidreplyrNznats: malformed MSGrznats: unknown protocol)$rextendrr MSG_REmatchgroupsr#intr!endAWAITING_MSG_PAYLOAD ExceptionrHMSG_REr"OK_REERR_REdecodelowerr _process_errPING_RE _process_pingPONG_RE _process_pongINFO_REjsonloads _process_infolenMAX_CONTROL_LINE_SIZE_CRLF_ CRLF_SIZEr% _process_msg)rr$msgr'r(_r) needed_bytes header_sizeokerrerr_msgemsgpingponginfo info_linesrv_infohdrhbufpayloads rparsez Parser.parseUs hi z222ll48,,C C?Bzz||<a 29 Y/.1#hh U+ 849DL1147DL1&),&7&7  H[swwyy[1%9  $CCC+,ABBBCmmDH--CCLOJJLLIa \29 Y/.1#hh U+ 849DL1147DL1&),&7&7 -0-=-=* H[swwyy[1%9  $CCC+,ABBBC[[**26688,ll48,,!jjllG"1:,,..4466D'..t44444444437799-}}TX..488::.'//111111111}}TX..488::.'//111111111}}TX.. $ a 0I#z)*:*:*<*<==H'//999999999488::.tx==#888Vtx=O=O ((@AAAE333tx==DK)$;;;C"l95G,u-C L1E)A--$TX.B0B.B%CDD"'1Cdk1Q(R"S"S" H%>t{Y'>%>?-.**"'4;(?"@"@ H%>t{Y'>%>?!6DJ'..sGUGSQQQQQQQQQQEShi i i i i sBC''D&B#G G%r)r rr r)r)r$r%)__name__ __module__ __qualname__rrrrUrrr r Fsu<<<<****ooooooorr ceZdZdZddZdS) ErrProtocolz .. deprecated:: v2.0.0 r rcdS)Nznats: Protocol ErrorrZrs r__str__zErrProtocol.__str__s%%rNrV)rWrXrY__doc__r^rZrrr\r\s2&&&&&&rr\)2r_ __future__rr=retypingrr nats.errorsrcompiler+r2r3r4r8r:r<INFO_OP CONNECT_OPPUB_OPMSG_OPHMSG_OPSUB_OPUNSUB_OPPING_OPPONG_OPOK_OPERR_OPMSG_ENDrB_SPC_OKPINGPONGr@rCOK_SIZE PING_SIZE PONG_SIZE MSG_OP_SIZE ERR_OP_SIZEr r0rASTALE_CONNECTIONAUTHORIZATION_VIOLATIONPERMISSIONS_ERRr r\rZrrr}s#""""" %%%%%% \ ] ] "*j k k &'' - . . "*' ( ( "*' ( ( "*1 2 2              V^ CKK #b'' CII CII c&kk c&kk &3)~~~~~~~~B&&&&&-&&&&&r