a XC?h��@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| du�rt�| �| du�rt�| ��Yn0dS)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�:/opt/alt/python39/lib64/python3.9/asyncio/windows_utils.pyr sJ ��     ��      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|jdurd|j��}nd}d|jj�d|�d�S)Nzhandle=�closed�<� �>)r� __class__�__name__rrrr�__repr__Ys zPipeHandle.__repr__cCs|jSrr�rrrrr`szPipeHandle.handlecCs|jdurtd��|jS)NzI/O operation on closed pipe)r� ValueErrorr%rrr�filenods zPipeHandle.fileno)rcCs|jdur||j�d|_dSrr)rrrrr�closeis  zPipeHandle.closecCs*|jdur&|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 s�d}}}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]}|dur�t � |�qւYn>0| du�r t | �|_ | du�rt | �|_ | du�r2t | �|_W|tk�rHt�|�|tk�r\t�|�|tk�r�t�|�n>|tk�r�t�|�|tk�r�t�|�|tk�r�t�|�0dS)N)FTT)rr)TFr r)�stdin�stdout�stderr)rr�msvcrtZopen_osfhandler�O_RDONLY�STDOUT�superrrrrr6r7r8r()r�argsr6r7r8�kwdsZ stdin_rfdZ stdout_wfdZ stderr_wfdZstdin_whZ stdout_rhZ stderr_rhZstdin_rhZ stdout_whZ stderr_wh�h�r"rrr�sZ  ��              �     zPopen.__init__)NNN)r#r1r2r� __classcell__rrr@rr}sr)�sys�platform� ImportErrorr� itertoolsr9r� subprocessr r4�__all__ZBUFSIZErr;�countrrrrrrrr�s" 1,