add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
�

�Wc���*�dZddlZejdkr	ed��ddlZddlZddlZddlZddlZddl	Z	ddl
Z
dZdZejZ
ejZej�Zdded	�d
�ZGd�d�ZGd
�dej&�ZdS)z)Various Windows specific bits and pieces.�N�win32z
win32 only)�pipe�Popen�PIPE�
PipeHandlei F)TT)�duplex�
overlapped�bufsizec
���tjdjtj�tt����}|r9tj}tjtjz}||}}n&tj}tj}d|}}|tjz}|dr|tjz}|drtj}nd}dx}	}
	tj||tjd||tj tj"�}	tj$||dtj"tj&|tj"�}
tj(|	d��}|j+d�|	|
fS#|	�tj,|	�|
�tj,|
��xYw)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)rr	r
�address�openmode�access�obsize�ibsize�flags_and_attribs�h1�h2�ovs            �./usr/lib64/python3.12/asyncio/windows_utils.pyrr s����o�o�1�8�8��I�I�K��m�,�.�/�/�G��v��-�-���%�%��(=�(=�=�� �'�����.�.���&�&���G�����5�5�5�H��!�}�}��G�0�0�0���!�}�}�#�8�8������N�B���
�
$�
$��X�w�0�0�
�v�v�w�;�;�W�\�\�K���
�
��V�Q����g�.C�.C��w�|�|�-���
%�
%�b�T�
:�
:��
���t�$�$��2�v�
���
�>�����#�#�
�>�����#�#�
���s
�CG�5G9c��eZdZdZd�Zd�Zed��Zd�Ze	jd�d�Zejfd�Zd	�Zd
�ZdS)rz�Wrapper for an overlapped pipe handle which is vaguely file-object like.

    The IOCP event loop can use these instead of socket objects.
    c��||_dS�N��_handle��self�handles  r/�__init__zPipeHandle.__init__Vs
�������c�x�|j�d|j��}nd}d|jj�d|�d�S)Nzhandle=�closed�<� �>)r4�	__class__�__name__r5s  r/�__repr__zPipeHandle.__repr__YsG���<�<�#�/�t�|�|�/�/�F�F��F�6�4�>�>�*�*�6�6�V�6�6�6�6r9c��|jSr2r3�r6s r/r7zPipeHandle.handle`s���|�|�r9c�L�|j�
td��|jS)NzI/O operation on closed pipe)r4�
ValueErrorrCs r/�filenozPipeHandle.filenods"���<�<���;�<�<��|�|�r9)r%c�V�|j�||j�d|_dSdSr2r3)r6r%s  r/�closezPipeHandle.closeis0���<�<�#��K����%�%��D�L�L�L�$�#r9c�l�|j�'|d|��t|��|j�dSdS)Nz	unclosed )�source)r4�ResourceWarningrH)r6�_warns  r/�__del__zPipeHandle.__del__ns@���<�<�#��E�&�d�&�&���E�E�E��J�J�L�L�L�L�$�#r9c��|Sr2�rCs r/�	__enter__zPipeHandle.__enter__ss���r9c�(�|j�dSr2)rH)r6�t�v�tbs    r/�__exit__zPipeHandle.__exit__vs���
�
����r9N)r@�
__module__�__qualname__�__doc__r8rA�propertyr7rFrr%rH�warnings�warnrMrPrUrOr9r/rrQs������������7�7�7���������
$+�#6�#6� � � � � �
%�M�M�����
�������r9rc�$��eZdZdZd�fd�	Z�xZS)rz�Replacement for subprocess.Popen using overlapped pipe handles.

    The stdin, stdout, stderr are None or instances of PipeHandle.
    Nc�\��dx}x}}dx}	x}
}|tkr:tdd��\}}	tj|tj
�}n|}|tkr*td��\}
}
tj|
d�}n|}|tkr*td��\}}tj|d�}n|tkr|}n|}	t�j|f|||d�|��|	�t|	�|_
|
�t|
�|_|�t|�|_	|tkrt	j|�|tkrt	j|�|tkrt	j|�dSdS#|	|
|fD]}|��tj|���xYw#|tkrt	j|�|tkrt	j|�|tkrt	j|�wxYw)N)FTT)r	r)TFrr)�stdin�stdout�stderr)rr�msvcrt�open_osfhandler�O_RDONLY�STDOUT�superr8rr^r_r`rr%rH)r6�argsr^r_r`�kwds�	stdin_rfd�
stdout_wfd�
stderr_wfd�stdin_wh�	stdout_rh�	stderr_rh�stdin_rh�	stdout_wh�	stderr_wh�hr?s                �r/r8zPopen.__init__�s=���/3�2�	�2�J��+/�/��/�9�y��D�=�=�!%��t�!L�!L��H�h��-�-�h����D�I�I��I��T�>�>�#'�=�#A�#A� �I�y��.�.�y�!�<�J�J��J��T�>�>�#'�=�#A�#A� �I�y��.�.�y�!�<�J�J�
�v�
�
�#�J�J��J�	%��E�G���T�
8��:�$.�
8�
8�26�
8�
8�
8��#�'��1��
��$�(��3����$�(��3������}�}�����#�#���~�~�����$�$���~�~�����$�$�$�$��~��#	��	�9�5�
+�
+���=���'�'��*�*�*��������}�}�����#�#���~�~�����$�$���~�~�����$�$�
%�
%�
%�
%s%�!F�3=G�G�'G�G�A(H+)NNN)r@rVrWrXr8�
__classcell__)r?s@r/rr}sG���������+%�+%�+%�+%�+%�+%�+%�+%�+%�+%r9r)rX�sys�platform�ImportErrorr�	itertoolsrar�
subprocessrrZ�__all__�BUFSIZErrd�countrrrrrOr9r/�<module>r{s!��/�/�
�
�
�
��<�<�7���
�+�l�
#�#���������
�
�
�
�	�	�	�	�������������0��������	�	�	���	���!�
��\�7�+�+�+�+�+�b&�&�&�&�&�&�&�X0%�0%�0%�0%�0%�J���0%�0%�0%�0%r9