grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ®û|jµKã@sn ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddlm Z ddl Z zddl Z Wn eyDdZ Ynwgd¢Zz ddlZddlZdZWneyldZddlZddlZddlZYn0wddlmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(e )gd¢¡Gdd „d e*ƒZ+Gd d „d e+ƒZ,Gd d „d e+ƒZ-erÆGdd„dƒZ.Gdd„de/ƒZ0ne1eddƒZ2e3edƒrÕej4Z5nej6Z5erádZ7dd„Z8ngZ7dd„Z8dZ9dZ:dZ;dd„Zd"d#„Z?ddœd$d%„Z@Gd&d'„d'eAƒZBddddd(œd)d*„ZCd+d,„ZDd-d.„ZEd/d0„ZFd1d2„ZGeGƒZHdZIGd3d4„d4ƒZJdS)5éN)Ú monotonic)ÚPopenÚPIPEÚSTDOUTÚcallÚ check_callÚgetstatusoutputÚ getoutputÚ check_outputÚrunÚCalledProcessErrorÚDEVNULLÚSubprocessErrorÚTimeoutExpiredÚCompletedProcessTF)ÚCREATE_NEW_CONSOLEÚCREATE_NEW_PROCESS_GROUPÚSTD_INPUT_HANDLEÚSTD_OUTPUT_HANDLEÚSTD_ERROR_HANDLEÚSW_HIDEÚSTARTF_USESTDHANDLESÚSTARTF_USESHOWWINDOWÚABOVE_NORMAL_PRIORITY_CLASSÚBELOW_NORMAL_PRIORITY_CLASSÚHIGH_PRIORITY_CLASSÚIDLE_PRIORITY_CLASSÚNORMAL_PRIORITY_CLASSÚREALTIME_PRIORITY_CLASSÚCREATE_NO_WINDOWÚDETACHED_PROCESSÚCREATE_DEFAULT_ERROR_MODEÚCREATE_BREAKAWAY_FROM_JOB)rrrrrrrrÚ STARTUPINFOrrrrrrrr r!r"c@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r'r'ú1/opt/alt/python310/lib64/python3.10/subprocess.pyres rc@ó:eZdZ d dd„Zdd„Zedd„ƒZejdd„ƒZdS) r NcCó||_||_||_||_dS©N)Ú returncodeÚcmdÚoutputÚstderr)Úselfr,r-r.r/r'r'r(Ú__init__oó zCalledProcessError.__init__cCs`|jr(|jdkr(z d|jt |j ¡fWSty'd|j|j fYSwd|j|jfS)NrzCommand '%s' died with %r.z)Command '%s' died with unknown signal %d.z.Command '%s' returned non-zero exit status %d.)r,r-ÚsignalZSignalsÚ ValueError©r0r'r'r(Ú__str__usÿ   ÿÿÿzCalledProcessError.__str__cCs |jSr+©r.r5r'r'r(Ústdout�szCalledProcessError.stdoutcCó ||_dSr+r7©r0Úvaluer'r'r(r8†ó ©NN©r$r%r&r1r6Úpropertyr8Úsetterr'r'r'r(r hs  r c@r)) rNcCr*r+)r-Útimeoutr.r/)r0r-rAr.r/r'r'r(r1”r2zTimeoutExpired.__init__cCsd|j|jfS)Nz'Command '%s' timed out after %s seconds)r-rAr5r'r'r(r6šs ÿzTimeoutExpired.__str__cCó|jSr+r7r5r'r'r(r8žszTimeoutExpired.stdoutcCr9r+r7r:r'r'r(r8¢r<r=r>r'r'r'r(r�s  rc@s,eZdZdddddddœdd„Zdd„ZdS)r#rN©ÚdwFlagsÚ hStdInputÚ hStdOutputÚ hStdErrorÚ wShowWindowÚlpAttributeListcCs0||_||_||_||_||_|pdgi|_dS)NÚ handle_listrC)r0rDrErFrGrHrIr'r'r(r1«s zSTARTUPINFO.__init__cCs@|j ¡}d|vrt|dƒ|d<t|j|j|j|j|j|d�S)NrJrC) rIÚcopyÚlistr#rDrErFrGrH)r0Z attr_listr'r'r(rK´s ûzSTARTUPINFO.copy)r$r%r&r1rKr'r'r'r(r#ªs  ÿ r#c@s2eZdZdZejfdd„Zdd„Zdd„ZeZ dS) ÚHandleFcCs|js d|_||ƒdSdS)NT)Úclosed)r0Ú CloseHandler'r'r(ÚCloseÄs þz Handle.ClosecCs|js d|_t|ƒStdƒ‚)NTzalready closed)rNÚintr4r5r'r'r(ÚDetachÉsz Handle.DetachcCsd|jjt|ƒfS)Nz%s(%d))Ú __class__r$rQr5r'r'r(Ú__repr__ÏszHandle.__repr__N) r$r%r&rNÚ_winapirOrPrRrTÚ__del__r'r'r'r(rMÁs rMZPIPE_BUFiÚ PollSelectorcCsdSr+r'r'r'r'r(Ú_cleanupíórXc CsZtdurdStdd…D]}|jtjd�}|dur*zt |¡Wq ty)Yq wq dS)N©Ú _deadstate)Ú_activeÚ_internal_pollÚsysÚmaxsizeÚremover4)ÚinstÚresr'r'r(rXös ýýþéÿÿÿÿéþÿÿÿéýÿÿÿcCs, g}tjj}|dkr| dd|¡|S)Nrú-ÚO)r^ÚflagsÚoptimizeÚappend)Úargsr;r'r'r(Ú"_optim_args_from_interpreter_flags s rlc CsP dddddddœ}tƒ}| ¡D]\}}ttj|ƒ}|dkr(| d ||¡qtjjr3| d ¡ntjjr<| d ¡tjjrE| d ¡tj dd…}tjj }ttd iƒ}d|v}|dkrd|  d¡n|rk|  d¡|rr|  d¡|D] }| d|¡qt|r…|  d¡dD]}||vr¥||} | dur˜|} nd|| f} |  d| f¡q‡|S)NÚdÚBÚSÚvÚbÚq)ÚdebugÚdont_write_bytecodeÚno_siteÚverboseÚ bytes_warningÚquietrrfz-Iz-Ez-sÚ _xoptionsÚdevézerror::BytesWarningzdefault::BytesWarningÚdefaultz-W)ú-Xrz)Z faulthandlerÚ tracemallocZ importtimeZ showrefcountÚutf8Tz%s=%sr}) rlÚitemsÚgetattrr^rhrjÚisolatedÚignore_environmentÚ no_user_siteÚ warnoptionsrwr`Úextend) Z flag_opt_maprkÚflagÚoptrpZwarnoptsrwZxoptionsÚdev_moder;Úargr'r'r(Ú_args_from_interpreter_flagssVø  €         €r‹©rAcOsT t|i|¤Ž�}z|j|d�WWdƒS| ¡‚1s#wYdS)NrŒ)rÚwaitÚkill)rAÚ popenargsÚkwargsÚpr'r'r(rQs þúrcOs< t|i|¤Ž}|r| d¡}|dur|d}t||ƒ‚dS)Nrkr)rÚgetr )r�r�Úretcoder-r'r'r(rbs   rcOsx d|vr tdƒ‚d|vr0|ddur0| d¡s'| d¡s'| d¡s'| d¡r*d}nd }||d<t|t|d d œ|¤ŽjS) Nr8z3stdout argument not allowed, it will be overridden.ÚinputÚuniversal_newlinesÚtextÚencodingÚerrorsÚóT)r8rAÚcheck)r4r’r rr8)rAr�r�Úemptyr'r'r(r us"ÿÿÿr c@s2eZdZ ddd„Zdd„ZeejƒZdd„Z dS) rNcCr*r+)rkr,r8r/)r0rkr,r8r/r'r'r(r1´r2zCompletedProcess.__init__cCshd |j¡d |j¡g}|jdur| d |j¡¡|jdur(| d |j¡¡d t|ƒjd |¡¡S)Nz args={!r}zreturncode={!r}z stdout={!r}z stderr={!r}z{}({})z, ) Úformatrkr,r8rjr/Útyper$Újoin)r0rkr'r'r(rTºs  ÿ  zCompletedProcess.__repr__cCs" |jrt|j|j|j|jƒ‚dSr+)r,r rkr8r/r5r'r'r(Úcheck_returncodeÆs ÿÿz!CompletedProcess.check_returncoder=) r$r%r&r1rTÚ classmethodÚtypesÚ GenericAliasÚ__class_getitem__r r'r'r'r(r©s   r)r”Úcapture_outputrAr›c Os& |dur| d¡durtdƒ‚t|d<|r0| d¡dus$| d¡dur(tdƒ‚t|d<t|d<t|i|¤Ž�L}z |j||d�\}}Wn'tyc} z| ¡trZ| ¡\| _| _ ‚|  ¡‚d} ~ w| ¡‚|  ¡} |r|| r|t | |j ||d�‚Wdƒn1s†wYt|j | ||ƒS)NÚstdinz/stdin and input arguments may not both be used.r8r/z@stdout and stderr arguments may not be used with capture_output.rŒ©r.r/)r’r4rrÚ communicaterrŽÚ _mswindowsr8r/r�Úpollr rkr) r”r¥rAr›r�r�Zprocessr8r/Úexcr“r'r'r(r Ís@ÿ€ÿ€ér cCsê g}d}ttj|ƒD]d}g}|r| d¡d|vp d|vp | }|r(| d¡|D]1}|dkr6| |¡q*|dkrM| dt|ƒd¡g}| d¡q*|rV| |¡g}| |¡q*|rc| |¡|ro| |¡| d¡q d |¡S) NFú ú ú"ú\éz\"r™)ÚmapÚosÚfsdecoderjÚlenr†rŸ)ÚseqÚresultZ needquoterŠZbs_bufÚcr'r'r(Ú list2cmdlines8         € r¸c Csp z t|ddtd�}d}Wnty%}z |j}|j}WYd}~nd}~ww|dd…dkr4|dd…}||fS)NT)Úshellr–r/rrcÚ )r rr r.r,)r-ÚdataZexitcodeZexr'r'r(r\s€þ rcCs t|ƒdS©Nr{)r)r-r'r'r(r {s r c Cs¶ tsttdƒs dStjdvrdSzd.„Z!e.j/e.j0e.j1fd?d@„Z2de.j3e.j4e5j6fdAd0„Z&dBdC„Z7dDd2„Z'dEd6„Z)dFdG„Z8dHd8„Z*dId:„Z+dJdK„Z,dS)PrFrcNTrr')ÚuserÚgroupÚ extra_groupsr—r˜r–ÚumaskÚpipesizec+Csž tƒt ¡|_d|_d|_|durd}t|tƒstdƒ‚|dur$d}t|tƒs-tdƒ‚t r8|dur7t dƒ‚n|rD|sDt   dt ¡d}| durLt dƒ‚|d krTt d ƒ‚||_d|_d|_d|_d|_d|_||_||_||_|durƒ| durƒt| ƒt|ƒkrƒtd ƒ‚| |||¡\}}}}}}t r¶|dkržt | ¡d ¡}|dkrªt | ¡d ¡}|dkr¶t | ¡d ¡}|p½|p½|p½| |_|jrË|durËd |_}d |_d|_|jrß|dkrÝd} d}nd} d}!|du�r-t t!dƒsït dƒ‚t|t"ƒ�rzd dl#}"Wn t$�yt dƒ‚w|" %|¡j&}!nt|tƒ�r|}!n td 't(|ƒ¡ƒ‚|!d k�r-t d|!›�ƒ‚d}#|du�ršt t!dƒ�s>t dƒ‚t|t"ƒ�rHt dƒ‚g}#|D];}$t|$t"ƒ�rrzd dl#}"Wn t$�yft dƒ‚w|# )|" %|$¡j&¡�qLt|$tƒ�r|# )|$¡�qLtd 't(|$ƒ¡ƒ‚|#D]}%|%d k�r˜t d|%›�ƒ‚�qŠd}&|du�rät t!dƒ�s«t dƒ‚t|t"ƒ�rËzd dl*}'Wn t$�yÃt dƒ‚w|' +|¡j,}&n t|tƒ�rÔ|}&ntdƒ‚|&d k�rät d|&›�ƒ‚zp|dk�rt- .|d|¡|_|j�rt-j/|jd| ||d�|_|dk�rt- .|d |¡|_|j�rt-j/|j||d!�|_|dk�r8t- .|d |¡|_|j�r8t-j/|j||d!�|_| 0|||||| | | || ||||||||!|#|&||¡WdSt1d|j|j|jfƒD]}(z|( 2¡W�qct3�ywY�qcw|j�sÎg})|t4k�rˆ|) )|¡|t4k�r’|) )|¡|t4k�rœ|) )|¡t |d"ƒ�r¨|) )|j5¡|)D]#}*zt �r»t|*t6ƒ�r»|* 7¡nt! 2|*¡W�qªt3�yÍY�qªw‚)#NFrczbufsize must be an integerzpipesize must be an integerz0preexec_fn is not supported on Windows platformszpass_fds overriding close_fds.Tz2startupinfo is only supported on Windows platformsrz4creationflags is only supported on Windows platformszlCannot disambiguate when both text and universal_newlines are supplied but different. Pass one or the other.ÚlocalegÐ?r{Úsetregidz>The 'group' parameter is not supported on the current platformzHThe group parameter cannot be a string on systems without the grp modulez,Group must be a string or an integer, not {}z!Group ID cannot be negative, got Ú setgroupszEThe 'extra_groups' parameter is not supported on the current platformz#Groups must be a list, not a stringzIItems in extra_groups cannot be strings on systems without the grp modulez9Items in extra_groups must be a string or integer, not {}Úsetreuidz=The 'user' parameter is not supported on the current platformzGThe user parameter cannot be a string on systems without the pwd modulez#User must be a string or an integerz User ID cannot be negative, got Úwb)Ú write_throughÚline_bufferingr—r˜Úrb)r—r˜Ú_devnull)8rXÚ threadingZLockÚ _waitpid_lockÚ_inputÚ_communication_startedÚ isinstancerQÚ TypeErrorr©r4ÚwarningsÚwarnÚRuntimeWarningrkr¦r8r/Úpidr,r—r˜rÑÚboolrÚ _get_handlesÚmsvcrtZopen_osfhandlerRÚ text_modeÚ_sigint_wait_secsÚ_closed_child_pipe_fdsrÃr²ÚstrÚgrpÚ ImportErrorZgetgrnamZgr_gidr�ržrjÚpwdÚgetpwnamZpw_uidÚioÚopenÚ TextIOWrapperÚ_execute_childÚfilterÚcloserÉrrÚrMrP)+r0rkÚbufsizeÚ executabler¦r8r/Ú preexec_fnÚ close_fdsr¹ÚcwdÚenvr•Ú startupinfoÚ creationflagsÚrestore_signalsÚstart_new_sessionÚpass_fdsrÍrÎrÏr—r˜r–rÐrÑÚp2creadÚp2cwriteÚc2preadÚc2pwriteÚerrreadÚerrwriterØÚgidrìÚgidsZ extra_groupZ gid_checkÚuidrîÚfZto_closeÚfdr'r'r(r1ösX   ÿ  þ     ÿ  ÿ      ÿ  þ ÿ    ÿ    þ ÿ ÿ  ø ÿ          €ÿzPopen.__init__cCs@d|jj›d|j›d|j›d�}t|ƒdkr|dd…d}|S)NúéPéLz...>)rSr$r,rkr´)r0Zobj_reprr'r'r(rTñs ÿÿÿ zPopen.__repr__cCrBr+)rèr5r'r'r(r•üszPopen.universal_newlinescCst|ƒ|_dSr+)rårè)r0r•r'r'r(r•scCs | ||¡}| dd¡ dd¡S)Nz rºú )ÚdecodeÚreplace)r0r»r—r˜r'r'r(Ú_translate_newliness zPopen._translate_newlinescCs|Sr+r'r5r'r'r(Ú __enter__ rYzPopen.__enter__cCsÖ|jr|j ¡|jr|j ¡z0|jr|j ¡W|tkr;|jdkr6z |j|jd�Wn ty5Ynwd|_dS| ¡dS|tkrf|jdkr]z |j|jd�Wn ty\Ynwd|_YdS| ¡w)NrrŒ) r8rõr/r¦ÚKeyboardInterruptréÚ_waitrr�)r0Úexc_typer;Ú tracebackr'r'r(Ú__exit__ s8   €  ÿ ï  ÿ  zPopen.__exit__cCs\|jsdS|jdur|d|jt|d�|j|d�|jdur*tdur,t |¡dSdSdS)Nzsubprocess %s is still running)ÚsourcerZ)Ú_child_createdr,räÚResourceWarningr]r\rj)r0Z_maxsizeZ_warnr'r'r(rV)s  ÿ þz Popen.__del__cCs"t|dƒst tjtj¡|_|jS)NrÚ)rÃr²rñÚdevnullÚO_RDWRrÚr5r'r'r(Ú _get_devnull8s zPopen._get_devnullc Cs´|r-z|j |¡Wn"tyYnty,}z|jtjkr!n‚WYd}~nd}~wwz|j ¡WdSty?YdStyY}z|jtjkrMn‚WYd}~dSd}~wwr+)r¦ÚwriteÚBrokenPipeErrorrÉÚerrnoZEINVALrõ)r0r”r«r'r'r(Ú _stdin_write=s.   þ€û   þ€þzPopen._stdin_writec CsT |jr |r tdƒ‚|durN|jsN|j|j|jg d¡dkrNd}d}|jr+| |¡n|jr9|j ¡}|j ¡n |jrF|j ¡}|j ¡|  ¡||fS|durXt ƒ|}nd}z>z |  |||¡\}}Wn-t y“|dur{t |j| |¡ƒ}n|j}d|_z|j|d�W‚ty’Y‚wwWd|_nd|_w|j | |¡d�}||fS)Nz.Cannot send input after starting communicationr°rrŒT)rÞr4r¦r8r/Úcountr#Úreadrõr�Ú_timeÚ _communicaterÚminréÚ_remaining_timerr)r0r”rAr8r/ÚendtimeÚsigint_timeoutÚstsr'r'r(r¨VsR      å  ÿ þþõÿzPopen.communicatecCs | ¡Sr+)r]r5r'r'r(rªšsz Popen.pollcCs |durdS|tƒSr+)r&)r0r*r'r'r(r) s zPopen._remaining_timecCsR |durdS|stƒ|kr't|j||rd |¡nd|r#d |¡d�‚dd�‚dS)Nršr§)r&rrkrŸ)r0r*Ú orig_timeoutZ stdout_seqZ stderr_seqÚskip_check_and_raiser'r'r(Ú_check_timeout¨s ýýÿzPopen._check_timeoutc Cs~ |dur tƒ|}z|j|d�WSty>|dur&t|j| |¡ƒ}n|j}d|_z|j|d�W‚ty=Y‚ww)NrŒr)r&rrr(rér)r)r0rAr*r+r'r'r(r�´s(  ÿ þþóz Popen.waitc Cst|ddƒ}t ¡�m}tr,|dkr| |j¡|dkr!| |j¡|dkr+| |j¡n9|dkr?|dkr?||kr?| tj|¡|dkrR|dkrR||krR| tj|¡|dkre|dkre||kre| tj|¡|durp| tj|¡Wdƒn1szwYd|_dS)NrÚrcT) r�Ú contextlibÚ ExitStackr©ÚcallbackrPr²rõrê) r0rrrrrrZ devnull_fdÚstackr'r'r(Ú_close_pipe_fdsËs*     €€ï zPopen._close_pipe_fdsc Csr |dur|dur|durdSd\}}d\}}d\}} |dur;t tj¡}|dur:t dd¡\}} t|ƒ}t | ¡n4|tkrQt dd¡\}}t|ƒt|ƒ}}n|tkr]t  |  ¡¡}nt |t ƒrht  |¡}nt  |  ¡¡}| |¡}|dur”t tj¡}|dur“t dd¡\} }t|ƒ}t | ¡n4|tkrªt dd¡\}}t|ƒt|ƒ}}n|tkr¶t  |  ¡¡}nt |t ƒrÁt  |¡}nt  |  ¡¡}| |¡}|durít tj¡} | durìt dd¡\} } t| ƒ} t | ¡n?|tk�rt dd¡\}} t|ƒt| ƒ}} n(|tk�r |} n |tk�rt  |  ¡¡} nt |t ƒ�r%t  |¡} nt  |  ¡¡} | | ¡} |||||| fS)N)rcrcrcrcrcrc©rcrcr)rUZ GetStdHandlerZ CreatePiperMrOrr rçZ get_osfhandlerrßrQÚfilenoÚ_make_inheritablerrr) r0r¦r8r/rrrrrrÚ_r'r'r(ræìsx  €     €     €      þzPopen._get_handlescCs( t t ¡|t ¡ddtj¡}t|ƒS)Nrr{)rUZDuplicateHandleZGetCurrentProcessZDUPLICATE_SAME_ACCESSrM)r0ÚhandleÚhr'r'r(r74s ýzPopen._make_inheritablecCs tdd„|DƒƒS)NcSs,h|]}|d@dkst |¡tjkr|’qS)é)rUZ GetFileTypeZFILE_TYPE_CHAR)Ú.0r9r'r'r(Ú Ds ÿþz,Popen._filter_handle_list..)rL)r0rJr'r'r(Ú_filter_handle_list=szPopen._filter_handle_listc!Csz t|tƒrn't|tƒr| rtdƒ‚t|gƒ}nt|tjƒr*| r$tdƒ‚t|gƒ}nt|ƒ}|dur7t |¡}|dur?tƒ}n|  ¡}d| ||fv}|r]|j t j O_ | |_ ||_||_|j}t|ojd|voj|dƒ}|sr|r«|r«|dur{i}|_t| dg¡ƒ}|d<|r–|t| ƒt|ƒt|ƒg7}| |¡|dd…<|r«|s©t dt¡d}| rí|j t jO_ t j|_|såtj d¡}|sÜtj dd ¡}tj |d d ¡}tj |¡sÜt d ƒ‚tj |¡rä|}n|}d  !||¡}|duröt |¡}t" #d||||¡z t  $||ddt| ƒ| |||¡ \}}}} W| %| | | |||¡n | %| | | |||¡wd|_&t'|ƒ|_(||_)t  *|¡dS)Nz$bytes args is not allowed on Windowsú0path-like args is not allowed when shell is truercrJz?startupinfo.lpAttributeList['handle_list'] overriding close_fdsFZComSpecZ SystemRootr™ZSystem32zcmd.exez:shell not found: neither %ComSpec% nor %SystemRoot% is setz {} /c "{}"úsubprocess.PopenT)+rßrëÚbytesràr¸r²ÚPathLiker³r#rKrDrUrrErFrGrIrårLr’rQr>rárârãrrrHÚenvironÚpathrŸÚisabsÚFileNotFoundErrorr�r^ÚauditZ CreateProcessr4rrMÚ_handlerärO)!r0rkr÷rørùrrúrûrürýr¹rrrrrrZunused_restore_signalsZ unused_gidZ unused_gidsZ unused_uidZ unused_umaskZunused_start_new_sessionZuse_std_handlesZattribute_listZhave_handle_listrJZcomspecZ system_rootZhpZhträÚtidr'r'r(róJs¢      ÿþ   ÿÿ   €  ùþþ zPopen._execute_childcCs. |jdur||jdƒ|kr||jƒ|_|jS©Nr)r,rH)r0r[Z_WaitForSingleObjectZ_WAIT_OBJECT_0Z_GetExitCodeProcessr'r'r(r]És   zPopen._internal_pollcCs` |dur tj}nt|dƒ}|jdur-t |j|¡}|tjkr&t|j|ƒ‚t  |j¡|_|jS)Niè) rUZINFINITErQr,ÚWaitForSingleObjectrHZ WAIT_TIMEOUTrrkÚGetExitCodeProcess)r0rAZtimeout_millisr¶r'r'r(rÚs  ÿ  z Popen._waitcCs| | ¡¡| ¡dSr+)rjr%rõ)r0ZfhÚbufferr'r'r(Ú _readerthreadês zPopen._readerthreadcCsT|jr!t|dƒs!g|_tj|j|j|jfd�|_d|j_|j ¡|j rBt|dƒsBg|_ tj|j|j |j fd�|_ d|j _|j  ¡|j rJ|  |¡|jdurc|j | |¡¡|j ¡rct|j|ƒ‚|j dur||j  | |¡¡|j  ¡r|t|j|ƒ‚d}d}|jr‹|j}|j ¡|j r–|j }|j  ¡|rœ|dnd}|r¤|dnd}||fS)NÚ _stdout_buff)ÚtargetrkTÚ _stderr_buffr)r8rÃrOrÛZThreadrNZ stdout_threadZdaemonÚstartr/rQZ stderr_threadr¦r#rŸr)Zis_aliverrkrõ)r0r”r*r-r8r/r'r'r(r'ïsJ ÿÿ  ÿÿ          zPopen._communicatecCsp |jdurdS|tjkr| ¡dS|tjkr"t |jtj¡dS|tjkr1t |jtj¡dSt d  |¡ƒ‚)NzUnsupported signal: {}) r,r3ÚSIGTERMÚ terminateZ CTRL_C_EVENTr²rŽräZCTRL_BREAK_EVENTr4r�©r0Zsigr'r'r(Ú send_signal!s     zPopen.send_signalcCsX |jdurdSz t |jd¡WdSty+t |j¡}|tjkr%‚||_YdSwr¼)r,rUZTerminateProcessrHÚPermissionErrorrLZ STILL_ACTIVE)r0Zrcr'r'r(rT/s     úzPopen.terminatec Csœ d\}}d\}}d\}} |durn3|tkr0t ¡\}}|jdkr/ttdƒr/t |tj|j¡n|tkr9| ¡}n t |t ƒrA|}n|  ¡}|durJn3|tkrht ¡\}}|jdkrgttdƒrgt |tj|j¡n|tkrq| ¡}n t |t ƒry|}n|  ¡}|dur‚nD|tkr t ¡\}} |jdkrŸttdƒrŸt | tj|j¡n&|t kr±|dkr«|} nt j  ¡} n|tkrº| ¡} n t |t ƒrÂ|} n|  ¡} |||||| fS)Nr5rÚ F_SETPIPE_SZrc)rr²ÚpiperÑrÃÚfcntlrXr rrßrQr6rr^Ú __stdout__) r0r¦r8r/rrrrrrr'r'r(ræDs` €   €   €   þc Csô |durtj}i} |r&g} dD]} tt| dƒ}|dur!|  |¡q| | d<g}||| fD]}|dkr;| tj|f¡q-|df|df| dffD]\}}|dkrX| tj||f¡qG|r_|| d<tj|||fi| ¤Ž|_d|_ |  ||||| | ¡dS) N)ÚSIGPIPEZSIGXFZÚSIGXFSZZ setsigdefrcrr{r°Ú file_actionsT) r²rCr�r3rjÚPOSIX_SPAWN_CLOSEÚPOSIX_SPAWN_DUP2r½rärr4)r0rkr÷rûrþrrrrrrr�ZsigsetZsignameZsignumr^r Zfd2r'r'r(Ú _posix_spawn€s@  €€ ý€þzPopen._posix_spawnc-sö t|ttfƒr |g}nt|tjƒr| rtdƒ‚|g}nt|ƒ}| r7ttdƒr)dnd}|dg|}ˆr7ˆ|d<ˆdur?|d‰t  dˆ|||¡t r–tj   ˆ¡r–|dur–|s–|s–|dur–| dksd| d kr–|dksl|d kr–|dkst|d kr–|s–|dur–|dur–|dur–|dkr–|  |ˆ||| | | |||¡ dSˆ}t ¡\}}g}|d kr²| |¡t |¡}|d ks¤|D]}t |¡q´z¯z||durçg}| ¡D]\}}t |¡}d |vrÙtd ƒ‚| |d t |¡¡qÈnd}t ˆ¡‰tj   ˆ¡røˆf} nt‡fd d„t |¡Dƒƒ} t|ƒ}!|! |¡t || |tttt|!ƒƒƒ||| | | ||||||||||||¡|_d|_Wt |¡nt |¡w|  | | | |||¡t!ƒ}" t "|d¡}#|"|#7}"|#�rbt#|"ƒdk�rcn�qNWt |¡nt |¡w|"�rùzt $|jd¡\}$}%|$|jk�r‹| %|%¡ntj&|_'Wn t(�yšYnwz|" )dd ¡\}&}'}(|( *¡}(Wnt�y¿d}&d}'d +t|"ƒ¡}(Ynwt,t-|& *d¡t.ƒ})t/|)t0ƒ�rõ|'�rõt|'dƒ}*|(dk}+|+�rãd}(|},n|},|*dk�rït 1|*¡}(|)|*|(|,ƒ‚|)|(ƒ‚dS)Nr?Zgetandroidapilevelz/system/bin/shz/bin/shz-crr@rcr°r;ó=z!illegal environment variable namec3s$�|] }tj t |¡ˆ¡VqdSr+)r²rDrŸÚfsencode)r<Údir©r÷r'r(Ú ÿs €ÿ ÿz'Popen._execute_child..TiPÃó:sSubprocessErroró0z#Bad exception data from child: {!r}ÚasciiéZnoexecr™)2rßrërAr²rBràrLrÃr^rGÚ_USE_POSIX_SPAWNrDÚdirnamerarYrjÚduprõr€rcr4rÇÚ get_exec_pathÚsetÚaddÚ_posixsubprocessZ fork_execÚsortedr±rQrärr4Ú bytearrayr%r´ÚwaitpidÚ_handle_exitstatusr_r,ÚChildProcessErrorrÆrr�r�ÚbuiltinsrÚ issubclassrÉÚstrerror)-r0rkr÷rørùrrúrûrürýr¹rrrrrrrþrrr rÐrÿZ unix_shellZorig_executableZ errpipe_readZ errpipe_writeZlow_fds_to_closeZlow_fdZenv_listÚkrpZexecutable_listZ fds_to_keepZ errpipe_dataÚparträr,Zexception_nameZ hex_errnoÚerr_msgZchild_exception_typeZ errno_numZchild_exec_never_calledZ err_filenamer'rer(ró§s   ÿÿ  ÿÿþÿ ý   þ  ü   þ ÷ þ ü  €ÿ ÿ ÿý þ    ÛcCs( ||ƒr ||ƒ |_dS||ƒ|_dSr+)r,)r0r,Úwaitstatus_to_exitcodeZ _WIFSTOPPEDZ _WSTOPSIGr'r'r(ruKszPopen._handle_exitstatusc Csà |jdurm|j d¡sdSzXz#|jdur|jWW|j ¡S||j|ƒ\}}||jkr1| |¡Wn"tyT}z|durB||_n|j|krJd|_WYd}~nd}~wwW|j ¡|jSW|j ¡|jS|j ¡w|jS)NFr)r,rÜÚacquireÚreleaserärurÉr")r0r[Z_waitpidZ_WNOHANGZ_ECHILDrär,Úer'r'r(r]Ws6    ò  € €÷€ € ÿ ÿcCsB zt |j|¡\}}W||fSty |j}d}Y||fSwrJ)r²rträrv)r0Z wait_flagsrär,r'r'r(Ú _try_waitzs úúzPopen._try_waitcCs^ |jdur |jS|durotƒ|}d} |j d¡rRz0|jdur*W|j ¡|jS| tj¡\}}||jkrE|  |¡W|j ¡|jSW|j ¡n|j ¡w|  |¡}|dkrat |j |ƒ‚t |d|dƒ}t |¡q|jdur¬|j�(|jdur‡ Wdƒ|jS| d¡\}}||jkr˜|  |¡Wdƒn1s¢wY|jdust|jS)Ngü©ñÒMb@?TFrr°gš™™™™™©?)r,r&rÜr~rr�r²ÚWNOHANGrärur)rrkr(ÚtimeÚsleep)r0rAr*Zdelayrär,Z remainingr'r'r(r‡sP     é   ë   ð   þ ú  €ø ÿ c Cs$|jr*|js*z|j ¡Wn tyYnw|s*z|j ¡Wn ty)Ynwd}d}|jsFi|_|jr=g|j|j<|jrFg|j|j<|jrO|j|j}|jrX|j|j}| |¡|j ret |j ƒ}t ƒ�Ü}|jrv|rv|  |jt j¡|jr…|jjs…|  |jt j¡|jr”|jjs”|  |jt j¡| ¡�r=| |¡}|dur´|dkr´|j||||dd�tdƒ‚| |¡} | ||||¡| D]u\} } | j|ju�r||j|jt…} z|jt | j| ¡7_Wntyú| | j¡| j ¡YqÃw|jt|j ƒk�r| | j¡| j ¡qÃ| j|j|jfv�r8t | jd¡} | �s/| | j¡| j ¡|j| j | ¡qÃ| ¡s™Wdƒn 1�sHwY|j | |¡d�|du�r`d !|¡}|du�rjd !|¡}|j"�rŽ|du�r~| #||jj$|jj%¡}|du�rŽ| #||jj$|jj%¡}||fS)NrT)r.zN_check_timeout(..., skip_check_and_raise=True) failed to raise TimeoutExpired.i€rŒrš)&r¦rÞÚflushr!rõZ_fileobj2outputr8r/Ú _save_inputrÝÚ memoryviewÚ_PopenSelectorÚregisterÚ selectorsZ EVENT_WRITErNZ EVENT_READZget_mapr)r/Ú RuntimeErrorÚselectZfileobjÚ _input_offsetÚ _PIPE_BUFr²r r Ú unregisterr´r%rjr�rŸrèrr—r˜)r0r”r*r-r8r/Z input_viewZselectorrAZreadyÚkeyZeventsÚchunkr»r'r'r(r'°s°  ÿ ÿ         þÿ  ÿ  þ  €  €Þ€ø,     þ þcCsV|jr#|jdur%d|_||_|dur'|jr)|j |jj|jj¡|_dSdSdSdSdSrJ)r¦rÝr�rèÚencoder—r˜)r0r”r'r'r(r†s  ÿüzPopen._save_inputcCsB | ¡|jdur dSz t |j|¡WdSty YdSwr+)rªr,r²rŽräÚProcessLookupErrorrUr'r'r(rV"s  þcCó | tj¡dSr+)rVr3rSr5r'r'r(rTBócCr”r+)rVr3ÚSIGKILLr5r'r'r(rŽGr•z Popen.kill)rcNNNNNTFNNNNrTFr'r=)Fr+)9r$r%r&rr1rTr¡r¢r£r¤r?r•r@rrrr^r_rárârVrr#r¨rªr)r/r�r4r©rær7r>rórUrKZ WAIT_OBJECT_0rLr]rrNr'rVrTrŽrar²r}Ú WIFSTOPPEDÚWSTOPSIGrurtr‚r"ZECHILDr�r†r'r'r'r(r¾sˆ5ú  ù|    D ÿ H   ý2<'& ý  ÿ# )f  r)Krwr"rðr²rƒr3r^rÛrár0rr&r¢rZríÚ__all__rçrUr©ÚModuleNotFoundErrorrqrŒrŠrrrrrrrrrrrrrrrr r!r"r†Ú Exceptionrr rr#rQrMr�rŽrÃrWrˆZSelectSelectorr\rXrrr rlr‹rrr Úobjectrr r¸rr rÌrkZ _USE_VFORKrr'r'r'r(Ús€"   ÿ  üP  %     ;4% ÿFI 2