Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 18.221.104.12
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : subprocess.cpython-310.opt-2.pyc
o

^bG�@sj	ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddlm
ZddlZzddl
Z
WneyDdZ
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�de+�Z,Gdd
�d
e+�Z-er�Gdd�d�Z.Gdd�de/�Z0ne1edd�Z2e3ed�r�ej4Z5nej6Z5er�dZ7dd�Z8ngZ7dd�Z8dZ9dZ:dZ;dd�Z<dd�Z=dd�d d!�Z>d"d#�Z?dd�d$d%�Z@Gd&d'�d'eA�ZBddddd(�d)d*�ZCd+d,�ZDd-d.�ZEd/d0�ZFd1d2�ZGeG�ZHGd3d4�d4�ZIdS)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'�3/usr/local/python-3.10/lib/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|jfYSwd|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-�signal�Signals�
ValueError�r0r'r'r(�__str__us�

���zCalledProcessError.__str__cCs	|jSr+�r.r6r'r'r(�stdout�szCalledProcessError.stdoutcC�
||_dSr+r8�r0�valuer'r'r(r9��
�NN�r$r%r&r1r7�propertyr9�setterr'r'r'r(rhs

rc@r))
rNcCr*r+)r-�timeoutr.r/)r0r-rBr.r/r'r'r(r1�r2zTimeoutExpired.__init__cCsd|j|jfS)Nz'Command '%s' timed out after %s seconds)r-rBr6r'r'r(r7�s
�zTimeoutExpired.__str__cC�|jSr+r8r6r'r'r(r9�szTimeoutExpired.stdoutcCr:r+r8r;r'r'r(r9�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_listrD)r0rErFrGrHrIrJr'r'r(r1�szSTARTUPINFO.__init__cCs@|j��}d|vrt|d�|d<t|j|j|j|j|j|d�S)NrKrD)	rJ�copy�listr#rErFrGrHrI)r0Z	attr_listr'r'r(rL�s
�zSTARTUPINFO.copy)r$r%r&r1rLr'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)rO�intr5r6r'r'r(�Detach�sz
Handle.DetachcCsd|jjt|�fS)Nz%s(%d))�	__class__r$rRr6r'r'r(�__repr__�szHandle.__repr__N)
r$r%r&rO�_winapirPrQrSrU�__del__r'r'r'r(rN�srN�PIPE_BUFi�PollSelectorcCsdSr+r'r'r'r'r(�_cleanup��rZc	CsZtdurdStdd�D]}|jtjd�}|dur*zt�|�Wqty)YqwqdS)N��
_deadstate)�_active�_internal_poll�sys�maxsize�remover5)�inst�resr'r'r(rZ�s������������cCs,	g}tjj}|dkr|�dd|�|S)Nr�-�O)r`�flags�optimize�append)�argsr<r'r'r(�"_optim_args_from_interpreter_flagssrncCsP	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�quietrrhz-Iz-Ez-s�	_xoptions�dev�zerror::BytesWarningzdefault::BytesWarning�defaultz-W)�-Xr|)�faulthandler�tracemalloc�
importtime�showrefcount�utf8Tz%s=%sr)
rn�items�getattrr`rjrl�isolated�ignore_environment�no_user_site�warnoptionsryrb�extend)�flag_opt_maprm�flag�optrr�warnoptsry�xoptions�dev_moder<�argr'r'r(�_args_from_interpreter_flagssV��




�r��rBcOsT	t|i|���}z|j|d�WWd�S|���1s#wYdS)Nr�)r�wait�kill)rB�	popenargs�kwargs�pr'r'r(rQs��rcOs<	t|i|��}|r|�d�}|dur|d}t||��dS)Nrmr)r�getr)r�r��retcoder-r'r'r(rbs	

rcOsd	d|vr	td��d|vr&|ddur&|�d�s|�d�r d}nd}||d<t|t|dd	�|��jS)
Nr9z3stdout argument not allowed, it will be overridden.�input�universal_newlines�text��T)r9rB�check)r5r�rrr9)rBr�r��emptyr'r'r(r
us"��r
c@s2eZdZ	ddd�Zdd�Zeej�Zdd�Z	dS)	rNcCr*r+)rmr,r9r/)r0rmr,r9r/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}zstdout={!r}zstderr={!r}z{}({})z, )	�formatrmr,r9rlr/�typer$�join)r0rmr'r'r(rU�s

�

zCompletedProcess.__repr__cCs"	|jrt|j|j|j|j��dSr+)r,rrmr9r/r6r'r'r(�check_returncode�s��z!CompletedProcess.check_returncoder>)
r$r%r&r1rU�classmethod�types�GenericAlias�__class_getitem__r�r'r'r'r(r�s


	r)r��capture_outputrBr�cOs&	|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.r9r/z@stdout and stderr arguments may not be used with capture_output.r��r.r/)r�r5rr�communicaterr��
