U e5d��@s�ddlZejdkred��ddlZddlZddlZddlZddlZddlZddl Z dZ dZ ej Z ej Z e��Zdde d�d d �ZGd d �d �ZGd d�dej�ZdS)�NZwin32z win32 only)�pipe�Popen�PIPE� PipeHandlei F)TT)�duplex� overlapped�bufsizec Cs$tjd�t��tt��d�}|r>tj}tj tj B}||}}ntj }tj }d|}}|tj O}|drp|tj O}|dr�tj }nd}d} } z\t�||tjd||tjtj�} t�||dtjtj|tj�} tj| dd�} | �d�| | fWS| dk �rt�| �| dk �rt�| ��YnXdS)Nz\\.\pipe\python-pipe-{:d}-{:d}-)�prefixr�T�r)�tempfileZmktemp�format�os�getpid�next� _mmap_counter�_winapiZPIPE_ACCESS_DUPLEXZ GENERIC_READZ GENERIC_WRITEZPIPE_ACCESS_INBOUNDZFILE_FLAG_FIRST_PIPE_INSTANCEZFILE_FLAG_OVERLAPPEDZCreateNamedPipeZ PIPE_WAITZNMPWAIT_WAIT_FOREVERZNULLZ CreateFileZ OPEN_EXISTINGZConnectNamedPipeZGetOverlappedResult� CloseHandle) rrrZaddressZopenmode�accessZobsizeZibsizeZflags_and_attribsZh1Zh2Zov�r�-/usr/lib64/python3.8/asyncio/windows_utils.pyr sb��     ��      rc@s^eZdZdd�Zdd�Zedd��Zdd�Zej d �d d �Z e j fd d �Z dd�Zdd�ZdS)rcCs ||_dS�N��_handle��self�handlerrr�__init__VszPipeHandle.__init__cCs2|jdk rd|j��}nd}d|jj�d|�d�S)Nzhandle=�closed�<� �>)r� __class__�__name__rrrr�__repr__Ys zPipeHandle.__repr__cCs|jSrr�rrrrr`szPipeHandle.handlecCs|jdkrtd��|jS)NzI/O operation on closed pipe)r� ValueErrorr%rrr�filenods zPipeHandle.fileno)rcCs|jdk r||j�d|_dSrr)rrrrr�closeis  zPipeHandle.closecCs*|jdk r&|d|��t|d�|��dS)Nz unclosed )�source)r�ResourceWarningr()rZ_warnrrr�__del__ns zPipeHandle.__del__cCs|Srrr%rrr� __enter__sszPipeHandle.__enter__cCs |��dSr)r()r�t�v�tbrrr�__exit__vszPipeHandle.__exit__N)r#� __module__� __qualname__rr$�propertyrr'rrr(�warnings�warnr+r,r0rrrrrQs rcseZdZd�fdd� Z�ZS)rNc sxd}}}d} } } |tkr@tddd�\} } t�| tj�}n|}|tkrhtdd�\} } t�| d�}n|}|tkr�tdd�\} }t�|d�}n|tkr�|}n|}z�z t�j |f|||d�|��Wn0| | | fD]}|dk r�t � |�qւYn>X| dk �r t | �|_ | dk �rt | �|_| dk �r2t | �|_W5|tk�rJt�|�|tk�r^t�|�|tk�rrt�|�XdS)N)FTT)rr)TFr r)�stdin�stdout�stderr)rr�msvcrtZopen_osfhandler�O_RDONLY�STDOUTr(�superrrrrr6r7r8)r�argsr6r7r8�kwdsZ stdin_rfdZ stdout_wfdZ stderr_wfdZstdin_whZ stdout_rhZ stderr_rhZstdin_rhZ stdout_whZ stderr_wh�h�r"rrr�sN  ��            zPopen.__init__)NNN)r#r1r2r� __classcell__rrr@rr}sr)�sys�platform� ImportErrorr� itertoolsr9r� subprocessr r4�__all__ZBUFSIZErr;�countrrrrrrrr�s" 1,