Edit File: subprocess.cpython-38.opt-2.pyc
U ����@��d�1���������������������@���s���d�dl�Z�d�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dl Z d�dlm Z�ddddddd d ddd dddgZzd�dl Z d�dlZdZW�n0�ek r����dZd�dlZd�dlZd�dlZY�n�X�d�dlmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%�e�&ddddddddddddd d!d"d#d$d%d&g��G�d'd��de'�Z(G�d(d��de(�Z)G�d)d��de(�Z*e�r�G�d*d��d�Z+G�d+d,��d,e,�Z-n&e.ed-d.�Z/e0ed/��r�ej1Z2nej3Z2e�r�dZ4d0d1��Z5ng�Z4d2d1��Z5d3Z6d4Z7d5Z8d6d7��Z9d8d9��Z:dd:�d;d�Z;d<d��Z<dd:�d=d �Z=G�d>d��de>�Z?ddddd?�d@d�Z@dAdB��ZAdCd��ZBdDd ��ZCdEdF��ZDeD��ZEG�dGd��de>�ZFdS�)H�����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_JOBr���r���r���r���r���r���r���r����STARTUPINFOr���r���r���r���r���r���r���r ���r!���r"���c�������������������@���s���e�Zd�ZdS�)r���N)�__name__� __module__�__qualname__��r'���r'����//opt/alt/python38/lib64/python3.8/subprocess.pyr���`���s����c�������������������@���s8���e�Zd�Zd dd�Zdd��Zedd���Zejdd���ZdS�) r���Nc�����������������C���s���||�_�||�_||�_||�_d�S��N)� returncode�cmd�output�stderr)�selfr*���r+���r,���r-���r'���r'���r(����__init__j���s����zCalledProcessError.__init__c�����������������C���sh���|�j�rT|�j�dk�rTzd|�jt�|�j���f�W�S��tk rP���d|�j|�j��f��Y�S�X�nd|�j|�j�f�S�d�S�)Nr���zCommand '%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__p���s����������zCalledProcessError.__str__c�����������������C���s���|�j�S�r)����r,���r2���r'���r'���r(����stdout|���s����zCalledProcessError.stdoutc�����������������C���s ���||�_�d�S�r)���r4����r.����valuer'���r'���r(���r5�������s����)NN�r$���r%���r&���r/���r3����propertyr5����setterr'���r'���r'���r(���r���c���s��� c�������������������@���s8���e�Zd�Zd dd�Zdd��Zedd���Zejdd���ZdS�) r���Nc�����������������C���s���||�_�||�_||�_||�_d�S�r)���)r+����timeoutr,���r-���)r.���r+���r;���r,���r-���r'���r'���r(���r/�������s����zTimeoutExpired.__init__c�����������������C���s���d|�j�|�jf�S�)Nz'Command '%s' timed out after %s seconds)r+���r;���r2���r'���r'���r(���r3�������s���� �zTimeoutExpired.__str__c�����������������C���s���|�j�S�r)���r4���r2���r'���r'���r(���r5�������s����zTimeoutExpired.stdoutc�����������������C���s ���||�_�d�S�r)���r4���r6���r'���r'���r(���r5�������s����)NNr8���r'���r'���r'���r(���r�������s��� c�������������������@���s,���e�Zd�Zddddddd�dd�Zdd��ZdS�)r#���r���N��dwFlags� hStdInput� hStdOutput� hStdError�wShowWindow�lpAttributeListc����������������C���s0���||�_�||�_||�_||�_||�_|p(dg�i|�_d�S�)N�handle_listr<���)r.���r=���r>���r?���r@���rA���rB���r'���r'���r(���r/�������s����zSTARTUPINFO.__init__c�����������������C���s@���|�j����}d|kr"t|d��|d<�t|�j|�j|�j|�j|�j|d�S�)NrC���r<���) rB����copy�listr#���r=���r>���r?���r@���rA���)r.���Z attr_listr'���r'���r(���rD�������s���� �zSTARTUPINFO.copy)r$���r%���r&���r/���rD���r'���r'���r'���r(���r#�������s������ c�������������������@���s2���e�Zd�ZdZejfdd�Zdd��Zdd��ZeZ dS�) �HandleFc�����������������C���s���|�j�sd|�_�||���d�S�)NT)�closed)r.����CloseHandler'���r'���r(����Close����s����zHandle.Closec�����������������C���s ���|�j�sd|�_�t|��S�td��d�S�)NTzalready closed)rG����intr1���r2���r'���r'���r(����Detach����s����z Handle.Detachc�����������������C���s���d|�j�jt|��f�S�)Nz%s(%d))� __class__r$���rJ���r2���r'���r'���r(����__repr__����s����zHandle.__repr__N) r$���r%���r&���rG����_winapirH���rI���rK���rM����__del__r'���r'���r'���r(���rF�������s ���rF���ZPIPE_BUFi����PollSelectorc�������������������C���s���d�S�r)���r'���r'���r'���r'���r(����_cleanup����s����rQ���c��������������� ���C���s\���t�d�krd�S�t�d�d���D�]>}�|�jtjd�}|d�k rzt��|���W�q�tk rT���Y�qX�qd�S�)N�� _deadstate)�_active�_internal_poll�sys�maxsize�remover1���)�inst�resr'���r'���r(���rQ�������s�������������c������������������C���s*���g�}�t�jj}|dkr&|��dd|����|�S�)Nr����-�O)rV����flags�optimize�append)�argsr7���r'���r'���r(����"_optim_args_from_interpreter_flags��s ����rd���c������������������C���sV��ddddddd�}�t���}|����D�].\}}ttj|�}|dkr |�d ||����q tjjrd|�d ��n$tjjrv|�d��tjjr�|�d��tj d�d���}tjj }ttd i��}d|k}|dkr�|�d��n|r�|�d��|r�|�d��|D�]}|�d|���q�|�r |�d��dD�]B}||k�r||�} | dk�r4|} nd|| f�} |�d| f���q|S�)N�d�B�S�v�b�q)�debug�dont_write_bytecode�no_site�verbose� bytes_warning�quietr���r^���z-Iz-Ez-s� _xoptions�dev����zerror::BytesWarningzdefault::BytesWarning�defaultz-W)�-Xrr���)Zfaulthandler�tracemallocZ importtimeZshowalloccountZshowrefcount�utf8Tz%s=%sru���) rd����items�getattrrV���r`���rb����isolated�ignore_environment�no_user_site�warnoptionsro���rX����extend)Zflag_opt_maprc����flag�optrh���Zwarnoptsro���Zxoptions�dev_moder7����argr'���r'���r(����_args_from_interpreter_flags��sP����� r�����r;���c�������������� ���O���sL���t�||��8}z|j|�d�W�W��5�Q�R���S����|������Y�nX�W�5�Q�R�X�d�S�)Nr����)r����wait�kill)r;���� popenargs�kwargs�pr'���r'���r(���r���L��s����c������������������O���s6���t�|�|�}|r2|�d�}|d�kr(|�d�}t||��dS�)Nrc���r���)r����getr���)r����r�����retcoder+���r'���r'���r(���r���]��s���� c�����������������O���sb���d|krt�d��d|krJ|d�d�krJ|�d�s8|�d�r>d}nd}||d<�t|t|�dd �|��jS�) Nr5���z3stdout argument not allowed, it will be overridden.�input�universal_newlines�text�������T)r5���r;����check)r1���r����r���r���r5���)r;���r����r�����emptyr'���r'���r(���r ���p��s����#�c�������������������@���s&���e�Zd�Zddd�Zdd��Zdd��ZdS�) r���Nc�����������������C���s���||�_�||�_||�_||�_d�S�r)���)rc���r*���r5���r-���)r.���rc���r*���r5���r-���r'���r'���r(���r/������s����zCompletedProcess.__init__c�����������������C���sh���d��|�j�d��|�j�g}|�jd�k r4|�d��|�j���|�jd�k rP|�d��|�j���d��t|��jd�|��S�)Nz args={!r}zreturncode={!r}zstdout={!r}zstderr={!r}z{}({})z, ) �formatrc���r*���r5���rb���r-����typer$����join)r.���rc���r'���r'���r(���rM������s���� � zCompletedProcess.__repr__c�����������������C���s ���|�j�rt|�j�|�j|�j|�j��d�S�r)���)r*���r���rc���r5���r-���r2���r'���r'���r(����check_returncode���s�����z!CompletedProcess.check_returncode)NN)r$���r%���r&���r/���rM���r����r'���r'���r'���r(���r������s��� )r�����capture_outputr;���r����c�����������������O���s ��|�d�k r&|��d�d�k rtd��t|d<�|r^|��d�d�k sF|��d�d�k rNtd��t|d<�t|d<�t||���}z|j|�|d�\}}W�n^�tk r��} �z,|����tr�|���\| _| _ n|� �����W�5�d�} ~ X�Y�n���|������Y�nX�|���} |�r| �rt| |j ||d��W�5�Q�R�X�t|j | ||�S�)N�stdinz/stdin and input arguments may not both be used.r5���r-���z@stdout and stderr arguments may not be used with capture_output.r�����r,���r-���)r����r1���r���r����communicater���r����� _mswindowsr5���r-���r�����pollr���rc���r���)r����r����r;���r����r����r����Zprocessr5���r-����excr����r'���r'���r(���r������s8������c�����������������C���s����g�}d}t�tj|��D�]�}g�}|r*|�d��d|kp>d|kp>|�}|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�fsdecoderb����lenr~���r����)�seq�resultZ needquoter����Zbs_buf�cr'���r'���r(����list2cmdline ��s4���� r����c�������������� ���C���sl���zt�|�ddtd�}d}W�n.�tk rF�}�z|j}|j}W�5�d�}~X�Y�nX�|dd���dkrd|d�d��}||fS�)NT)�shellr����r-���r���r[���� )r ���r���r���r,���r*���)r+����dataZexitcodeZexr'���r'���r(���r���R��s����c�����������������C���s���t�|��d�S��Nrs���)r���)r+���r'���r'���r(���r ���q��s���� c��������������� ���C���s����t�sttd�sdS�tjdkr dS�zjt�d�}�|�jdd�}t|�dkrHt�|d �}t t t|d��d ���}tjdkr�|dkr�|d kr�W�dS�W�n�ttt fk r����Y�nX�dS�)N�posix_spawnF�darwinT�CS_GNU_LIBC_VERSIONrs���)�maxsplitr����r����.ZlinuxZglibc)r��������)r�����hasattrr����rV����platform�confstr�splitr����r1����tupler����rJ����AttributeError�OSError)Zver�partsZlibc�versionr'���r'���r(����_use_posix_spawn~��s ���� r����c�������������������@���s���e�Zd�ZdZdJdddd�dd �Zed d���Zejdd���Zd d��Zdd��Z dd��Z eje jfdd�Zdd��Zdd��ZdKdd�Zdd��Zdd��ZdLdd �ZdMd!d"�Zd#d$��Ze�rd%d&��Zd'd(��Zd)d*��Zd+d,��Zdejejej fd-d.�Z!d/d0��Z"d1d2��Z#d3d4��Z$d5d6��Z%d7d8��Z&e&Z'n�d9d&��Zd:d;��Z(d<d,��Ze)j*e)j+e)j,e)j-e)j.e)j/fd=d>�Z0de)j1e)j2e3j4fd?d.�Z!d@dA��Z5dBd0��Z"dCd4��Z$dDdE��Z6dFd6��Z%dGd8��Z&dHdI��Z'dS�)Nr���Fr[���NTr���r'���)�encoding�errorsr����c����������������C���sl��t����t���|�_d�|�_d|�_|d�kr(d}t|t�s:td��t rP|d�k r�t d��n8|rh|sht�dt ��d}| d�k rxt d��|dkr�t d ��||�_d�|�_d�|�_d�|�_d�|�_d�|�_||�_||�_|d�k r�|d�k r�t|�t|�kr�td ��|��|||�\}}}}}}t �rN|dk�rt�|���d�}|dk�r4t�|���d�}|dk�rNt�|���d�}|�pb|�pb|�pb||�_d|�_d|�_|�j�r�|dk�r�d}d}nd}z�|dk�r�t� |d |�|�_|�j�r�tj!|�jd|||d�|�_|dk�rt� |d|�|�_|�j�rtj!|�j||d�|�_|dk�r:t� |d|�|�_|�j�r:tj!|�j||d�|�_|��"|||||| || || ||||||||��W�n����t#d�|�j|�j|�jf�D�]*}z|�$���W�n�t%k �r����Y�nX��q�|�j�s`g�}|t&k�r�|�'|��|t&k�r�|�'|��|t&k�r�|�'|��t(|�d��r|�'|�j)��|D�]H}z*t �r8t|t*��r8|�+���n t,�$|��W�n�t%k �rZ���Y�nX��q��Y�nX�d�S�)NFr[���zbufsize must be an integerz0preexec_fn is not supported on Windows platformszpass_fds overriding close_fds.Tz2startupinfo is only supported on Windows platformsr���z4creationflags is only supported on Windows platformszlCannot disambiguate when both text and universal_newlines are supplied but different. Pass one or the other.g�������?rs����wb)� write_through�line_bufferingr����r�����rb)r����r�����_devnull)-rQ���� threadingZLock� _waitpid_lock�_input�_communication_started� isinstancerJ���� TypeErrorr����r1����warnings�warn�RuntimeWarningrc���r����r5���r-����pidr*���r����r�����boolr����_get_handles�msvcrtZopen_osfhandlerK���� text_mode�_sigint_wait_secs�_closed_child_pipe_fds�io�open� TextIOWrapper�_execute_child�filter�closer����r���rb���r����r����rF���rI���r����)r.���rc����bufsize� executabler����r5���r-���� preexec_fn� close_fdsr�����cwd�envr�����startupinfo� creationflags�restore_signals�start_new_session�pass_fdsr����r����r�����p2cread�p2cwrite�c2pread�c2pwrite�errread�errwriter�����fZto_close�fdr'���r'���r(���r/������s����� ���� �� �� ����������� zPopen.__init__c�����������������C���s���|�j�S�r)���)r����r2���r'���r'���r(���r����~��s����zPopen.universal_newlinesc�����������������C���s���t�|�|�_d�S�r)���)r����r����)r.���r����r'���r'���r(���r�������s����c�����������������C���s ���|��||�}|�dd��dd�S�)Nz r����� )�decode�replace)r.���r����r����r����r'���r'���r(����_translate_newlines���s����zPopen._translate_newlinesc�����������������C���s���|�S�r)���r'���r2���r'���r'���r(���� __enter__���s����zPopen.__enter__c�����������������C���s����|�j�r|�j�����|�jr |�j����d�z|�jr4|�j����W�5�|tkr�|�jdkrrz|�j|�jd��W�n�tk rp���Y�nX�d|�_���d�S�|�����X��d�S�)Nr���r����) r5���r����r-����KeyboardInterruptr�����_waitr���r����r����)r.����exc_typer7���� tracebackr'���r'���r(����__exit__���s ���� zPopen.__exit__c�����������������C���sT���|�j�s d�S�|�jd�kr(|d|�j�t|�d��|�j|d��|�jd�krPtd�k rPt�|���d�S�)Nzsubprocess %s is still running)�sourcerR���)�_child_createdr*���r�����ResourceWarningrU���rT���rb���)r.���Z_maxsizeZ_warnr'���r'���r(���rO������s���� ��z Popen.__del__c�����������������C���s"���t�|�d�st�tjtj�|�_|�jS�)Nr����)r����r����r�����devnull�O_RDWRr����r2���r'���r'���r(����_get_devnull���s���� zPopen._get_devnullc�������������� ���C���s����|rZz|�j��|��W�nD�tk r(���Y�n2�tk rX�}�z|jtjkrFn��W�5�d�}~X�Y�nX�z|�j�����W�nD�tk r|���Y�n2�tk r��}�z|jtjkr�n��W�5�d�}~X�Y�nX�d�S�r)���)r�����write�BrokenPipeErrorr�����errnoZEINVALr����)r.���r����r����r'���r'���r(����_stdin_write���s"����zPopen._stdin_writec�����������������C���sT��|�j�r|rtd��|d�kr�|�j�s�|�j|�j|�jg�d��dkr�d�}d�}|�jrT|��|��n6|�jrp|�j���}|�j����n|�jr�|�j���}|�j����|�� ���n�|d�k r�t ��|�}nd�}z�z|��|||�\}}W�nh�tk �r,���|d�k r�t |�j|��|��}n|�j}d|�_z|�j|d��W�n�tk �r$���Y�nX���Y�nX�W�5�d|�_�X�|�j |��|�d�}||fS�)Nz.Cannot send input after starting communicationr����Tr���r����)r����r1���r����r5���r-����countr���readr����r�����_time�_communicater�����minr�����_remaining_timer����r���)r.���r����r;���r5���r-����endtime�sigint_timeout�stsr'���r'���r(���r�������sH���� � �zPopen.communicatec�����������������C���s���|�����S�r)���)rU���r2���r'���r'���r(���r������s����z Popen.pollc�����������������C���s���|d�krd�S�|t����S�d�S�r)���)r��)r.���r ��r'���r'���r(���r��"��s����zPopen._remaining_timec�����������������C���sL���|d�krd�S�|st���|krHt|�j||r0d�|�nd�|r@d�|�nd�d��d�S�)Nr����r����)r��r���rc���r����)r.���r ���orig_timeoutZ stdout_seqZ stderr_seq�skip_check_and_raiser'���r'���r(����_check_timeout*��s������zPopen._check_timeoutc�����������������C���s����|d�k rt���|�}z|�j|d�W�S��tk r����|d�k rLt|�j|��|��}n|�j}d|�_z|�j|d��W�n�tk r|���Y�nX���Y�nX�d�S�)Nr����r���)r��r����r����r��r����r��r���)r.���r;���r ��r ��r'���r'���r(���r����6��s ���� �z Popen.waitc����������� ��� ���C���s����t�|�dd��}t�����}trX|dkr.|�|j��|dkrB|�|j��|dkr�|�|j��nr|dkr~|dkr~||kr~|�tj|��|dkr�|dkr�||kr�|�tj|��|dkr�|dkr�||kr�|�tj|��|d�k r�|�tj|��W�5�Q�R�X�d|�_d�S�)Nr����r[���T) ry���� contextlib� ExitStackr�����callbackrI���r����r����r����) r.���r����r����r����r����r����r����Z devnull_fd�stackr'���r'���r(����_close_pipe_fdsM��s$���� zPopen._close_pipe_fdsc�����������������C���s~��|d�kr|d�kr|d�krdS�d\}}d\}}d\}} |d�krtt��t�j�}|d�kr�t��d�d�\}} t|�}t��| ��nh|tkr�t��d�d�\}}t|�t|��}}n<|tkr�t� |�� ���}n$t|t�r�t� |�}nt� |� ���}|��|�}|d�k�r*t��t�j�}|d�k�r�t��d�d�\} }t|�}t��| ��nn|tk�rXt��d�d�\}}t|�t|��}}n@|tk�rrt� |�� ���}n&t|t��r�t� |�}nt� |� ���}|��|�}|d�k�r�t��t�j�} | d�k�rdt��d�d�\} } t| �} t��| ��n~|tk�rt��d�d�\}} 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���)rN���ZGetStdHandler���Z CreatePiperF���rH���r���r ���r����Z get_osfhandler����r����rJ����fileno�_make_inheritabler���r���r���)r.���r����r5���r-���r����r����r����r����r����r�����_r'���r'���r(���r����n��st���� ���zPopen._get_handlesc�����������������C���s&���t��t����|t����ddt�j�}t|�S�)Nr���rs���)rN���ZDuplicateHandleZGetCurrentProcessZDUPLICATE_SAME_ACCESSrF���)r.����handle�hr'���r'���r(���r�����s��������zPopen._make_inheritablec�����������������C���s���t�dd��|D���S�)Nc�����������������S���s,���h�|�]$}|d�@�d�ks$t��|�t�jkr|�qS�)����)rN���ZGetFileTypeZFILE_TYPE_CHAR)�.0r��r'���r'���r(���� <setcomp>���s������z,Popen._filter_handle_list.<locals>.<setcomp>)rE���)r.���rC���r'���r'���r(����_filter_handle_list���s����zPopen._filter_handle_listc�����������������C���sz��t�|t�rnNt�|t�r.| r"td��t|g�}n,t�|tj�rR| rFtd��t|g�}nt|�}|d�k rlt�|�}|d�kr|t��}n|� ��}d|||fk}|r�|�j tjO��_ ||_ ||_||_|j}t|o�d|ko�|d��}|s�|�r^|�r^|d�kr�i��}|_t|�dg����}|d<�|�r0|t|�t|�t|�g7�}|��|�|d�d��<�|�r^|�sZt�dt��d}| �r�|�j tjO��_ tj|_|�s�tj�d�}|�s�tj�dd �}tj�|d d�}tj�|��s�t d��tj�|��r�|}n|}d �!||�}|d�k �r�t�|�}t"�#d||||��z,t�%||d�d�t|��| |||� \}}}}W�5�|��$||| |||��X�d|�_&t'|�|�_(||�_)t�*|��d�S�)Nz$bytes args is not allowed on Windows�0path-like args is not allowed when shell is truer[���rC���z?startupinfo.lpAttributeList['handle_list'] overriding close_fdsFZComSpecZ SystemRootr����ZSystem32zcmd.exez:shell not found: neither %ComSpec% nor %SystemRoot% is setz {} /c "{}"�subprocess.PopenT)+r�����str�bytesr����r����r�����PathLiker����r#���rD���r=���rN���r���r>���r?���r@���rB���r����rE���r����rJ���r��r����r����r����r���r���rA����environ�pathr�����isabs�FileNotFoundErrorr����rV����auditr��Z CreateProcessr����rF����_handler����rH���)r.���rc���r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����Zunused_restore_signalsZunused_start_new_sessionZuse_std_handlesZattribute_listZhave_handle_listrC���ZcomspecZsystem_rootZhpZhtr�����tidr'���r'���r(���r�������s����� �� � � ����� zPopen._execute_childc�����������������C���s,���|�j�d�kr&||�jd�|kr&||�j�|�_�|�j�S��Nr���)r*���r(��)r.���rS���Z_WaitForSingleObjectZ_WAIT_OBJECT_0Z_GetExitCodeProcessr'���r'���r(���rU���H��s���� zPopen._internal_pollc�����������������C���s^���|d�krt�j}nt|d��}|�jd�krXt��|�j|�}|t�jkrJt|�j|��t�� |�j�|�_|�jS�)Ni���) rN���ZINFINITErJ���r*����WaitForSingleObjectr(��ZWAIT_TIMEOUTr���rc����GetExitCodeProcess)r.���r;���Ztimeout_millisr����r'���r'���r(���r����Y��s���� � zPopen._waitc�����������������C���s���|��|�����|����d�S�r)���)rb���r��r����)r.���Zfh�bufferr'���r'���r(���� _readerthreadi��s����zPopen._readerthreadc�����������������C���s\��|�j�rBt|�d�sBg�|�_tj|�j|�j�|�jfd�|�_d|�j_|�j����|�j r�t|�d�s�g�|�_ tj|�j|�j |�j fd�|�_d|�j_|�j����|�jr�|�� |��|�j�d�k r�|�j�|��|���|�j���r�t|�j|��|�j d�k r�|�j�|��|���|�j���r�t|�j|��d�}d�}|�j��r|�j}|�j�����|�j �r0|�j }|�j ����|�r>|d�nd�}|�rP|d�nd�}||fS�)N�_stdout_buff)�targetrc���T�_stderr_buffr���)r5���r����r/��r����ZThreadr.��Z stdout_threadZdaemon�startr-���r1��Z stderr_threadr����r��r����r��Zis_aliver���rc���r����)r.���r����r ��r��r5���r-���r'���r'���r(���r��n��sJ���� �� �� zPopen._communicatec�����������������C���sl���|�j�d�k rd�S�|tjkr"|�����nF|tjkr>t�|�jtj��n*|tjkrZt�|�jtj��nt d� |���d�S�)NzUnsupported signal: {})r*���r0����SIGTERM� terminateZCTRL_C_EVENTr����r����r����ZCTRL_BREAK_EVENTr1���r�����r.���Zsigr'���r'���r(����send_signal���s���� zPopen.send_signalc�����������������C���sX���|�j�d�k rd�S�zt�|�jd��W�n2�tk rR���t�|�j�}|tjkrH��||�_�Y�nX�d�S�r����)r*���rN���ZTerminateProcessr(���PermissionErrorr,��ZSTILL_ACTIVE)r.���Zrcr'���r'���r(���r4�����s���� zPopen.terminatec����������� ������C���s,��d\}}d\}}d\}} |d�kr"n@|t�kr8t���\}}n*|tkrJ|����}nt|t�rZ|}n|���}|d�krln@|t�kr�t���\}}n*|tkr�|����}nt|t�r�|}n|���}|d�kr�nf|t�kr�t���\}} nP|tkr�|dkr�|} n t j ���} n.|tk�r|����} nt|t��r|} n|���} |||||| fS�)Nr��r[���)r���r�����piper ���r����r����rJ���r��r���rV���� __stdout__) r.���r����r5���r-���r����r����r����r����r����r����r'���r'���r(���r�������sP���� ���c�����������������C���s����|d�krt�j}i�}|rJg�}dD�]"} tt| d��}|d�k r|�|��q||d<�g�}||| fD�]}|dkrX|�t�j|f��qX|df|df| dffD�]"\}}|dkr�|�t�j||f��q�|r�||d<�t�j|||f|�|�_d|�_ |�� ||||| | ��d�S�) N)�SIGPIPEZSIGXFZ�SIGXFSZZ setsigdefr[���r���rs���r�����file_actionsT)r����r#��ry���r0���rb����POSIX_SPAWN_CLOSE�POSIX_SPAWN_DUP2r����r����r����r��)r.���rc���r����r����r����r����r����r����r����r����r����r����ZsigsetZsignameZsignumr<��r����Zfd2r'���r'���r(����_posix_spawn���s<��������zPopen._posix_spawnc�����������)���������s���t�|ttf�r|g}n(t�|tj�r6| r.td��|g}nt|�}| rlttd�rPdnd}|dg|�}��rl��|d<���d�kr||d���t� d��|||��t �rtj�����r|d�k�r|�s|�s|d�k�r|dks�|d k�r|dks�|d k�r|dks�|d k�r|�s|�� |��||||| |||� �d�S���}t���\}}g�}|d k��rT|�|��t�|�}�q2|D�]}t�|���qX�zJz�|d�k �r�g�}|���D�]>\}}t�|�}d|k�r�td��|�|d�t�|�����q�nd�}t������tj�����r��f}nt��fd d�t�|�D���}t|�}|�|��t�|||tttt|���||||| ||||||||�|�_d|�_W�5�t�|��X�|�� ||| |||��t!��}t�"|d�}||7�}|�r�t#|�dk�r��q��q�W�5�t�|��X�|�r�z6t�$|�jd�\} }!| |�jk�r�|��%|!��ntj&|�_'W�n�t(k �r���Y�nX�z|�)dd �\}"}#}$|$�*��}$W�n,�tk �rb���d}"d}#d�+t|��}$Y�nX�t,t-|"�*d�t.�}%t/|%t0��r�|#�r�t|#d�}&|$dk}'|'�r�d}$|}(n|}(|&dk�r�t�1|&�}$|%|&|$|(��|%|$��d�S�)Nr��Zgetandroidapilevelz/system/bin/shz/bin/shz-cr���r��r[���r����r������=z!illegal environment variable namec�����������������3���s"���|�]}t�j�t��|����V��qd�S�r)���)r����r$��r�����fsencode)r���dir�r����r'���r(���� <genexpr>r��s����z'Popen._execute_child.<locals>.<genexpr>TiP�������:s���SubprocessError����0z#Bad exception data from child: {!r}�ascii����Znoexecr����)2r����r ��r!��r����r"��r����rE���r����rV���r'���_USE_POSIX_SPAWNr$���dirnamer?��r8��rb����dupr����rx���rA��r1���r����� get_exec_path�set�add�_posixsubprocessZ fork_exec�sortedr����rJ���r����r����r��� bytearrayr��r�����waitpid�_handle_exitstatusrW���r*����ChildProcessErrorr����r����r����ry����builtinsr���� issubclassr�����strerror))r.���rc���r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����Z unix_shellZorig_executableZerrpipe_readZ errpipe_writeZlow_fds_to_closeZlow_fdZenv_list�krh���Zexecutable_listZfds_to_keepZerrpipe_data�partr����r��Zexception_nameZ hex_errno�err_msgZchild_exception_typeZ errno_numZchild_exec_never_calledZerr_filenamer'���rC��r(���r���� ��s"��� �� ����������� � ���� � ����������� ��� �� �� c�����������������C���sL���||�r||��|�_�n2||�r*||�|�_�n||�r@||��|�_�ntd��d�S�)NzUnknown child exit status!)r*���r���)r.���r��Z_WIFSIGNALEDZ _WTERMSIGZ _WIFEXITEDZ_WEXITSTATUSZ_WIFSTOPPEDZ _WSTOPSIGr'���r'���r(���rS�����s����zPopen._handle_exitstatusc�������������� ���C���s����|�j�d�kr�|�j�d�sd�S�z�z>|�j�d�k r4|�j�W�W��pS�||�j|�\}}||�jkrX|��|��W�nB�tk r��}�z$|d�k r|||�_�n|j|kr�d|�_�W�5�d�}~X�Y�nX�W�5�|�j����X�|�j�S�)NFr���)r*���r�����acquire�releaser����rS��r����r��)r.���rS���Z_waitpidZ_WNOHANGZ_ECHILDr����r���er'���r'���r(���rU������s ���� c�����������������C���s>���zt��|�j|�\}}W�n�tk r4���|�j}d}Y�nX�||fS�r*��)r����rR��r����rT��)r.���Z wait_flagsr����r��r'���r'���r(���� _try_wait���s���� zPopen._try_waitc�������������� ���C���s��|�j�d�k r|�j�S�|d�k r�t��|�}d}|�j�d�r~z>|�j�d�k rDW��0q�|��tj�\}}||�jkrn|�� |��W��q�W�5�|�j����X�|�� |�}|dkr�t|�j|��t |d�|d�}t�|��q&n\|�j�d�k�r|�j�B�|�j�d�k r�W�5�Q�R����q|��d�\}}||�jk�r |�� |��W�5�Q�R�X�q�|�j�S�)Ng����Mb@?Fr���r����g�������?)r*���r��r����r[��r\��r^��r�����WNOHANGr����rS��r��r���rc���r���time�sleep)r.���r;���r ��Zdelayr����r��Z remainingr'���r'���r(���r�������s6���� c�������������� ���C���s"��|�j�rX|�jsXz|�j�����W�n�tk r.���Y�nX�|sXz|�j�����W�n�tk rV���Y�nX�d�}d�}|�js�i�|�_|�jr~g�|�j|�j<�|�jr�g�|�j|�j<�|�jr�|�j|�j�}|�jr�|�j|�j�}|��|��|�j r�t |�j �}t�����}|�j�r�|r�|�|�j�t j��|�j�r|�jj�s|�|�jt j��|�j�r6|�jj�s6|�|�jt j��|����r�|��|�}|d�k �rz|dk��rz|�j||||dd��td��|�|�} |��||||��| D�]�\} }| j|�j�k�r6||�j|�jt���}z|��jt�| j|�7��_W�n,�tk �r ���|�| j��| j����Y�n*X�|�jt|�j �k�r�|�| j��| j����nP| j|�j|�jfk�r�t�| jd�} | �st|�| j��| j����|�j| j��| ���q��q6W�5�Q�R�X�|�j |��|�d��|d�k �r�d�!|�}|d�k �r�d�!|�}|�j"�r|d�k �r�|��#||�jj$|�jj%�}|d�k �r|��#||�jj$|�jj%�}||fS�)Nr���T)r ��zN_check_timeout(..., skip_check_and_raise=True) failed to raise TimeoutExpired.i����r����r����)&r����r�����flushr���r����Z_fileobj2outputr5���r-����_save_inputr����� memoryview�_PopenSelector�register� selectorsZEVENT_WRITErG���Z EVENT_READZget_mapr��r���RuntimeError�selectZfileobj� _input_offset� _PIPE_BUFr����r����r����Z unregisterr����r��rb���r����r����r����r����r����r����)r.���r����r ��r��r5���r-���Z input_viewZselectorr;���Zready�keyZevents�chunkr����r'���r'���r(���r��'��s����� ��� � $ � �c�����������������C���sF���|�j�rB|�jd�krBd|�_||�_|d�k rB|�jrB|�j�|�j�j|�j�j�|�_d�S�r*��)r����r����rj��r�����encoder����r����)r.���r����r'���r'���r(���rc�����s�����zPopen._save_inputc�����������������C���s���|�j�d�krt�|�j|��d�S�r)���)r*���r����r����r����r5��r'���r'���r(���r6�����s���� c�����������������C���s���|���tj��d�S�r)���)r6��r0���r3��r2���r'���r'���r(���r4�����s����c�����������������C���s���|���tj��d�S�r)���)r6��r0����SIGKILLr2���r'���r'���r(���r�������s����z Popen.kill)r[���NNNNNTFNNNNr���TFr'���)NN)F)N)7r$���r%���r&���r����r/���r9���r����r:���r����r����r����rV���rW���r����r����rO���r����r��r����r����r��r��r����r��r����r����r��r��r����rN���r+��Z WAIT_OBJECT_0r,��rU���r����r.��r��r6��r4��r����r?��r�����WIFSIGNALED�WTERMSIG� WIFEXITED�WEXITSTATUS� WIFSTOPPED�WSTOPSIGrS��rR��r_��r��ZECHILDr^��rc��r'���r'���r'���r(���r������s����.���������������������������� D �� H |� 26'���� �� # )f)GrU��r��r����r����r`��r0���rV���r����r����r��r���r���__all__r����rN���r�����ModuleNotFoundErrorrO��ri��rg��r���r���r���r���r���r���r���r���r���r���r���r���r���r���r���r ���r!���r"���r~���� Exceptionr���r���r���r#���rJ���rF���ry���rk��r����rP���re��ZSelectSelectorrT���rQ���r���r���r ���rd���r����r���r���r ����objectr���r���r����r���r ���r����rI��r���r'���r'���r'���r(����<module>,���s�����������P ��������� % ;3"����EI /