_mswindowsr9r/r��pollrrmr)r�r�rBr�r�r��processr9r/�excr�r'r'r(r�s@�����rcCs�	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�qd�|�S)	NF� �	�"�\�z\"r�)�map�os�fsdecoderl�lenr�r�)�seq�result�	needquoter��bs_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/rre�
)r
rrr.r,)r-�data�exitcode�exr'r'r(rZs��rcCs	t|�dS�Nr})r)r-r'r'r(r	ys	r	c
Cs�	tsttd�s
dStjdvrdSz<t�d�}|jdd�}t|�dkr%t�|d	}t	t
t|d�d
���}tjdkrE|dkrH|d
krKWdSWdSWdSWdSttt
fyZYdSw)N�posix_spawnF)�darwin�sunos5T�CS_GNU_LIBC_VERSIONr})�maxsplitr�r�.�linux�glibc)r��)r��hasattrr�r`�platform�confstr�splitr�r5�tupler�rR�AttributeError�OSError)�ver�parts�libc�versionr'r'r(�_use_posix_spawn�s0

�����r�c
@s�eZdZ	dZ							dLddddddddd�dd	�Zd
d�Zeej�Z	e
dd
��Zejdd
��Zdd�Z
dd�Zdd�Zejejfdd�Zdd�Zdd�ZdMdd�Zdd�Zdd �Z	dNd!d"�ZdOd#d$�Zd%d&�Zer�d'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,dSd;d(�Zd<d=�Z-d>d.�Z!e.j/e.j0e.j1fd?d@�Z2de.j3e.j4e5j6fdAd0�Z&dBdC�Z7dDd2�Z'dEd6�Z)dFdG�Z8dHd8�Z*dId:�Z+dJdK�Z,dS)PrFreNTrr')�user�group�extra_groups�encoding�errorsr��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�)#NFrezbufsize 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)8rZ�	threading�Lock�
_waitpid_lock�_input�_communication_started�
isinstancerR�	TypeErrorr�r5�warnings�warn�RuntimeWarningrmr�r9r/�pidr,r�r�r��boolr�_get_handles�msvcrt�open_osfhandlerS�	text_mode�_sigint_wait_secs�_closed_child_pipe_fdsr�r��str�grp�ImportError�getgrnam�gr_gidr�r�rl�pwd�getpwnam�pw_uid�io�open�
TextIOWrapper�_execute_child�filter�closer�rr�rNrQ)+r0rm�bufsize�
executabler�r9r/�
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�gids�extra_group�	gid_check�uidr�f�to_close�fdr'r'r(r1�sZ


���


�
�

�
�
�
�


�
�
�
�	�







��zPopen.__init__cCs@d|jj�d|j�d|j�d�}t|�dkr|dd�d}|S)N�<z: returncode: z args: �>�P�Lz...>)rTr$r,rmr�)r0�obj_reprr'r'r(rU�s���zPopen.__repr__cCrCr+)r�r6r'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'r6r'r'r(�	__enter__r[zPopen.__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�)	r9r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)�sourcer\)�_child_createdr,r��ResourceWarningr_r^rl)r0�_maxsize�_warnr'r'r(rW$s

��z
Popen.__del__cCs"t|d�st�tjtj�|_|jS)Nr�)r�r�r�devnull�O_RDWRr�r6r'r'r(�_get_devnull3s
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��errno�EINVALr)r0r�r�r'r'r(�_stdin_write8s.���	���zPopen._stdin_writecCsT	|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�r5r�r9r/�countrA�readrr��_time�_communicater0�minr��_remaining_timer1r)r0r�rBr9r/�endtime�sigint_timeout�stsr'r'r(r�QsT
�


������zPopen.communicatecCs
	|��Sr+)r_r6r'r'r(r��sz
Popen.pollcCs	|durdS|t�Sr+)rD)r0rHr'r'r(rG�s
zPopen._remaining_timecCsR	|durdS|st�|kr't|j||rd�|�nd|r#d�|�d��dd��dS)Nr�r�)rDrrmr�)r0rH�orig_timeout�
stdout_seq�
stderr_seq�skip_check_and_raiser'r'r(�_check_timeout�s���zPopen._check_timeoutcCs~	|dur
t�|}z|j|d�WSty>|dur&t|j|�|��}n|j}d|_z|j|d�W�ty=Y�ww)Nr�r)rDr1r0rFr�rGr)r0rBrHrIr'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�reT)	r��
contextlib�	ExitStackr��callbackrQr�rr�)	r0rrrrrr�
devnull_fd�stackr'r'r(�_close_pipe_fds�s*
���
zPopen._close_pipe_fdscCsr	|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)rererererere�rerer)rVZGetStdHandlerZ
CreatePiperNrPrr
r�Z
get_osfhandler<r�rR�fileno�_make_inheritablerrr)r0r�r9r/rrrrrr�_r'r'r(r��sx
�


�


�



�zPopen._get_handlescCs(	t�t��|t��ddtj�}t|�S)Nrr})rVZDuplicateHandleZGetCurrentProcessZDUPLICATE_SAME_ACCESSrN)r0�handle�hr'r'r(rX/s
�zPopen._make_inheritablecCs	tdd�|D��S)NcSs,h|]}|d@dkst�|�tjkr|�qS)�)rVZGetFileTypeZFILE_TYPE_CHAR)�.0rZr'r'r(�	<setcomp>?s
��
�z,Popen._filter_handle_list.<locals>.<setcomp>)rM)r0rKr'r'r(�_filter_handle_list8szPopen._filter_handle_listc Cs,	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
tj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
tjO_
tj|_tj�dd�}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 truererKz?startupinfo.lpAttributeList['handle_list'] overriding close_fdsFZCOMSPECzcmd.exez
{} /c "{}"�subprocess.PopenT)'r�r��bytesr�r�r��PathLiker�r#rLrErVrrFrGrHrJr�rMr�rRr_r�r�r�rrrI�environr�r`�auditZ
CreateProcessrUr6rN�_handler�rP) r0rmrrrrrrrrr�rrrrrrZunused_restore_signalsZ
unused_gidZunused_gidsZ
unused_uidZunused_umaskZunused_start_new_sessionZuse_std_handlesZattribute_listZhave_handle_listrKZcomspecZhpZhtr��tidr'r'r(r
Es�



��

��
���
zPopen._execute_childcCs.	|jdur||jd�|kr||j�|_|jS�Nr)r,rf)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�)
rVZINFINITErRr,�WaitForSingleObjectrfZWAIT_TIMEOUTrrm�GetExitCodeProcess)r0rBZtimeout_millisr�r'r'r(r1�s
�
zPopen._waitcCs|�|���|��dSr+)rlrCr)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)�targetrmT�_stderr_buffr)r9r�rmr��ThreadrlZ
stdout_thread�daemon�startr/roZ
stderr_threadr�rAr�rG�is_aliverrmr)r0r�rHrKr9r/r'r'r(rE�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_EVENTr5r��r0�sigr'r'r(�send_signals



zPopen.send_signalcCsX	|jdurdSz
t�|jd�WdSty+t�|j�}|tjkr%�||_YdSwr�)r,rVZTerminateProcessrf�PermissionErrorrjZSTILL_ACTIVE)r0�rcr'r'r(rus

�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�|}	q�t
j��}	n|tkr�|��}	nt	|t
�r�|}	n|��}	||||||	fS)NrVr�F_SETPIPE_SZre)rr��piper�r��fcntlr{r
r<r�rRrWrr`�
__stdout__)
r0r�r9r/rrrrrrr'r'r(r�/s`�

�

�

�cCs�	|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)�SIGPIPE�SIGXFZ�SIGXFSZ�	setsigdefrerr}r��file_actionsT)r�rdr�r3rl�POSIX_SPAWN_CLOSE�POSIX_SPAWN_DUP2r�r�r6rU)r0rmrrrrrrrrrr��sigset�signame�signumr�r%�fd2r'r'r(�_posix_spawnks@
�����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��|�|dt�|��q�nd}t����tj���r��f} nt�fd
d�t�|�D��} t|�}!|!�|�t�|| |tttt|!���|||||
||||||||||||�|_d|_Wt�|�nt�|�w|� |||
|||�t!�}"	t�"|d�}#|"|#7}"|#�rbt#|"�dk�rd�qf�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`�getandroidapilevelz/system/bin/shz/bin/shz-crrarer�r\�=z!illegal environment variable namec3s$�|]
}tj�t�|���VqdSr+)r��pathr��fsencode)r]�dir�rr'r(�	<genexpr>�s
��
�z'Popen._execute_child.<locals>.<genexpr>TiP��:sSubprocessError�0z#Bad exception data from child: {!r}�ascii��noexecr�)2r�r�rbr�rcr�rMr�r`re�_USE_POSIX_SPAWNr��dirnamer�r|rl�duprr�r�r5r��
get_exec_path�set�add�_posixsubprocess�	fork_exec�sortedr�rRr�r6rU�	bytearrayrCr��waitpid�_handle_exitstatusrar,�ChildProcessErrorr�r,r�r��builtinsr�
issubclassr��strerror)-r0rmrrrrrrrrr�rrrrrrrrrr"r�r�
unix_shell�orig_executable�errpipe_read�
errpipe_write�low_fds_to_close�low_fd�env_list�krr�executable_list�fds_to_keep�errpipe_data�partr�rJ�exception_name�	hex_errno�err_msg�child_exception_type�	errno_num�child_exec_never_called�err_filenamer'r�r(r
�s*	��
�����������	�
���
��

