f~gdZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z ddl m Z mZddlmZejZ ddlZddlmZmZmZmZn#e$rejdkrdZYnwxYwd Zd Ze jZd Zd gZe ed rd Zed gz Zejdkrd Zed gz ZefdZ!dZ"dZ#dZ$dZ%GddZ&erGdde&Z'Gdde&Z(Gdde)Z*dhZ?d>d3Z@n#ddlAZAe eAd4reAjBZCneAjDZCd>d5Z@ejdkr0d6ZEd7ZFejGe(eEd8ZHd9ZIejGe'eHdSd:ZEd;ZFejGe(eEdS)?)ClientListenerPipewaitN)util)AuthenticationErrorBufferTooShort) reduction) WAIT_OBJECT_0WAIT_ABANDONED_0 WAIT_TIMEOUTINFINITEwin32i g4@AF_INETAF_UNIXAF_PIPEc.tj|zSNtime monotonic)timeouts A/opt/alt/python311/lib64/python3.11/multiprocessing/connection.py _init_timeoutr<s >  g %%c0tj|kSrr)ts r_check_timeoutr?s >  a rc |dkrdS|dkr'tjdtjS|dkr>tjdt jt tfzdStd ) Nr) localhostrrz listener-)prefixdirrz\\.\pipe\pyc-%d-%d-zunrecognized family) tempfilemktempr get_temp_dirosgetpidnext _mmap_counter ValueErrorfamilys rarbitrary_addressr/Fs 9  kt7H7J7JKKKK 9  &< " T--@-@A'BGIKKK K.///rc tjdkr|dkrtd|ztjdkr-|dkr)tt|std|zdSdSdS)NrrzFamily %s is not recognized.r)sysplatformr,hasattrsocketr-s r_validate_familyr5Ts |w6Y#6#67&@AAA |w6Y#6#6vv&& F;fDEE E#6#6 F Frc t|tkrdSt|tur|drdSt|tust j|rdSt d|z)Nrz\\rrzaddress type of %r unrecognized)typetuplestr startswithris_abstract_socket_namespacer,)addresss r address_typer=`s  G}}y g#  '"4"4V"<"< y g#  !B7!K!K y:WDEEErceZdZdZddZdZdZdZdZdZ e d Z e d Z e d Z d Zd ZddZdZddZddZdZddZdZdZdS)_ConnectionBaseNTc|}|dkrtd|s|std||_||_||_dS)Nrzinvalid handlez6at least one of `readable` and `writable` must be True) __index__r,_handle _readable _writable)selfhandlereadablewritables r__init__z_ConnectionBase.__init__vsm!!## A::-.. . J JHJJ J !!rc@|j|dSdSrrB_closerEs r__del__z_ConnectionBase.__del__s# < # KKMMMMM $ #rc2|jtddS)Nhandle is closed)rBOSErrorrMs r _check_closedz_ConnectionBase._check_closeds! < ,-- - rc2|jstddS)Nzconnection is write-only)rCrQrMs r_check_readablez_ConnectionBase._check_readables%~ 6455 5 6 6rc2|jstddS)Nzconnection is read-only)rDrQrMs r_check_writablez_ConnectionBase._check_writables%~ 5344 4 5 5rcf|jrd|_n|td)NFzbad message length)rDrCcloserQrMs r_bad_message_lengthz#_ConnectionBase._bad_message_lengths1 > "DNN JJLLL*+++rc |jduSrrBrMs rclosedz_ConnectionBase.closeds.|t##rc |jSr)rCrMs rrGz_ConnectionBase.readable 0~rc |jSr)rDrMs rrHz_ConnectionBase.writabler^rc: ||jSr)rRrBrMs rfilenoz_ConnectionBase.filenos9 |rcj |j* |d|_dS#d|_wxYwdSrrKrMs rrXz_ConnectionBase.closesE" < # $ # t #### $ #s' 0rc ||t|}|jdkr|d}|j}|dkrt d||krt d|||z }n-|dkrt d||z|krt d|||||zdS)NrBrzoffset is negativezbuffer length < offsetzsize is negativezbuffer length < offset + size)rRrV memoryviewitemsizecastnbytesr, _send_bytes)rEbufoffsetsizemns r send_bytesz_ConnectionBase.send_bytess:   sOO :>>s A H A::122 2 v::566 6 <v:DD AXX/00 0 d]Q  <== = 6&4-/011111rc |||t|dSr)rRrVri_ForkingPicklerdumpsrEobjs rsendz_ConnectionBase.sendsQ'   ..s3344444rc ||||dkrtd||}|||S)Nrznegative maxlength)rRrTr, _recv_bytesrYgetvalue)rE maxlengthrjs r recv_bytesz_ConnectionBase.recv_bytess     Y]]122 2y)) ;  $ $ & & &||~~rcJ ||t|5}|j}|t |z}|dkrt d||krt d|}|}|||zkr!t| | d| |||z||z|z|cdddS#1swxYwYdS)Nrznegative offsetzoffset too large) rRrTrerflenr,rwtellr rxseekreadinto)rErjrkrmrfbytesizeresultrls rrecv_bytes_intoz_ConnectionBase.recv_bytes_intoso    __ zH#a&&(Hzz !2333("" !3444%%''F;;==D&4-''$V__%6%6777 KKNNN OOAf0%}9:; < < <!                  sCDDDc |||}t|Sr)rRrTrwrqloads getbuffer)rErjs rrecvz_ConnectionBase.recvsV*    $$S]]__555rc~ ||||Sr)rRrT_pollrErs rpollz_ConnectionBase.polls;=  zz'"""rc|SrrMs r __enter__z_ConnectionBase.__enter__ rc.|dSrrXrEexc_type exc_valueexc_tbs r__exit__z_ConnectionBase.__exit__ r)TT)rNr)r)r)__name__ __module__ __qualname__rBrIrNrRrTrVrYpropertyr\rGrHrarXrorurzrrrrrrrrr?r?sssG " " " "...666555,,,$$X$XX $$$2222(555    2666#### rr?cFeZdZ dZdZejfdZdZddZ dZ dZ dS) PipeConnectionFNc`|j}||||jdSr)_send_ovcancelrB)rE _CloseHandleovs rrLzPipeConnection._closes3B~ L & & & & &rc|jtdtj|j|d\}}||_ |tjkr!tj|jgdt}n#| xYwd|_| d\}}n$#d|_| d\}}wxYw|tj krttjddS)Nz/concurrent send_bytes() calls are not supportedT overlappedFrP)rr,_winapi WriteFilerBERROR_IO_PENDINGWaitForMultipleObjectseventrrGetOverlappedResultERROR_OPERATION_ABORTEDrQerrnoEPIPE)rErjrerrwaitresnwrittens rrizPipeConnection._send_bytess}( "5666' cdKKKGBDM ='222%< E855G   $ " 6 6t < < ##!% " 6 6t < < #<<<<g555ek+=>>> 65s1A0/B*0BB**!C c|jrd|_tjS|dnt|d} t j|j|d\}} |tjkr!t j|j gdt}n#| xYw| d\}}|dkr>>&  OPP PsgF21B D$ B  D$#AF2=%F2#F2$AF.F2(F.+F2-F..F22 G<GGc|js#tj|jddkrdSt t |g|S)NrT)rr PeekNamedPiperBboolrrs rrzPipeConnection._pollVsI' -dl;;A>!CCtdVW--.. .rc|}tj}||t j|jd}|*t||z|kr|t j |j|d\}}| d\}}|||S)NrTr) rrrrrrrBr|rYrr)rErrrjrleftrrbytess rrzPipeConnection._get_more_data\s,,..C A GGCLLL(66q9D"s3xx$'@'@((***&t|TdKKKGB0066KFC GGBLLNN # # #Hrr) rrrrrr CloseHandlerLrirwrrrrrrr s #&-&9 ' ' ' ' ( ( (4 Q Q Q Q@ / / /     rrceZdZ erejfdZejZej Z ne j fdZe j Ze jZ efdZe fdZdZd dZdZdS) Connectionc&||jdSrr[rErLs rrLzConnection._closes F4< rc&||jdSrr[rs rrLzConnection._closexrrctt|} ||j|}||z}|dkrdS||d}))NTr)r|rB)rErjr remainingrns r_sendzConnection._send}sNHH  dlC((A NIA~~abb'C  rctj}|j}|}|dkr]|||}t|}|dkr||krtt d||||z}|dk]|S)Nrzgot end of file during message)rrrBr|rrQr)rErlreadrjrFrchunkrns r_recvzConnection._recvsjll !mmD++EE AAvv$$"N!"BCCC IIe    NI!mm rct|}|dkrktjdd}tjd|}||||||dStjd|}|dkr,||||dS|||zdS)Ni!i!Qi@)r|structpackr)rErjrn pre_headerheaders rrizConnection._send_bytess HH z>>T2..J[q))F JJz " " " JJv    JJsOOOOO[q))F5yy 6""" 3  6C<(((((rNcD|d}tjd|\}|dkr>|d}tjd|\}|||krdS||S)Nrrr)rrunpackrx)rErrjrls rrwzConnection._recv_bytessjjmm dCLLNN33 2::**Q--CM$ 77ED  4'>>4zz$rcBt|g|}t|Sr)rr)rErrs rrzConnection._polls $ ! !Awwrr)rrrr_multiprocessing closesocketrLru_writer_readr(rXrrrrrirwrrrrrrls   0 < ! ! ! !!& % " ! ! ! !% % ))).    rrc\eZdZ d dZdZdZedZedZdZ d Z dS) rNrc8|p|rt|pt}|pt|}t||dkrt |||_nt ||||_|$t|tstd||_ dSNrzauthkey should be a byte string) r=default_familyr/r5 PipeListener _listenerSocketListener isinstancebytes TypeError_authkey)rEr<r.backlogauthkeys rrIzListener.__init__s#G= W(=(=#" 6.v66   Y  )'7;;DNN+GVWEEDN  z'5'A'A =>> > rc |jtd|j}|j*t ||jt ||j|S)Nzlistener is closed)rrQacceptrdeliver_challengeanswer_challenge)rEcs rrzListener.acceptsd > !.// / N ! ! # # = $ a / / / Q . . .rcT |j}|d|_|dSdSr)rrX)rElisteners rrXzListener.closes; >  !DN NN      rc|jjSr)r_addressrMs rr<zListener.addresss ~&&rc|jjSr)r_last_acceptedrMs r last_acceptedzListener.last_accepteds ~,,rc|SrrrMs rrzListener.__enter__rrc.|dSrrrs rrzListener.__exit__rr)NNrN) rrrrIrrXrr<rrrrrrrrs       ''X'--X-rrc" |pt|}t||dkrt|}nt|}|$t |t st d| t||t|||Sr) r=r5 PipeClient SocketClientrrrrr)r<r.rrs rrrs ,|G,,FV  w    ! !:gu#=#=9:::G$$$!W%%% HrTc |rtj\}}|d|dt|}t|}n8t j\}}t|d}t|d}||fS)NTFrHrG)r4 socketpair setblockingrdetachr(pipe)duplexs1s2c1c2fd1fd2s rrrs   1&((FB NN4 NN4 BIIKK((BBIIKK((BBwyyHCC%000BC%000B2v rc  td}|r4tj}tjtjz}t t }}n!tj}tj}dt }}tj||tjztj ztj tj ztj zd||tj tj}tj||dtjtjtjtj}tj|tj ddtj|d}|d\} } t)||} t)||} | | fS)NrrrTrr r )r/rPIPE_ACCESS_DUPLEX GENERIC_READ GENERIC_WRITEBUFSIZEPIPE_ACCESS_INBOUNDCreateNamedPipeFILE_FLAG_OVERLAPPEDFILE_FLAG_FIRST_PIPE_INSTANCEPIPE_TYPE_MESSAGEPIPE_READMODE_MESSAGE PIPE_WAITNMPWAIT_WAIT_FOREVERNULL CreateFile OPEN_EXISTINGSetNamedPipeHandleStateConnectNamedPiperr) rr<openmodeaccessobsizeibsizeh1h2r_rrrs rrr(s\ $I..  (1H)G,AAF$gFFF2H*FFF  $ X <<  12  %(E E    vvw; L  VQ g.C  (', ' -tT   -bTBBB //553B 0 0 0 B 0 0 02v rc$eZdZ ddZdZdZdS)rrctjtt||_ tjdkr0|jtjtjd|jd|j ||j ||j |_ n(#t$r|jwxYw||_d|_|dkr>t#j|s*t#j|tj|fd|_dSd|_dS)NposixrTrrargs exitpriority)r4getattr_socketr(name setsockopt SOL_SOCKET SO_REUSEADDRr bindlisten getsocknamerrQrX_familyrrr;Finalizeunlink_unlink)rEr<r.rs rrIzSocketListener.__init__XsF}WVV%<%<==  w'!! ''(9(.(;Q@@@ L $ $T * * * L  g & & & L   ( ( ( L4466DMM    L     " Y  t'H'Q'Q =biwjqDLLL DLLLs B,C%Dc|j\}|_|dt |SNT)r7rrr rrrEss rrzSocketListener.acceptqsE!%!4!4!6!64  d!((**%%%rc |j|j}|d|_|dSdS#|j}|d|_|wwxYwr)r7rXrB)rErAs rrXzSocketListener.closevsr  L   \F!# "!\F!# "s 9AN)r)rrrrIrrXrrrrrTsK    2&&& rrc: t|}tjtt|5}|d||t |cdddS#1swxYwYdSrD)r=r4r6r connectrr)r<r.rFs rrrs' " "F // 1 1&Q d '!((**%%&&&&&&&&&&&&&&&&&&sA BBBc<eZdZ ddZddZdZedZdS) rNc||_|dg|_d|_t jd|jt j|tj|j|jfd|_ dS)NT)firstz listener created with address=%rrr3) r _new_handle _handle_queuerr sub_debugr@r_finalize_pipe_listenerrX)rEr<rs rrIzPipeListener.__init__su#DM"&"2"2"2">">!?D "&D  N=t} M M Ml:($-8qDJJJrFc .tjtjz}|r|tjz}tj|j|tjtjztjztj tttj tj Sr) rrrrrrr r!r"PIPE_UNLIMITED_INSTANCESrr#r$)rErLflagss rrMzPipeListener._new_handlesp.1MME ?>>* u)G,II!"0'7,gl  rcD|j||jd} t j|d} t j|jgdt}n.#| t j |xYw | d\}}nJ#| d\}}wxYw#t$r }|j tjkrYd}~nd}~wwxYwt|S)NrTrF)rNappendrMpoprr(rrrrrrrQr ERROR_NO_DATAr)rErFrresr/rrs rrzPipeListener.accepts8   % %d&6&6&8&8 9 9 9'++A..F $-fFFF $!8 E855CCIIKKK'///  33D99FAssR33D99FAs#OOO   :!66676666  "&)) )s6C&!BC +B,,C C#& D0D  Dcbtjd||D]}tj|dS)Nz closing listener with address=%r)rrOrr)queuer<rFs rrPz$PipeListener._finalize_pipe_listenersB N=w G G G , ,#F++++ , ,rr)F)rrrrIrMr staticmethodrPrrrrrsk          * * *.  , ,  , , ,rrc  t} tj|dtj|tjtjzdtjtjtjtj}nG#t$r9}|j tj tj fvst|rYd}~nd}~wwxYwtj|tjddt!|S)Nrr)rr WaitNamedPiper%rrr$r&rrQrERROR_SEM_TIMEOUTERROR_PIPE_BUSYrr'r!r)r<rhrs rrrs  OO  %gt444&W1G4IIw|W%:0',    :g&?&-&=&???BPQRBSBS??????  " ' w,dD   a   sA.B C /B??Cs #CHALLENGE#s #WELCOME#s #FAILURE#cddl}t|ts/tdt |t jt}| t|z| ||d }| d}||kr| tdS| tt!d)Nr Authkey must be bytes, not {0!s}md5zdigest received was wrong)hmacrrr,formatr7r(urandomMESSAGE_LENGTHro CHALLENGEnewdigestrzWELCOMEFAILUREr  connectionrrgmessagermresponses rrrsKKK gu % %F . 5 5d7mm D DFF Fj((G)g-... XXgw . . 5 5 7 7F$$S))H6g&&&&&g&&&!"=>>>rcddl}t|ts/tdt ||d}|ttd}| ||d }| ||d}|tkrtddS)Nrrdrfrezdigest sent was rejected)rgrrr,rhr7rzr|rkrlrmrornr rps rrrsKKK gu % %F . 5 5d7mm D DFF F##C((Gc)nnoo&G XXgw . . 5 5 7 7F&!!!$$S))H7!"<===rc eZdZdZdZdZdS)ConnectionWrapperc|||_||_||_dD]#}t||}t |||$dS)N)rarXrrzro)_conn_dumps_loadsr6setattr)rEconnrrrattrrts rrIzConnectionWrapper.__init__sT   K % %D$%%C D$ $ $ $ $ % %rcd||}|j|dSr)ryrxro)rErtrFs rruzConnectionWrapper.sends/ KK   a     rc^|j}||Sr)rxrzrzrEs rrzConnectionWrapper.recvs% J ! ! # #{{1~~rN)rrrrIrurrrrrvrvsA%%%!!!rrvcft|fdddddS)Nrutf-8) xmlrpclibrrencode)rts r _xml_dumpsrs, ??C64tQ 7 7 > >w G GGrcjt|d\\}}|S)Nr)rrdecode)rFrtmethods r _xml_loadsr s*__QXXg%6%677NFSF JrceZdZdZdS) XmlListenercxddlmat|}t |t tSNr) xmlrpc.clientclientrrrrvrrrss rrzXmlListener.accept%s7))))))ood## j*===rN)rrrrrrrrr$s#>>>>>rrcXddlmatt |i|t t Sr)rrrrvrrr)r4kwdss r XmlClientr+s3%%%%%% VT2T22J K KKrct|}g}|rtj|d|}|tkrnt|cxkrtt |zkrnn |tz}nDt |cxkrt t |zkrnn |t z}ntd|||||dzd}d}||S)NFzShould not get hererr) listrrrr r|r rrU)handlesrLreadyrXs r_exhaustive_waitr6s MM 0E7CCCl""#>>>> A(>>>>>>}$!SDDDD+;c!ff+DDDDDD''"#8999 LL3 #a%&& AG  rc |t}n|dkrd}nt|dzdz}t|}i g}t t} |D]B} t |d} t j|dd\}}n*#t$r}d|j}}|tvrYd}~nd}~wwxYw|t j kr | || |j <|rptjdddkrQ |d\} }n#t$r}|j}Yd}~nd}~wwxYw|st!|d rd|_ |d}#t&$r| |<Y@wxYwt+ |}|D]}||D]} |d\} }n(#t$r}|j}|tvrYd}~nd}~wwxYw|t jkr? |j } ||dkrt!|d rd|_n#|D]}||D]} |d\} }n(#t$r}|j}|tvrYd}~nd}~wwxYw|t jkr? |j } ||dkrt!|d rd|_wxYw  fd |D fd |DS) Nrr]g?raT)rFrc3(K|] }|V dSrr).0rawaithandle_to_objs r zwait..s)IIa.q1IIIIIIrcg|]}|v| Srr)ro ready_objectss r zwait..s#===a!}*<*<*<*<*-C-C-E-EwOOM    8 833D99FAss*C-//0////'999)"(3A!%%a(((axx#1&:;;837A0 8     8 833D99FAss*C-//0////'999)"(3A!%%a(((axx#1&:;;837A0 8 IIII=IIIIII====;====sI4"E:3!BI4 B<B72I47B<.sCCCMS&CKCCCrr) _WaitSelectorregister selectors EVENT_READrrselect)rrselectorrtdeadliners rrrs9 __ )" = =!!#y';<<<<">++g5 ) 00)CCUCCC ) ) ) ) ) ) ) )*"*T^-=-="="Q;;#( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )sA!B+>B+*B++B/2B/c|}tj|tjtj5}ddlm}||}t||j |j ffcdddS#1swxYwYdS)Nr)resource_sharer) rar4fromfdr SOCK_STREAMr$r DupSocketrebuild_connectionrGrH)r|rFrFrdss rreduce_connectionrs ]66>63E F F J! ) ) ) ) ) ) **1--B%DM4='II J J J J J J J J J J J J J J J J J Js1A==BBcp|}t|||Srrr)rrGrHsocks rrrs)yy{{$++--8<<rs 3 2 2 11111111*NNNOOOOOOOOOOOOO |w GGG  !!  ; 769N  H<7N  H-&&&&    0 0 0 F F F F F F&TTTTTTTTn _]]]]]]]]@MMMMMMMMh;;;;;v;;;|    *<7&&&&&X)))))V)))X&&&<76,6,6,6,6,v6,6,6,p!!!>    ? ? ? > > >$        HHH>>>>>(>>>LLL<7(.0MNML>L>L>L>L>` wy.))1!. !0 ))))6<7JJJ ===Iz#4555KKK :::I~'=>>>>>FFF222Iz#455555s AA0/A0