grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a XC?hlFã@s”ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddlm Z ddl Z z ddl Z Wney†dZ Yn0z ddlZWneyªdZYn0gd¢ZzddlZddlZdZWn.eyúdZddlZddlZddlZYn`0ddlmZmZmZmZmZmZmZmZm Z m!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.e�r°Gdd„dƒZ/Gdd„de0ƒZ1n&e2eddƒZ3e4edƒ�rÐej5Z6nej7Z6e�rêdZ8dd„Z9n gZ8dd„Z9dZ:dZ;dZddœd d!„Z?d"d#„Z@ddœd$d%„ZAGd&d'„d'eBƒZCddddd(œd)d*„ZDd+d,„ZEd-d.„ZFd/d0„ZGd1d2„ZHeHƒZIGd3d4„d4eBƒ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'ú//opt/alt/python39/lib64/python3.9/subprocess.pyriórc@s8eZdZd dd„Zdd„Zedd„ƒZejdd„ƒZdS) r NcCs||_||_||_||_dS©N)Ú returncodeÚcmdÚoutputÚstderr)Úselfr+r,r-r.r'r'r(Ú__init__sszCalledProcessError.__init__cCsf|jrR|jdkrRzd|jt |j ¡fWStyNd|j|j fYS0nd|j|jfSdS)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©r/r'r'r(Ú__str__ysÿ  ÿÿzCalledProcessError.__str__cCs|jSr*©r-r3r'r'r(Ústdout…szCalledProcessError.stdoutcCs ||_dSr*r5©r/Úvaluer'r'r(r6Šs)NN©r$r%r&r0r4Úpropertyr6Úsetterr'r'r'r(r ls    r c@s8eZdZd dd„Zdd„Zedd„ƒZejdd„ƒZdS) rNcCs||_||_||_||_dSr*)r,Útimeoutr-r.)r/r,r<r-r.r'r'r(r0˜szTimeoutExpired.__init__cCsd|j|jfS)Nz'Command '%s' timed out after %s seconds)r,r<r3r'r'r(r4žs ÿzTimeoutExpired.__str__cCs|jSr*r5r3r'r'r(r6¢szTimeoutExpired.stdoutcCs ||_dSr*r5r7r'r'r(r6¦s)NNr9r'r'r'r(r‘s   rc@s,eZdZdddddddœdd„Zdd„ZdS)r#rN©ÚdwFlagsÚ hStdInputÚ hStdOutputÚ hStdErrorÚ wShowWindowÚlpAttributeListcCs0||_||_||_||_||_|p(dgi|_dS)NÚ handle_listr=)r/r>r?r@rArBrCr'r'r(r0¯s zSTARTUPINFO.__init__cCs@|j ¡}d|vr"t|dƒ|d<t|j|j|j|j|j|d�S)NrDr=) rCÚcopyÚlistr#r>r?r@rArB)r/Z attr_listr'r'r(rE¸s ûzSTARTUPINFO.copy)r$r%r&r0rEr'r'r'r(r#®sÿ r#c@s2eZdZdZejfdd„Zdd„Zdd„ZeZ dS) ÚHandleFcCs|jsd|_||ƒdS)NT)Úclosed)r/Ú CloseHandler'r'r(ÚCloseÈsz Handle.ClosecCs |jsd|_t|ƒStdƒ‚dS)NTzalready closed)rHÚintr2r3r'r'r(ÚDetachÍsz Handle.DetachcCsd|jjt|ƒfS)Nz%s(%d))Ú __class__r$rKr3r'r'r(Ú__repr__ÓszHandle.__repr__N) r$r%r&rHÚ_winapirIrJrLrNÚ__del__r'r'r'r(rGÅs rGZPIPE_BUFiÚ PollSelectorcCsdSr*r'r'r'r'r(Ú_cleanupñsrRc CsZtdur dStdd…D]<}|jtjd�}|durzt |¡WqtyRYq0qdS)N©Ú _deadstate)Ú_activeÚ_internal_pollÚsysÚmaxsizeÚremover2)ÚinstÚresr'r'r(rRús éÿÿÿÿéþÿÿÿéýÿÿÿcCs*g}tjj}|dkr&| dd|¡|S)Nrú-ÚO)rWÚflagsÚoptimizeÚappend)Úargsr8r'r'r(Ú"_optim_args_from_interpreter_flagss rec CsVdddddddœ}tƒ}| ¡D].\}}ttj|ƒ}|dkr | d ||¡q tjjrd| d ¡n$tjjrv| d ¡tjjrˆ| d ¡tj dd…}tjj }ttd iƒ}d|v}|dkrÆ|  d¡n|rÔ|  d¡|râ|  d¡|D]}| d|¡qæ|�r |  d¡dD]B}||v�r||} | du�r4|} n d|| f} |  d| f¡�q|S)NÚdÚBÚSÚvÚbÚq)ÚdebugÚdont_write_bytecodeÚno_siteÚverboseÚ bytes_warningÚquietrr_z-Iz-Ez-sÚ _xoptionsÚdevézerror::BytesWarningzdefault::BytesWarningÚdefaultz-W)ú-Xrs)Z faulthandlerÚ tracemallocZ importtimeZ showrefcountÚutf8Z oldparserTz%s=%srv) reÚitemsÚgetattrrWrarcÚisolatedÚignore_environmentÚ no_user_siteÚ warnoptionsrprYÚextend) Z flag_opt_maprdÚflagÚoptriZwarnoptsrpZxoptionsÚdev_moder8Úargr'r'r(Ú_args_from_interpreter_flagssPø             r„©r<cOsft|i|¤Ž�D}z|j|d�WWdƒS| ¡‚Yn0Wdƒn1sX0YdS)Nr…)rÚwaitÚkill)r<Ú popenargsÚkwargsÚpr'r'r(rUs rcOs:t|i|¤Ž}|r6| d¡}|dur,|d}t||ƒ‚dS)Nrdr)rÚgetr )rˆr‰Úretcoder,r'r'r(rfs   rcOsbd|vrtdƒ‚d|vrJ|ddurJ| d¡s8| d¡r>d}nd}||d<t|t|dd œ|¤ŽjS) Nr6z3stdout argument not allowed, it will be overridden.ÚinputÚuniversal_newlinesÚtextÚr)T)r6r<Úcheck)r2r‹r rr6)r<rˆr‰Úemptyr'r'r(r ys#ÿr c@s0eZdZddd„Zdd„ZeejƒZdd„Z dS) rNcCs||_||_||_||_dSr*)rdr+r6r.)r/rdr+r6r.r'r'r(r0·szCompletedProcess.__init__cCshd |j¡d |j¡g}|jdur4| d |j¡¡|jdurP| d |j¡¡d t|ƒjd |¡¡S)Nz args={!r}zreturncode={!r}z stdout={!r}z stderr={!r}z{}({})z, ) Úformatrdr+r6rcr.Útyper$Újoin)r/rdr'r'r(rN½s  ÿ  zCompletedProcess.__repr__cCs |jrt|j|j|j|jƒ‚dSr*)r+r rdr6r.r3r'r'r(Úcheck_returncodeÉsÿz!CompletedProcess.check_returncode)NN) r$r%r&r0rNÚ classmethodÚtypesÚ GenericAliasÚ__class_getitem__r–r'r'r'r(r¬s  r)r�Úcapture_outputr<r‘c Os<|dur&| d¡durtdƒ‚t|d<|r^| d¡dusF| d¡durNtdƒ‚t|d<t|d<t|i|¤Ž�®}z|j||d�\}}Wn`tyÐ} z4| ¡tr²| ¡\| _| _ n|  ¡‚WYd} ~ nd} ~ 0| ¡‚Yn0|  ¡} |�r | �r t | |j ||d�‚Wdƒn1�s"0Yt|j | ||ƒS)NÚstdinz/stdin and input arguments may not both be used.r6r.z@stdout and stderr arguments may not be used with capture_output.r…©r-r.)r‹r2rrÚ communicaterr‡Ú _mswindowsr6r.r†Úpollr rdr) r�r›r<r‘rˆr‰Zprocessr6r.ÚexcrŒr'r'r(r Ðs6 ÿ&r cCsèg}d}ttj|ƒD]È}g}|r*| d¡d|vp>d|vp>| }|rN| d¡|D]b}|dkrj| |¡qR|dkr˜| dt|ƒd¡g}| d¡qR|rª| |¡g}| |¡qR|rÄ| |¡|r| |¡| d¡qd |¡S) NFú ú ú"ú\éz\"r�)ÚmapÚosÚfsdecodercÚlenrr•)ÚseqÚresultZ needquoterƒZbs_bufÚcr'r'r(Ú list2cmdlines4         r®c Csnzt|ddtd�}d}Wn0tyH}z|j}|j}WYd}~n d}~00|dd…dkrf|dd…}||fS)NT)Úshellr�r.rr\Ú )r rr r-r+)r,ÚdataZexitcodeZexr'r'r(r^s rcCs t|ƒdS©Nrt)r)r,r'r'r(r }s r c Cs¨tsttdƒsdStjdkr dSzjt d¡}|jdd�}t|ƒdkrHt‚|d }t t t |d d ¡ƒƒ}tjd krˆ|d krˆ|d krˆWdSWnt tt fy¢Yn0dS)NÚ posix_spawnFÚdarwinTÚCS_GNU_LIBC_VERSIONrt)Úmaxsplitr¦rÚ.ZlinuxZglibc)r¦é)rŸÚhasattrr¨rWÚplatformÚconfstrÚsplitrªr2Útupler§rKÚAttributeErrorÚOSError)ZverÚpartsZlibcÚversionr'r'r(Ú_use_posix_spawnŠs      rÂc@s²eZdZdZdLddddddddœdd „Zd d „ZeejƒZ e d d „ƒZ e j dd „ƒZ dd„Z dd„Zdd„Zejejfdd„Zdd„Zdd„ZdMdd„Zdd„Zdd „ZdNd!d"„ZdOd#d$„Zd%d&„Ze�r0d'd(„Zd)d*„Zd+d,„Z d-d.„Z!de"j#e"j$e"j%fd/d0„Z&d1d2„Z'd3d4„Z(d5d6„Z)d7d8„Z*d9d:„Z+e+Z,n~d;d(„Zdd.„Z!e.j/e.j0e.j1fd?d@„Z2de.j3e.j4e5j6fdAd0„Z&dBdC„Z7dDd2„Z'dEd6„Z)dFdG„Z8dHd8„Z*dId:„Z+dJdK„Z,dS)PrFr\NTrr')ÚuserÚgroupÚ extra_groupsÚencodingÚerrorsr�Úumaskc(CsFtƒt ¡|_d|_d|_|dur(d}t|tƒs:tdƒ‚t rP|durˆt dƒ‚n8|rh|sht   dt ¡d}| durxt dƒ‚|dkrˆt d ƒ‚||_d|_d|_d|_d|_d|_||_||_|durà| duràt| ƒt|ƒkràtd ƒ‚| |||¡\}}}}}}t �rN|dk�rt | ¡d¡}|dk�r4t | ¡d¡}|dk�rNt | ¡d¡}|�pb|�pb|�pb| |_d |_d|_|j�r’|d k�rŽd}d}nd}d} |du�rtt d ƒ�s¶t dƒ‚nPt|t!ƒ�rât"du�rÔt dƒ‚t" #|¡j$} n$t|tƒ�rô|} ntd %t&|ƒ¡ƒ‚| dk�rt d| ›�ƒ‚d}!|du�rætt dƒ�sBt dƒ‚nt|t!ƒ�rVt dƒ‚g}!|D]b}"t|"t!ƒ�r”t"du�r€t dƒ‚|! 't" #|"¡j$¡n*t|"tƒ�r¬|! '|"¡ntd %t&|"ƒ¡ƒ‚�q^|!D]}#|#dk�rÆt d|#›�ƒ‚�qÆd}$|du�rhtt dƒ�s t dƒ‚nFt|t!ƒ�r6t(du�r(t dƒ‚t( )|¡j*}$nt|tƒ�rH|}$ntdƒ‚|$dk�rht d|$›�ƒ‚zÞ|dk�r¤t+ ,|d|¡|_|j�r¤t+j-|jd|||d�|_|dk�rÚt+ ,|d|¡|_|j�rÚt+j-|j||d�|_|dk�rt+ ,|d|¡|_|j�rt+j-|j||d�|_| .|||||| | | || |||||||| |!|$||¡Wnút/d|j|j|jfƒD](}%z |% 0¡Wnt1�yˆYn0�qd|j�s:g}&|t2k�r®|& '|¡|t2k�rÂ|& '|¡|t2k�rÖ|& '|¡t|d ƒ�rî|& '|j3¡|&D]F}'z*t �rt|'t4ƒ�r|' 5¡n t  0|'¡Wnt1�y4Yn0�qò‚Yn0dS)!NFr\zbufsize 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.gÐ?rtÚ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)6rRÚ threadingZLockÚ _waitpid_lockÚ_inputÚ_communication_startedÚ isinstancerKÚ TypeErrorrŸr2ÚwarningsÚwarnÚRuntimeWarningrdrœr6r.Úpidr+rÆrÇÚboolrÚ _get_handlesÚmsvcrtZopen_osfhandlerLÚ text_modeÚ_sigint_wait_secsÚ_closed_child_pipe_fdsr¹r¨ÚstrÚgrpZgetgrnamZgr_gidr“r”rcÚpwdÚgetpwnamZpw_uidÚioÚopenÚ TextIOWrapperÚ_execute_childÚfilterÚcloser¿rrÐrGrJ)(r/rdÚbufsizeÚ executablerœr6r.Ú preexec_fnÚ close_fdsr¯ÚcwdÚenvrŽÚ startupinfoÚ creationflagsÚrestore_signalsÚstart_new_sessionÚpass_fdsrÃrÄrÅrÆrÇr�rÈÚp2creadÚp2cwriteÚc2preadÚc2pwriteÚerrreadÚerrwriterÎÚgidÚgidsZ extra_groupZ gid_checkÚuidÚfZto_closeÚfdr'r'r(r0ôs.     ÿ þ          ÿ         þ           þ ÿ ÿ ø             zPopen.__init__cCs@d|jj›d|j›d|j›d�}t|ƒdkr<|dd…d}|S)NúéPéLz...>)rMr$r+rdrª)r/Zobj_reprr'r'r(rNÝs ÿÿÿ zPopen.__repr__cCs|jSr*)rÞr3r'r'r(rŽèszPopen.universal_newlinescCst|ƒ|_dSr*)rÛrÞ)r/rŽr'r'r(rŽîscCs | ||¡}| dd¡ dd¡S)Nz r°ú )ÚdecodeÚreplace)r/r±rÆrÇr'r'r(Ú_translate_newlinesòs zPopen._translate_newlinescCs|Sr*r'r3r'r'r(Ú __enter__öszPopen.__enter__cCsØ|jr|j ¡|jr |j ¡z^|jr2|j ¡W|tkrv|jdkrlz|j|jd�WntyjYn0d|_dS| ¡nT|tkrÊ|jdkr¸z|j|jd�Wnty¶Yn0d|_YdS| ¡0dS)Nrr…) r6rêr.rœÚKeyboardInterruptrßÚ_waitrr†)r/Úexc_typer8Ú tracebackr'r'r(Ú__exit__ùs2      ï   zPopen.__exit__cCsT|js dS|jdur(|d|jt|d�|j|d�|jdurPtdurPt |¡dS)Nzsubprocess %s is still running)ÚsourcerS)Ú_child_createdr+rÚÚResourceWarningrVrUrc)r/Z_maxsizeZ_warnr'r'r(rPs  ÿ z Popen.__del__cCs"t|dƒst tjtj¡|_|jS)NrÐ)r¹r¨ræÚdevnullÚO_RDWRrÐr3r'r'r(Ú _get_devnull$s zPopen._get_devnullc Cs²|rZz|j |¡WnDty&Yn4tyX}z|jtjkrBn‚WYd}~n d}~00z|j ¡WnDtyzYn4ty¬}z|jtjkr–n‚WYd}~n d}~00dSr*)rœÚwriteÚBrokenPipeErrorr¿ÚerrnoZEINVALrê)r/r�r¡r'r'r(Ú _stdin_write)s"    zPopen._stdin_writec CsV|jr|rtdƒ‚|dur”|js”|j|j|jg d¡dkr”d}d}|jrT| |¡n6|jrp|j ¡}|j ¡n|jrŠ|j ¡}|j ¡|  ¡nº|dur¨t ƒ|}nd}z†z|  |||¡\}}Wndt �y(|durðt |j| |¡ƒ}n|j}d|_z|j|d�Wnt�y Yn0‚Yn0Wd|_nd|_0|j | |¡d�}||fS)Nz.Cannot send input after starting communicationr¦rr…T)rÔr2rœr6r.ÚcountrÚreadrêr†Ú_timeÚ _communicater ÚminrßÚ_remaining_timer r)r/r�r<r6r.ÚendtimeÚsigint_timeoutÚstsr'r'r(ržBsH ÿ       ÿ zPopen.communicatecCs| ¡Sr*)rVr3r'r'r(r †sz Popen.pollcCs|dur dS|tƒSdSr*)r)r/rr'r'r(rŒszPopen._remaining_timecCsL|dur dS|stƒ|krHt|j||r0d |¡nd|r@d |¡ndd�‚dS)Nr)r�)rrrdr•)r/rÚ orig_timeoutZ stdout_seqZ stderr_seqÚskip_check_and_raiser'r'r(Ú_check_timeout”sýzPopen._check_timeoutc Cs†|durtƒ|}z|j|d�WSty€|durJt|j| |¡ƒ}n|j}d|_z|j|d�WntyxYn0‚Yn0dS)Nr…r)rr r rrßrr)r/r<rr r'r'r(r† s   ÿ z Popen.waitc Cst|ddƒ}t ¡�Ú}trX|dkr.| |j¡|dkrB| |j¡|dkrÊ| |j¡nr|dkr~|dkr~||kr~| tj|¡|dkr¤|dkr¤||kr¤| tj|¡|dkrÊ|dkrÊ||krÊ| tj|¡|durà| tj|¡Wdƒn1sô0Yd|_dS)NrÐr\T) rzÚ contextlibÚ ExitStackrŸÚcallbackrJr¨rêrà) r/rör÷rørùrúrûZ devnull_fdÚstackr'r'r(Ú_close_pipe_fds·s$    ,zPopen._close_pipe_fdsc Cs~|dur|dur|durdSd\}}d\}}d\}} |durtt tj¡}|durÜt dd¡\}} t|ƒ}t | ¡nh|tkr t dd¡\}}t|ƒt|ƒ}}n<|tkr¸t  |  ¡¡}n$t |t ƒrÎt  |¡}nt  |  ¡¡}| |¡}|du�r*t tj¡}|du�r˜t dd¡\} }t|ƒ}t | ¡nn|tk�rXt dd¡\}}t|ƒt|ƒ}}n@|tk�rrt  |  ¡¡}n&t |t ƒ�rŠt  |¡}nt  |  ¡¡}| |¡}|du�ræt tj¡} | du�rdt dd¡\} } t| ƒ} t | ¡n~|tk�rt dd¡\}} t|ƒt| ƒ}} nP|tk�r$|} n@|tk�r>t  |  ¡¡} n&t |t ƒ�rVt  |¡} nt  |  ¡¡} | | ¡} |||||| fS)N)r\r\r\r\r\r\©r\r\r)rOZ GetStdHandlerZ CreatePiperGrIrr rÝZ get_osfhandlerrÕrKÚfilenoÚ_make_inheritablerrr) r/rœr6r.rör÷rørùrúrûÚ_r'r'r(rÜØsp                        þzPopen._get_handlescCs&t t ¡|t ¡ddtj¡}t|ƒS)Nrrt)rOZDuplicateHandleZGetCurrentProcessZDUPLICATE_SAME_ACCESSrG)r/ÚhandleÚhr'r'r(r, s  ýzPopen._make_inheritablecCstdd„|DƒƒS)NcSs,h|]$}|d@dks$t |¡tjkr|’qS)é)rOZ GetFileTypeZFILE_TYPE_CHAR)Ú.0r.r'r'r(Ú 0s  ÿþz,Popen._filter_handle_list..)rF)r/rDr'r'r(Ú_filter_handle_list)szPopen._filter_handle_listc!CsŽt|tƒr nNt|tƒr.| r"tdƒ‚t|gƒ}n,t|tjƒrR| rFtdƒ‚t|gƒ}nt|ƒ}|durlt |¡}|dur|tƒ}n|  ¡}d| ||fv}|r¸|j t j O_ | |_ ||_||_|j}t|oÒd|voÒ|dƒ}|sæ|�r^|�r^|durøi}|_t| dg¡ƒ}|d<|�r0|t| ƒt|ƒt|ƒg7}| |¡|dd…<|�r^|�sZt 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  !||¡}|du�rt |¡}t" #d||||¡z@t  $||ddt| ƒ| |||¡ \}}}} W| %| | | |||¡n| %| | | |||¡0d|_&t'|ƒ|_(||_)t  *|¡dS)Nz$bytes args is not allowed on Windowsú0path-like args is not allowed when shell is truer\rDz?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#rEr>rOrr?r@rArCrÛrFr‹rKr3r×rØrÙrrrBÚenvironÚpathr•ÚisabsÚFileNotFoundErrorr“rWÚauditZ CreateProcessr)rrGÚ_handlerÚrI)!r/rdrìrírîrõrïrðrñròr¯rör÷rørùrúrûZunused_restore_signalsZ unused_gidZ unused_gidsZ unused_uidZ unused_umaskZunused_start_new_sessionZuse_std_handlesZattribute_listZhave_handle_listrDZcomspecZ system_rootZhpZhtrÚÚtidr'r'r(rè6sž      ÿþ ÿ ÿ    ùþþ zPopen._execute_childcCs,|jdur&||jdƒ|kr&||jƒ|_|jS©Nr)r+r=)r/rTZ_WaitForSingleObjectZ_WAIT_OBJECT_0Z_GetExitCodeProcessr'r'r(rVµs  zPopen._internal_pollcCs^|durtj}n t|dƒ}|jdurXt |j|¡}|tjkrJt|j|ƒ‚t  |j¡|_|jS)Niè) rOZINFINITErKr+ÚWaitForSingleObjectr=Z WAIT_TIMEOUTrrdÚGetExitCodeProcess)r/r<Ztimeout_millisr¬r'r'r(r Æs  ÿ  z Popen._waitcCs| | ¡¡| ¡dSr*)rcrrê)r/ZfhÚbufferr'r'r(Ú _readerthreadÖszPopen._readerthreadcCs\|jrBt|dƒsBg|_tj|j|j|jfd�|_d|j_|j ¡|j r„t|dƒs„g|_ tj|j|j |j fd�|_ d|j _|j  ¡|j r”|  |¡|jdurÆ|j | |¡¡|j ¡rÆt|j|ƒ‚|j durø|j  | |¡¡|j  ¡røt|j|ƒ‚d}d}|j�r|j}|j ¡|j �r0|j }|j  ¡|�r>|dnd}|�rP|dnd}||fS)NÚ _stdout_buff)ÚtargetrdTÚ _stderr_buffr)r6r¹rDrÑZThreadrCZ stdout_threadZdaemonÚstartr.rFZ stderr_threadrœrr•rZis_aliverrdrê)r/r�rr"r6r.r'r'r(rÛsJ ÿÿ  ÿÿ          zPopen._communicatecCsl|jdurdS|tjkr"| ¡nF|tjkr>t |jtj¡n*|tjkrZt |jtj¡nt d  |¡ƒ‚dS)NzUnsupported signal: {}) r+r1ÚSIGTERMÚ terminateZ CTRL_C_EVENTr¨r‡rÚZCTRL_BREAK_EVENTr2r“©r/Zsigr'r'r(Ú send_signal s     zPopen.send_signalcCsV|jdurdSzt |jd¡Wn0tyPt |j¡}|tjkrF‚||_Yn0dSr²)r+rOZTerminateProcessr=ÚPermissionErrorrAZ STILL_ACTIVE)r/Zrcr'r'r(rIs    zPopen.terminatec Cs,d\}}d\}}d\}} |dur"n@|tkr8t ¡\}}n*|tkrJ| ¡}nt|tƒrZ|}n| ¡}|durln@|tkr‚t ¡\}}n*|tkr”| ¡}nt|tƒr¤|}n| ¡}|dur¶nf|tkrÌt ¡\}} nP|tkrî|dkrâ|} n t j  ¡} n.|tk�r| ¡} nt|tƒ�r|} n| ¡} |||||| fS)Nr*r\) rr¨Úpiper rrÕrKr+rrWÚ __stdout__) r/rœr6r.rör÷rørùrúrûr'r'r(rÜ0sL        þc Csò|durtj}i} |rJg} dD]"} tt| dƒ}|dur|  |¡q| | d<g}||| fD]}|dkrX| tj|f¡qX|df|df| dffD]"\}}|dkrŒ| tj||f¡qŒ|r¼|| d<tj|||fi| ¤Ž|_d|_ |  ||||| | ¡dS) N)ÚSIGPIPEZSIGXFZÚSIGXFSZZ setsigdefr\rrtr¦Ú file_actionsT) r¨r8rzr1rcÚPOSIX_SPAWN_CLOSEÚPOSIX_SPAWN_DUP2r³rÚrr))r/rdrìrðrórör÷rørùrúrûr‰ZsigsetZsignameZsignumrQrZfd2r'r'r(Ú _posix_spawnfs8  ý þzPopen._posix_spawnc-st|ttfƒr|g}n(t|tjƒr6| r.tdƒ‚|g}nt|ƒ}| rlttdƒrPdnd}|dg|}ˆrlˆ|d<ˆdur||d‰t  dˆ|||¡t �rFtj   ˆ¡�rF|du�rF|�sF|�sF|du�rF| dksÔ| d k�rF|dksæ|d k�rF|dksø|d k�rF|�sF|du�rF|du�rF|du�rF|dk�rF|  |ˆ||| | | |||¡ dSˆ}t ¡\}}g}|d k�r|| |¡t |¡}�qZ|D]}t |¡�q€�zh�z|du�ròg}| ¡D]>\}}t |¡}d |v�rÔtd ƒ‚| |d t |¡¡�q°nd}t ˆ¡‰tj   ˆ¡�rˆf} nt‡fd d„t |¡Dƒƒ} t|ƒ}!|! |¡t || |tttt|!ƒƒƒ||| | | ||||||||||||¡|_d|_Wt |¡n t |¡0|  | | | |||¡t!ƒ}"t "|d¡}#|"|#7}"|#�rðt#|"ƒdk�rÀ�qð�qÀWt |¡n t |¡0|"�rz6t $|jd¡\}$}%|$|jk�r<| %|%¡ntj&|_'Wnt(�yZYn0z|" )dd ¡\}&}'}(|( *¡}(Wn*t�y¤d}&d}'d +t|"ƒ¡}(Yn0t,t-|& *d¡t.ƒ})t/|)t0ƒ�r|'�rt|'dƒ}*|(dk}+|+�rìd}(|},n|},|*dk�rt 1|*¡}(|)|*|(|,ƒ‚|)|(ƒ‚dS)Nr4Zgetandroidapilevelz/system/bin/shz/bin/shz-crr5r\r¦r0ó=z!illegal environment variable namec3s"|]}tj t |¡ˆ¡VqdSr*)r¨r9r•Úfsencode)r1Údir©rìr'r(Ú åsÿz'Popen._execute_child..TiPÃó:sSubprocessErroró0z#Bad exception data from child: {!r}ÚasciiéZnoexecr�)2rÕrár6r¨r7rÖrFr¹rWr<Ú_USE_POSIX_SPAWNr9ÚdirnamerTrMrcÚduprêryrVr2r½Ú get_exec_pathÚsetÚaddÚ_posixsubprocessZ fork_execÚsortedr§rKrÚrr)Ú bytearrayrrªÚwaitpidÚ_handle_exitstatusrXr+ÚChildProcessErrorr¼rr“rzÚbuiltinsrÚ issubclassr¿Ústrerror)-r/rdrìrírîrõrïrðrñròr¯rör÷rørùrúrûrórürýrþrÈrôZ unix_shellZorig_executableZ errpipe_readZ errpipe_writeZlow_fds_to_closeZlow_fdZenv_listÚkriZexecutable_listZ fds_to_keepZ errpipe_dataÚpartrÚr!Zexception_nameZ hex_errnoÚerr_msgZchild_exception_typeZ errno_numZchild_exec_never_calledZ err_filenamer'rXr(rè�s  ÿÿ  ÿþýüûúúùùøø ÷ ö õ ô ó ý        þ ÷ þ      ÿ ÿ  þ    cCs$||ƒr||ƒ |_n ||ƒ|_dSr*)r+)r/r!Úwaitstatus_to_exitcodeZ _WIFSTOPPEDZ _WSTOPSIGr'r'r(rh1szPopen._handle_exitstatusc CsÈ|jdurÂ|j d¡sdSzšzF|jdur<|jWW|j ¡S||j|ƒ\}}||jkr`| |¡WnDty¦}z,|dur‚||_n|j|kr’d|_WYd}~n d}~00W|j ¡n |j ¡0|jS)NFr)r+rÒÚacquireÚreleaserÚrhr¿r)r/rTZ_waitpidZ_WNOHANGZ_ECHILDrÚr!Úer'r'r(rV=s$    ñ  cCs<zt |j|¡\}}Wnty2|j}d}Yn0||fSr?)r¨rgrÚri)r/Z wait_flagsrÚr!r'r'r(Ú _try_wait`s   zPopen._try_waitcCsP|jdur|jS|durÔtƒ|}d}|j d¡r˜zX|jdurLW|j ¡qÒ| tj¡\}}||jkr~|  |¡W|j ¡qÒW|j ¡n |j ¡0|  |¡}|dkr¶t |j |ƒ‚t |d|dƒ}t |¡q&nv|jdu�rJ|j�P|jdu�rWdƒ�qJ| d¡\}}||jk�r(|  |¡WdƒqÔ1�s>0YqÔ|jS)Ngü©ñÒMb@?Frr¦gš™™™™™©?)r+rrÒrqrrrtr¨ÚWNOHANGrÚrhrrrdrÚtimeÚsleep)r/r<rZdelayrÚr!Z remainingr'r'r(r ms>     ù   þ     ,c Cs2|jrT|jsTz|j ¡Wnty,Yn0|sTz|j ¡WntyRYn0d}d}|jsŒi|_|jrzg|j|j<|jrŒg|j|j<|jrž|j|j}|jr°|j|j}| |¡|j rÊt |j ƒ}t ƒ��Ä}|jrî|rî|  |jt j¡|j�r|jj�s|  |jt j¡|j�r2|jj�s2|  |jt j¡| ¡�rˆ| |¡}|du�rv|dk�rv|j||||dd�tdƒ‚| |¡} | ||||¡| D]î\} } | j|ju�r0||j|jt…} z|jt | j| ¡7_Wn*t�y| | j¡| j ¡Yn*0|jt|j ƒk�r€| | j¡| j ¡nP| j|j|jfv�r”t | jd¡} | �sn| | j¡| j ¡|j| j | ¡�q”�q2Wdƒn1�sž0Y|j | |¡d�|du�rÎd !|¡}|du�râd !|¡}|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ÔÚflushrrêZ_fileobj2outputr6r.Ú _save_inputrÓÚ memoryviewÚ_PopenSelectorÚregisterÚ selectorsZ EVENT_WRITErHZ EVENT_READZget_maprr$Ú RuntimeErrorÚselectZfileobjÚ _input_offsetÚ _PIPE_BUFr¨rrZ unregisterrªrrcr†r•rÞrrÆrÇ)r/r�rr"r6r.Z input_viewZselectorr<ZreadyÚkeyZeventsÚchunkr±r'r'r(r–s              þÿ  ÿ     :     þ þcCsF|jrB|jdurBd|_||_|durB|jrB|j |jj|jj¡|_dSr?)rœrÓr€rÞÚencoderÆrÇ)r/r�r'r'r(ryüs ÿzPopen._save_inputcCs@| ¡|jdurdSzt |j|¡Wnty:Yn0dSr*)r r+r¨r‡rÚÚProcessLookupErrorrJr'r'r(rKs  cCs| tj¡dSr*)rKr1rHr3r'r'r(rI(scCs| tj¡dSr*)rKr1ÚSIGKILLr3r'r'r(r‡-sz Popen.kill)r\NNNNNTFNNNNrTFr')NN)F)N)9r$r%r&rr0rNr—r˜r™ršr:rŽr;rr rrWrXr×rØrPrrržr rr$r†r)rŸrÜr,r3rèrOr@Z WAIT_OBJECT_0rArVr rCrrKrIr‡rTr¨rpÚ WIFSTOPPEDÚWSTOPSIGrhrgrurZECHILDrtryr'r'r'r(r¼s„6úù j    D ÿ H  ý 26'&ý ÿ # )f  r)Krjrrår¨rvr1rWrÑr×r%rrr˜rãÚ ImportErrorrâÚ__all__rÝrOrŸÚModuleNotFoundErrorrdrr}rrrrrrrrrrrrrrrr r!r"rÚ Exceptionrr rr#rKrGrzr�r¹rQr{ZSelectSelectorrUrRrrr rer„rrr Úobjectrr r®rr rÂr^rr'r'r'r(Ú,s~        P  %      ;3%ÿ EI /