�
�
�
�
����
���
�


�cCs(	||�r
||�|_dS||�|_dSr+)r,)r0rJ�waitstatus_to_exitcode�_WIFSTOPPED�	_WSTOPSIGr'r'r(r�6szPopen._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�r�r�r?)r0r]�_waitpid�_WNOHANG�_ECHILDr�rJ�er'r'r(r_Bs6

�

�
���
�
��cCsB	zt�|j|�\}}W||fSty |j}d}Y||fSwrh)r�r�r�r�)r0�
wait_flagsr�rJr'r'r(�	_try_waites��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,rDr�r�r�r�r��WNOHANGr�r�rGrrmrF�time�sleep)r0rBrH�delayr�rJ�	remainingr'r'r(r1rsP



�


�

�

�	�

��
�
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)rNzN_check_timeout(..., skip_check_and_raise=True) failed to raise TimeoutExpired.i�r�r�)&r�r��flushr>r�_fileobj2outputr9r/�_save_inputr��
memoryview�_PopenSelector�register�	selectors�EVENT_WRITErO�
EVENT_READ�get_maprGrO�RuntimeError�select�fileobj�
_input_offset�	_PIPE_BUFr�r=r%�
unregisterr�rCrlr�r�r�r.r�r�)r0r�rHrKr9r/�
input_view�selectorrB�ready�key�events�chunkr�r'r'r(rE�s���




��
��
�
����,




�
�cCsV|jr#|jdur%d|_||_|dur'|jr)|j�|jj|jj�|_dSdSdSdSdSrh)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��ProcessLookupErrorrvr'r'r(rx
s
�cC�	|�tj�dSr+)rxr3rtr6r'r'r(ru-�cCr�r+)rxr3�SIGKILLr6r'r'r(r�2r�z
Popen.kill)reNNNNNTFNNNNrTFr'r>)Fr+)9r$r%r&r6r1rUr�r�r�r�r@r�rAr.r/r4r`rar�r�rWr<rAr�r�rGrOr�rUr�r�rXr_r
rVriZ
WAIT_OBJECT_0rjr_r1rlrErxrur�r�r�r��
WIFSTOPPED�WSTOPSIGr�r�r�r?�ECHILDr�r�r'r'r'r(r�s�5�
�|
	


D	
�
H	
o
�2<'&
�
�#
)f r)Jr�r?rr�r�r3r`r�r�rPrrDr�r}r�__all__r�rVr��ModuleNotFoundErrorr�r�r�rrrrrrrrrrrrrrrr r!r"r��	Exceptionrrrr#rRrNr�r�r�rYr��SelectSelectorr^rZrrr
rnr�rrr
�objectrrr�rr	r�r�rr'r'r'r(�<module>s~"��P

%
	


;3%�EI
0
© 2025 GrazzMean