Edit File: windows_utils.cpython-311.pyc
� �����f����������������������������d�Z�ddlZej��������dk����r�ed�������������ddlZddlZddlZddlZddlZddl Z ddl Z dZdZej ��������Z ej��������Z�ej����������������������Zdded �d �Z�G�d��d������������Z�G�d ��dej��������������������ZdS�)z)Various Windows specific bits and pieces.�����N�win32z win32 only)�pipe�Popen�PIPE� PipeHandlei� ��F)TT)�duplex� overlapped�bufsizec����������� �������R����t����������j��������d���������������������t����������j����������������������t����������t�����������������������������������������������}|�r*t����������j��������}t����������j ��������t����������j ��������z��}||}}nt����������j��������}t����������j ��������}d|}}|t����������j��������z��}|d���������r|t����������j ��������z��}|d���������r t����������j ��������}nd}dx} } �t����������j��������||t����������j��������d||t����������j��������t����������j��������������������} t����������j��������||dt����������j��������t����������j��������|t����������j��������������������} t����������j��������| d�������������}|���������������������d�������������| | fS�#��| �t����������j��������| �������������| �t����������j��������| ���������������xY�w)zELike os.pipe() but with overlapped support and using handles not fds.z\\.\pipe\python-pipe-{:d}-{:d}-)�prefixr�������NT�r ���)�tempfile�mktemp�format�os�getpid�next� _mmap_counter�_winapi�PIPE_ACCESS_DUPLEX�GENERIC_READ� GENERIC_WRITE�PIPE_ACCESS_INBOUND�FILE_FLAG_FIRST_PIPE_INSTANCE�FILE_FLAG_OVERLAPPED�CreateNamedPipe� PIPE_WAIT�NMPWAIT_WAIT_FOREVER�NULL� CreateFile� OPEN_EXISTING�ConnectNamedPipe�GetOverlappedResult�CloseHandle)r���r ���r ����address�openmode�access�obsize�ibsize�flags_and_attribs�h1�h2�ovs��� �</opt/alt/python311/lib64/python3.11/asyncio/windows_utils.pyr���r��� ���s�������o�1�8�8��I�K�K��m�,�,�.��.�/��/��/�G����$��-���%��(=�=�� �'�����.���&���G�����5�5�H��!�}��1��G�0�0���!�}���#�8������N�B��� � $��X�w�0� �v�v�w�;�W�\�K��K���� ��V�Q���g�.C��w�|�-��-���� %�b�T� :� :� :�� ���t�$�$�$��2�v� ��� �>����#�#�#� �>����#�#�#� ���s ����BE7��7/F&c��������������������p�����e�Zd�ZdZd��Zd��Zed����������������Zd��Ze j ��������d�d�Zej ��������fd�Zd ��Zd ��ZdS�)r���z�Wrapper for an overlapped pipe handle which is vaguely file-object like. The IOCP event loop can use these instead of socket objects. c�����������������������||�_���������d�S��N��_handle��self�handles��� r/����__init__zPipeHandle.__init__V���s ���������������c������������������P�����|�j����������d|�j�����������}nd}d|�j��������j����������d|��d�S�)Nzhandle=�closed�<� �>)r4���� __class__�__name__r5���s��� r/����__repr__zPipeHandle.__repr__Y���s>�������<�#�/�t�|�/�/�F�F��F�6�4�>�*�6�6�V�6�6�6�6r9���c�����������������������|�j���������S�r2���r3����r6���s��� r/���r7���zPipeHandle.handle`���s �������|�r9���c������������������<�����|�j����������t����������d�������������|�j���������S�)NzI/O operation on closed pipe)r4���� ValueErrorrC���s��� r/����filenozPipeHandle.filenod���s!�������<���;�<�<�<��|�r9���)r%���c�����������������F�����|�j�����������||�j����������������������d�|�_���������d�S�d�S�r2���r3���)r6���r%���s��� r/����closezPipeHandle.closei���s/�������<�#��K���%�%�%��D�L�L�L��$�#r9���c������������������l�����|�j����������,�|d|���t����������|���������������|�������������������������������������d�S�d�S�)Nz unclosed )�source)r4����ResourceWarningrH���)r6����_warns��� r/����__del__zPipeHandle.__del__n���sC�������<�#��E�&�d�&�&���E�E�E�E��J�J�L�L�L�L�L��$�#r9���c�����������������������|�S�r2�����rC���s��� r/���� __enter__zPipeHandle.__enter__s���s�������r9���c������������������.�����|��������������������������������������d�S�r2���)rH���)r6����t�v�tbs��� r/����__exit__zPipeHandle.__exit__v���s������� � �����r9���N)r@���� __module__�__qualname__�__doc__r8���rA����propertyr7���rF���r���r%���rH����warnings�warnrM���rP���rU���rO���r9���r/���r���r���Q���s�����������������������7��7��7��������X������� �$+�#6�� �� �� �� �� � �%�M��������� �������������r9���r���c��������������������$�������e�Zd�ZdZd��fd� Z��xZS�)r���z�Replacement for subprocess.Popen using overlapped pipe handles. The stdin, stdout, stderr are None or instances of PipeHandle. Nc�����������������������|����������������������d������������rJ��|����������������������dd������������dk����sJ��d�x}x}}d�x} x} }|t����������k����r4t����������dd�������������\��}} t����������j��������|t ����������j��������������������}n|}|t����������k����r)t����������d�������������\��} } t����������j��������| d������������}n|}|t����������k����r)t����������d�������������\��}}t����������j��������|d������������}n|t����������k����r|}n|} ��t������������������������j ��������|f|||d �|���| �t����������| ������������|�_��������| �t����������| ������������|�_��������|�t����������|������������|�_ ��������n$#��| | |fD�]}|�t����������j��������|����������������xY�w|t����������k����rt����������j��������|�������������|t����������k����rt����������j��������|�������������|t����������k����rt����������j��������|�������������d�S�d�S�#�|t����������k����rt����������j��������|�������������|t����������k����rt����������j��������|�������������|t����������k����rt����������j��������|�������������w�w�xY�w) N�universal_newlinesr ���r���)FTT)r ���r���)TFr���)�stdin�stdout�stderr)�getr���r����msvcrt�open_osfhandler����O_RDONLY�STDOUT�superr8���r���r_���r`���ra���r���r%���rH���)r6����argsr_���r`���ra����kwds� stdin_rfd� stdout_wfd� stderr_wfd�stdin_wh� stdout_rh� stderr_rh�stdin_rh� stdout_wh� stderr_wh�hr?���s��� �r/���r8���zPopen.__init__����s}�������8�8�0�1�1�1�1�1��x�x� �1�%�%��*�*�*�*�.2�2� �2�J��+/�/��/�9�y��D�=�=�!%��t�!L�!L�!L��H�h��-�h���D�D�I�I��I��T�>�>�#'�=�#A�#A�#A� �I�y��.�y�!�<�<�J�J��J��T�>�>�#'�=�#A�#A�#A� �I�y��.�y�!�<�<�J�J� �v� � �#�J�J��J� %��E�G�G��T�� 8��:�$.� 8�� 8�26� 8�� 8�� 8���#�'��1�1�� ��$�(��3�3����$�(��3�3����� �� �9�5�� +�� +���=��'��*�*�*���������}�}����#�#�#���~�~����$�$�$���~�~����$�$�$�$�$���~�� ���}�}����#�#�#���~�~����$�$�$���~�~����$�$�$�$�����s ����=E��AG#��!E?�?G#��#A I)NNN)r@���rV���rW���rX���r8���� __classcell__)r?���s���@r/���r���r���}���sG������������������+%��+%��+%��+%��+%��+%��+%��+%��+%��+%r9���r���)rX����sys�platform�ImportErrorr���� itertoolsrc���r���� subprocessr���rZ����__all__�BUFSIZEr���rf����countr���r���r���r���rO���r9���r/����<module>r}������s%�����/��/�� � � � ��<�7��� �+�l� #� #�#��������������� � � � �� � � � ��������������������0�������� � ��� ��!�!� ���\�7��+��+��+��+��+�b&��&��&��&��&��&��&��&�X0%��0%��0%��0%��0%�J���0%��0%��0%��0%��0%r9���