Edit File: windows_events.cpython-311.opt-1.pyc
� �����f�����������������������������d�Z�ddlZej��������dk����r�ed�������������ddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlZddl mZ�ddl mZ�ddl mZ�dd l mZ�dd l mZ�ddl mZ�ddl mZ�dd l mZ�ddlmZ�dZej��������Zej��������ZdZdZdZdZ�G�d��dej��������������������Z �G�d��dej��������������������Z!�G�d��de!������������Z"�G�d��de!������������Z#�G�d��de$������������Z%�G�d��dej&��������������������Z'�G�d ��d!ej(��������������������Z)�G�d"��d#������������Z*�G�d$��d%ej+��������������������Z,e'Z-�G�d&��d'ej.��������������������Z/�G�d(��d)ej.��������������������Z0e0Z1dS�)*z.Selector and proactor event loops for Windows.�����N�win32z win32 only����)�events)�base_subprocess)�futures)� exceptions)�proactor_events)�selector_events)�tasks)� windows_utils)�logger)�SelectorEventLoop�ProactorEventLoop�IocpProactor�DefaultEventLoopPolicy�WindowsSelectorEventLoopPolicy�WindowsProactorEventLoopPolicyi���i���g����MbP?g�������?c��������������������X�������e�Zd�ZdZdd���fd� Z��fd�Zd��Zd ��fd� Z��fd�Z��fd �Z ��xZ S�)�_OverlappedFuturez�Subclass of Future which represents an overlapped operation. Cancelling it will immediately cancel the overlapped operation. N��loopc�����������������x������t���������������������������������������������|��������������|�j��������r|�j��������d=�||�_��������d�S��Nr������)�super�__init__�_source_traceback�_ov)�self�ovr���� __class__s��� ��=/opt/alt/python311/lib64/python3.11/asyncio/windows_events.pyr���z_OverlappedFuture.__init__6���s?������� �����d��#�#�#��!�� +��&�r�*����������c�������������������������t�����������������������������������������������������������}|�j���������8|�j��������j��������rdnd}|���������������������dd|��d|�j��������j��������d�d��������������|S�)N�pending� completedr���zoverlapped=<z, �#x�>)r���� _repr_infor���r%����insert�address�r����info�stater!���s��� �r"���r)���z_OverlappedFuture._repr_info<���sh��������w�w�!�!�#�#���8��!%��!1�B�I�I�{�E��K�K��I�%�I�I�4�8�3C�I�I�I�I�J�J�J��r#���c������������������������|�j����������d�S� �|�j���������������������������������������������nH#�t����������$�r;}d||�d�}|�j��������r |�j��������|d<���|�j�����������������������������|�������������Y�d�}~nd�}~ww�xY�wd�|�_���������d�S�)Nz&Cancelling an overlapped future failed��message� exception�future�source_traceback)r����cancel�OSErrorr����_loop�call_exception_handler)r����exc�contexts��� r"����_cancel_overlappedz$_OverlappedFuture._cancel_overlappedC���s��������8���F� 7��H�O�O�������� 7�� 7�� 7�C� �����G� ��%�� E�.2�.D��*�+��J�-�-�g�6�6�6�6�6�6�6�6����� 7���������s����%�� A*�1A%�%A*c������������������p������|��������������������������������������t���������������������������������������������|�������������S��N)�msg)r;���r���r5����r���r>���r!���s��� �r"���r5���z_OverlappedFuture.cancelS���s-����������!�!�!��w�w�~�~�#�~�&�&�&r#���c������������������r������t���������������������������������������������|�������������|�������������������������������������d�S��N)r���� set_exceptionr;����r���r2���r!���s��� �r"���rB���z_OverlappedFuture.set_exceptionW���s3������� �����i�(�(�(����!�!�!�!�!r#���c������������������X������t���������������������������������������������|�������������d�|�_��������d�S�rA���)r���� set_resultr����r����resultr!���s��� �r"���rE���z_OverlappedFuture.set_result[���s&������� �����6�"�"�"�����r#���rA���)�__name__� __module__�__qualname__�__doc__r���r)���r;���r5���rB���rE���� __classcell__�r!���s���@r"���r���r���0���s������������������� �$(����������������������������� '��'��'��'��'��'�"��"��"��"��"�����������������r#���r���c��������������������d�������e�Zd�ZdZdd���fd� Zd��Z��fd�Zd��Zd��Zd��fd � Z ��fd �Z ��fd�Z��xZS�) �_BaseWaitHandleFuturez2Subclass of Future which represents a wait handle.Nr���c�����������������������t���������������������������������������������|��������������|�j��������r|�j��������d=�||�_��������||�_��������||�_��������d|�_��������d�S�)Nr���r���T)r���r���r���r����_handle�_wait_handle�_registered)r���r ����handle�wait_handler���r!���s��� �r"���r���z_BaseWaitHandleFuture.__init__c���s\������� �����d��#�#�#��!�� +��&�r�*��������'���� ����r#���c������������������R�����t����������j��������|�j��������d������������t�����������j��������k����S��Nr���)�_winapi�WaitForSingleObjectrQ���� WAIT_OBJECT_0�r���s��� r"����_pollz_BaseWaitHandleFuture._pollq���s$�������+�D�L�!�<�<��%�&�� 'r#���c������������������6�����t�����������������������������������������������������������}|���������������������d|�j��������d���������������|�j���������-|������������������������������������rdnd}|���������������������|�������������|�j���������|���������������������d|�j��������d���������������|S�)Nzhandle=r'����signaled�waitingzwait_handle=)r���r)����appendrQ���r\���rR���r,���s��� �r"���r)���z _BaseWaitHandleFuture._repr_infov���s���������w�w�!�!�#�#�����/�d�l�/�/�/�0�0�0��<�#�"&�*�*�,�,�=�J�J�I�E��K�K�������(��K�K�=�t�'8�=�=�=�>�>�>��r#���c�����������������������d�|�_���������d�S�rA���)r���)r����futs��� r"����_unregister_wait_cbz)_BaseWaitHandleFuture._unregister_wait_cb����s�����������r#���c������������������^����|�j���������sd�S�d|�_���������|�j��������}d�|�_�������� �t����������j��������|�������������nc#�t����������$�rV}|j��������t����������j��������k����r7d||�d�}|�j��������r |�j��������|d<���|�j��������� ��������������������|�������������Y�d�}~d�S�Y�d�}~nd�}~ww�xY�w|�� ��������������������d��������������d�S��NFz$Failed to unregister the wait handler0���r4���)rS���rR����_overlapped�UnregisterWaitr6����winerror�ERROR_IO_PENDINGr���r7���r8���rc����r���rU���r9���r:���s��� r"����_unregister_waitz&_BaseWaitHandleFuture._unregister_wait����s���������� ��F� ����'�� ��� ��&�{�3�3�3�3���� �� �� ��|�{�;�;�;�E�!$�"����� ��)��I�26�2H�G�.�/�� �1�1�'�:�:�:��������<�;�;�;�;����� ����� � � ��&�&�&�&�&s����5�� B�AB�Bc������������������p������|��������������������������������������t���������������������������������������������|�������������S�r=���)rk���r���r5���r?���s��� �r"���r5���z_BaseWaitHandleFuture.cancel����s-��������������w�w�~�~�#�~�&�&�&r#���c������������������r������|��������������������������������������t���������������������������������������������|�������������d�S�rA���)rk���r���rB���rC���s��� �r"���rB���z#_BaseWaitHandleFuture.set_exception����s3������������� �����i�(�(�(�(�(r#���c������������������r������|��������������������������������������t���������������������������������������������|�������������d�S�rA���)rk���r���rE���rF���s��� �r"���rE���z _BaseWaitHandleFuture.set_result����s3������������� �����6�"�"�"�"�"r#���rA���) rH���rI���rJ���rK���r���r\���r)���rc���rk���r5���rB���rE���rL���rM���s���@r"���rO���rO���`���s����������������<�<�8<�� �� �� �� �� �� �� �'��'��'� �������������� '��'��'�0'��'��'��'��'��'�)��)��)��)��)�#��#��#��#��#��#��#��#��#r#���rO���c��������������������B�������e�Zd�ZdZdd���fd� Zd��Z��fd�Z��fd�Z��xZS�)�_WaitCancelFuturezoSubclass of Future which represents a wait for the cancellation of a _WaitHandleFuture using an event. Nr���c�����������������`������t���������������������������������������������||||��������������d�|�_��������d�S�)Nr���)r���r����_done_callback)r���r ����eventrU���r���r!���s��� �r"���r���z_WaitCancelFuture.__init__����s2������� ������U�K�d��;�;�;�"����r#���c������������������ �����t����������d�������������)Nz'_WaitCancelFuture must not be cancelled)�RuntimeErrorr[���s��� r"���r5���z_WaitCancelFuture.cancel����s�������D�E�E�Er#���c������������������������t���������������������������������������������|�������������|�j���������|����������������������|��������������d�S�d�S�rA���)r���rE���rr���rF���s��� �r"���rE���z_WaitCancelFuture.set_result����sF������� �����6�"�"�"���*�����%�%�%�%�%��+�*r#���c������������������������t���������������������������������������������|�������������|�j���������|����������������������|��������������d�S�d�S�rA���)r���rB���rr���rC���s��� �r"���rB���z_WaitCancelFuture.set_exception����sF������� �����i�(�(�(���*�����%�%�%�%�%��+�*r#���) rH���rI���rJ���rK���r���r5���rE���rB���rL���rM���s���@r"���rp���rp�������s��������������������8<��#��#��#��#��#��#��#� F��F��F�&��&��&��&��&� &��&��&��&��&��&��&��&��&r#���rp���c��������������������4�������e�Zd�Zdd���fd� Z��fd�Zd��Z��xZS�)�_WaitHandleFutureNr���c�����������������������t���������������������������������������������||||��������������||�_��������d|�_��������t ����������j��������d�ddd�������������|�_��������d�|�_��������d�S�)Nr���TF)r���r���� _proactor�_unregister_proactorrf����CreateEvent�_event� _event_fut)r���r ���rT���rU����proactorr���r!���s��� �r"���r���z_WaitHandleFuture.__init__����sV������� ������V�[�t��<�<�<�!���$(��!�!�-�d�D�%��F�F�������r#���c�������������������������|�j����������'t����������j��������|�j����������������������d�|�_���������d�|�_��������|�j�����������������������������|�j���������������������d�|�_��������t���������������������������������������������|�������������d�S�rA���) r~���rX����CloseHandler���r{����_unregisterr���r���rc���)r���rb���r!���s��� �r"���rc���z%_WaitHandleFuture._unregister_wait_cb����sk��������;�"�����,�,�,��D�K�"�D�O�� ��"�"�4�8�,�,�,���� ���#�#�C�(�(�(�(�(r#���c����������������������|�j���������sd�S�d|�_���������|�j��������}d�|�_�������� �t����������j��������||�j���������������������nc#�t ����������$�rV}|j��������t����������j��������k����r7d||�d�}|�j��������r |�j��������|d<���|�j ��������� ��������������������|�������������Y�d�}~d�S�Y�d�}~nd�}~ww�xY�w|�j�����������������������������|�j��������|�j ��������������������|�_��������d�S�re���)rS���rR���rf����UnregisterWaitExr~���r6���rh���ri���r���r7���r8���r{����_wait_cancelrc���r���rj���s��� r"���rk���z"_WaitHandleFuture._unregister_wait����s�������� ��F� ����'�� ��� ��(��d�k�B�B�B�B���� �� �� ��|�{�;�;�;�E�!$�"����� ��)��I�26�2H�G�.�/�� �1�1�'�:�:�:��������<�;�;�;�;����� ������.�5�5�d�k�6:�6N�P��P����s����;�� B�AB�B)rH���rI���rJ���r���rc���rk���rL���rM���s���@r"���ry���ry�������st���������������BF���������������)��)��)��)��)�$P��P��P��P��P��P��Pr#���ry���c��������������������4�����e�Zd�ZdZd��Zd��Zd��Zd��Zd��ZeZ dS�)� PipeServerzXClass representing a pipe server. This is much like a bound, listening socket. c�����������������������||�_���������t����������j����������������������|�_��������d�|�_��������d�|�_��������|����������������������d������������|�_��������d�S��NT)�_address�weakref�WeakSet�_free_instances�_pipe�_accept_pipe_future�_server_pipe_handle)r���r+���s��� r"���r���zPipeServer.__init__����sC�������� �&��0�0������ �#'�� ��-�-�d�3�3�� � � r#���c������������������J�����|�j���������|����������������������d������������c}|�_���������|S�)NF)r����r����)r����tmps��� r"����_get_unconnected_pipez PipeServer._get_unconnected_pipe��s&������ ��*�d�&>�&>�u�&E�&E���T�Z�� r#���c����������� ������������|�������������������������������������rd�S�t����������j��������t����������j��������z��}|r|t����������j��������z��}t����������j��������|�j��������|t����������j��������t����������j��������z��t����������j ��������z��t����������j ��������t����������j��������t����������j��������t����������j ��������t����������j��������������������}t����������j��������|������������}|�j�����������������������������|�������������|S�rA���)�closedrX����PIPE_ACCESS_DUPLEX�FILE_FLAG_OVERLAPPED�FILE_FLAG_FIRST_PIPE_INSTANCE�CreateNamedPiper�����PIPE_TYPE_MESSAGE�PIPE_READMODE_MESSAGE� PIPE_WAIT�PIPE_UNLIMITED_INSTANCESr����BUFSIZE�NMPWAIT_WAIT_FOREVER�NULL� PipeHandler�����add)r����first�flags�h�pipes��� r"���r����zPipeServer._server_pipe_handle ��s��������;�;�=�=�� ��4��*�W�-I�I���� ;��W�:�:�E��#��M�5��%��(E�E��� ��,��!�=�#8��(�'�,� 8�� 8����'��*�*���� � ��&�&�&��r#���c�����������������������|�j���������d�u�S�rA���)r����r[���s��� r"���r����zPipeServer.closed��s������� ��%�&r#���c������������������������|�j���������� |�j���������������������������������������������d�|�_���������|�j���������G|�j��������D�]}|�������������������������������������d�|�_��������d�|�_��������|�j��������������������������������������������d�S�d�S�rA���)r����r5���r����r�����closer�����clear)r���r����s��� r"���r����zPipeServer.close"��s��������#�/��$�+�+�-�-�-�'+�D�$��=�$��,�� �� ��� � ������D�J� �D�M�� �&�&�(�(�(�(�(��%�$r#���N) rH���rI���rJ���rK���r���r����r����r����r�����__del__��r#���r"���r����r��������sj�����������������4��4��4�����������$'��'��'� )�� )�� )���G�G�Gr#���r����c�������������������������e�Zd�ZdZdS�)�_WindowsSelectorEventLoopz'Windows version of selector event loop.N)rH���rI���rJ���rK���r����r#���r"���r����r����1��s��������������1�1�1�1r#���r����c��������������������D�������e�Zd�ZdZd��fd� Z��fd�Zd��Zd��Z �dd�Z��xZ S�) r���z2Windows version of proactor event loop using IOCP.Nc������������������j������|�t������������������������}t���������������������������������������������|�������������d�S�rA���)r���r���r���)r���r����r!���s��� �r"���r���zProactorEventLoop.__init__8��s0���������#�~�~�H� ������"�"�"�"�"r#���c������������������������ �|�����������������������|�j���������������������t������������������������������������������������������������|�j���������Q|�j��������j��������}|�j��������������������������������������������|�!|j��������s|�j��������� ��������������������|�������������d�|�_��������d�S�d�S�#�|�j���������O|�j��������j��������}|�j��������������������������������������������|�!|j��������s|�j��������� ��������������������|�������������d�|�_��������w�xY�wrA���) � call_soon�_loop_self_readingr����run_forever�_self_reading_futurer���r5���r%���r{���r����)r���r ���r!���s��� �r"���r����zProactorEventLoop.run_forever=��s�������� 1��N�N�4�2�3�3�3��G�G���!�!�!��(�4��.�2���)�0�0�2�2�2���>�"�*�>��N�.�.�r�2�2�2�,0��)�)�)��5�4��t�(�4��.�2���)�0�0�2�2�2���>�"�*�>��N�.�.�r�2�2�2�,0��)�0�0�0�0s����:B��AC/c����������������������K����|�j������������������������������|������������}|��d�{V���}�|��������������}|����������������������||d|i�������������}||fS�)N�addr��extra)r{����connect_pipe�_make_duplex_pipe_transport)r����protocol_factoryr+����fr�����protocol�transs��� r"����create_pipe_connectionz(ProactorEventLoop.create_pipe_connectionP��sl�����������N�'�'��0�0���w�w�w�w�w�w��#�#�%�%���0�0��x�8>��7H��1��J��J���h��r#���c�������������������r���������K����t������������������������d������fd� ���������������������������������������gS�)Nc�����������������������d�} �|�r||�������������������������������������}�j�����������������������������|�������������������������������������������������r|������������������������������������d�S�����������������}����������������������||d�i��������������������������������������������������}|�d�S��j�����������������������������|������������}�|��_ ��������|�� ����������������������������������d�S�#�t����������$�rG�|r,|�����������������������������������dk����r|�������������������������������������� ����������������������������������Y�d�S�t����������$�r�}|rF|�����������������������������������dk����r.����������������������d||d��������������|������������������������������������n�j��������rt#����������j��������d|d���������������� ����������������������������������Y�d�}~d�S�d�}~wt&����������j��������$�r�|r|������������������������������������Y�d�S�Y�d�S�w�xY�w) Nr����r����r���zPipe accept failed)r1���r2���r����zAccept pipe failed on pipe %rT)�exc_info)rG���r�����discardr����r����r����r����r{����accept_piper�����add_done_callback�BrokenPipeError�filenor����r6���r8����_debugr ����warningr����CancelledError) r����r����r����r9���r+����loop_accept_piper����r����servers ��� �����r"���r����z>ProactorEventLoop.start_serving_pipe.<locals>.loop_accept_pipe[��sJ�������D�) 6���A��8�8�:�:�D��*�2�2�4�8�8�8��}�}������� � ������/�/�1�1�H��4�4��h�v�w�.?��5��A��A��A���3�3�5�5���<��F��N�.�.�t�4�4��*�./��*��#�#�$4�5�5�5�5�5��+�#�� 1�� 1�� 1���!�D�K�K�M�M�R�/�/��J�J�L�L�L����/�0�0�0�0�0�0��� 1�� 1�� 1��� 8�D�K�K�M�M�R�/�/��/�/�#7�%(� $�1��1������� ��J�J�L�L�L�L��[��8��N�#B�#'�$�8��8��8��8����/�0�0�0�0�0�0�0�0�0������,�� !�� !�� !���!��J�J�L�L�L�L�L�L�!��!��!� !���s2����AC��:C��C��A G�# G�,A;F-�-(G�GrA���)r����r����)r���r����r+���r����r����s���```@@r"����start_serving_pipez$ProactorEventLoop.start_serving_pipeX��sg����������������G�$�$��+ 6��+ 6��+ 6��+ 6��+ 6��+ 6��+ 6��+ 6��+ 6��+ 6�Z� ���'�(�(�(��x�r#���c ����������� ����������K����|�������������������������������������} t����������|�|||||||f| |d�| ��} �| ��d�{V����nN#�t����������t����������f$�r���t����������$�r0�|������������������������������������|�������������������������������������d�{V������w�xY�w|S�)N)�waiterr����)� create_future�_WindowsSubprocessTransport� SystemExit�KeyboardInterrupt� BaseExceptionr�����_wait)r���r�����args�shell�stdin�stdout�stderr�bufsizer�����kwargsr�����transps��� r"����_make_subprocess_transportz,ProactorEventLoop._make_subprocess_transport���s�������������#�#�%�%��,�T�8�T�5�-2�F�F�G�7�4:�%�7��7��06�7��7�� ��L�L�L�L�L�L�L�L���-�.�� �� �� ���� �� �� ��L�L�N�N�N��,�,�.�.� � � � � � � �� ���� �� s ����8��ABrA���) rH���rI���rJ���rK���r���r����r����r����r����rL���rM���s���@r"���r���r���5��s����������������<�<�#��#��#��#��#��#� 1��1��1��1��1�&�����1��1��1�j�04���������������r#���r���c��������������������������e�Zd�ZdZefd�Zd��Zd��Zd��Zd d�Z d��Z d!d �Zd!d�Zd!d�Z d!d �Zd"d�Zd!d�Zd��Zd��Zd��Zd��Zd��Zd d�Zd��Zd��Zd��Zd��Zd��Zd��Zd d�Zd��Zd��Zd��Z dS�)#r���z#Proactor implementation using IOCP.c������������������������d�|�_���������g�|�_��������t����������j��������t����������j��������t ����������d|������������|�_��������i�|�_��������t����������j ����������������������|�_ ��������g�|�_��������t����������j ����������������������|�_��������d�S�rW���) r7����_resultsrf����CreateIoCompletionPort�INVALID_HANDLE_VALUEr�����_iocp�_cacher����r����rS���� _unregistered�_stopped_serving)r����concurrencys��� r"���r���zIocpProactor.__init__���sg�������� ��� � �7��,�d�A�{�D��D�� ����"�?�,�,������ '�� 1� 1����r#���c������������������2�����|�j����������t����������d�������������d�S�)NzIocpProactor is closed)r����ru���r[���s��� r"���� _check_closedzIocpProactor._check_closed���s!�������:���7�8�8�8���r#���c������������������������dt����������|�j��������������������z��dt����������|�j��������������������z��g}|�j���������|���������������������d�������������d|�j��������j���������dd���������������������|�������������d�S�)Nzoverlapped#=%sz result#=%sr�����<� r(���)�lenr����r����r����r`���r!���rH����join)r���r-���s��� r"����__repr__zIocpProactor.__repr__���sl������ �3�t�{�#3�#3�3��s�4�=�1�1�1�3���:���K�K��!�!�!�� �N�3�3�3�S�X�X�d�^�^�^�^�D�Dr#���c�����������������������||�_���������d�S�rA���)r7���)r���r���s��� r"����set_loopzIocpProactor.set_loop���s �������� � � r#���Nc������������������n�����|�j���������s|����������������������|�������������|�j���������}g�|�_��������� �|d�}S�#�d�}w�xY�wrA���)r����r\���)r����timeoutr����s��� r"����selectzIocpProactor.select���sJ�������}�� ��J�J�w�����m���� � ����C�C��$�C�J�J�J�Js����0��4c������������������b�����|�j��������������������������������������������}|���������������������|�������������|S�rA���)r7���r����rE���)r����valuerb���s��� r"����_resultzIocpProactor._result���s,�������j�&�&�(�(�����u����� r#���r���c����������������������|�����������������������|�������������t����������j��������t����������������������} �t ����������|t ����������j��������������������r*|���������������������|�����������������������������������||�������������n(|���������������������|�����������������������������������|�������������n%#�t����������$�r�|�� ��������������������d������������cY�S�w�xY�wd��}|����������������������|||������������S�)Nr#���c����������������������� �|������������������������������������S�#�t����������$�r3}|j��������t����������j��������t����������j��������fv�rt ����������|j�������������d�}~ww�xY�wrA����� getresultr6���rh���rf����ERROR_NETNAME_DELETED�ERROR_OPERATION_ABORTED�ConnectionResetErrorr�����r�����keyr ���r9���s��� r"����finish_recvz&IocpProactor.recv.<locals>.finish_recv����f������ ��|�|�~�~�%���� �� �� ��<�K�$E�$/�$G�$I��I��I�.���9�9������ ���������� A�.A�A)�_register_with_iocprf���� Overlappedr����� isinstance�socket�WSARecvr�����ReadFiler����r����� _register�r����conn�nbytesr����r ���r��s��� r"����recvzIocpProactor.recv���s�������� � ��&�&�&� � #�D� )� )�� %��$�� �.�.�� 3�� � �4�;�;�=�=�&�%�8�8�8�8����D�K�K�M�M�6�2�2�2����� %�� %�� %��<�<��$�$�$�$�$� %���� �� �� ���~�~�b�$��4�4�4�����A,B��B?�>B?c����������������������|�����������������������|�������������t����������j��������t����������������������} �t ����������|t ����������j��������������������r*|���������������������|�����������������������������������||�������������n(|���������������������|�����������������������������������|�������������n%#�t����������$�r�|�� ��������������������d������������cY�S�w�xY�wd��}|����������������������|||������������S�)Nr���c����������������������� �|������������������������������������S�#�t����������$�r3}|j��������t����������j��������t����������j��������fv�rt ����������|j�������������d�}~ww�xY�wrA���r����r��s��� r"���r��z+IocpProactor.recv_into.<locals>.finish_recv���r��r��)r��rf���r��r����r ��r ���WSARecvIntor�����ReadFileIntor����r����r ���r���r���bufr����r ���r��s��� r"���� recv_intozIocpProactor.recv_into���s�������� � ��&�&�&� � #�D� )� )�� #��$�� �.�.�� 4����t�{�{�}�}�c�5�9�9�9�9������� � �s�3�3�3����� #�� #�� #��<�<��?�?�"�"�"� #���� �� �� ���~�~�b�$��4�4�4r��c������������������2����|�����������������������|�������������t����������j��������t����������������������} �|���������������������|�����������������������������������||�������������n%#�t����������$�r�|����������������������d������������cY�S�w�xY�wd��}|����������������������|||������������S�)N�r#���Nc������������������������ �|������������������������������������S�#�t����������$�rN}|j��������t����������j��������k����rY�d�}~dS�|j��������t����������j��������t����������j��������fv�rt����������|j�������������d�}~ww�xY�w)Nr��� r����r6���rh���rf����ERROR_PORT_UNREACHABLEr����r���r��r����r��s��� r"���r��z*IocpProactor.recvfrom.<locals>.finish_recv���s������� ��|�|�~�~�%���� �� �� ���<�;�#E�E�E�$�9�9�9�9�9��<�K�$E�$/�$G�$I��I��I�.���9�9������ ���������� A.�A)�.A)�)A.) r��rf���r��r�����WSARecvFromr����r����r����r ��r��s��� r"����recvfromzIocpProactor.recvfrom���s�������� � ��&�&�&� � #�D� )� )�� -��N�N�4�;�;�=�=�&�%�8�8�8�8���� -�� -�� -��<�<��,�,�,�,�,� -���� �� �� ���~�~�b�$��4�4�4�����)A��A<�;A<c������������������2����|�����������������������|�������������t����������j��������t����������������������} �|���������������������|�����������������������������������||�������������n%#�t����������$�r�|����������������������d������������cY�S�w�xY�wd��}|����������������������|||������������S�)N�r���Nc������������������������ �|������������������������������������S�#�t����������$�rN}|j��������t����������j��������k����rY�d�}~dS�|j��������t����������j��������t����������j��������fv�rt����������|j�������������d�}~ww�xY�w)Nr$��r��r��s��� r"���r��z/IocpProactor.recvfrom_into.<locals>.finish_recv��s������� ��|�|�~�~�%���� �� �� ���<�;�#E�E�E�"�7�7�7�7�7��<�K�$E�$/�$G�$I��I��I�.���9�9������ ���r��) r��rf���r��r�����WSARecvFromIntor����r����r����r ��r��s��� r"���� recvfrom_intozIocpProactor.recvfrom_into��s�������� � ��&�&�&� � #�D� )� )�� +����t�{�{�}�}�c�5�9�9�9�9���� +�� +�� +��<�<� �*�*�*�*�*� +���� �� �� ���~�~�b�$��4�4�4r"��c������������������������|�����������������������|�������������t����������j��������t����������������������}|���������������������|�����������������������������������|||�������������d��}|����������������������|||������������S�)Nc����������������������� �|������������������������������������S�#�t����������$�r3}|j��������t����������j��������t����������j��������fv�rt ����������|j�������������d�}~ww�xY�wrA���r����r��s��� r"����finish_sendz(IocpProactor.sendto.<locals>.finish_send.��r��r��)r��rf���r��r����� WSASendTor����r ��)r���r��r��r����r����r ���r*��s��� r"����sendtozIocpProactor.sendto(��sm������� � ��&�&�&� � #�D� )� )�� ���T�[�[�]�]�C���5�5�5� �� �� ���~�~�b�$��4�4�4r#���c������������������j����|�����������������������|�������������t����������j��������t����������������������}t ����������|t ����������j��������������������r*|���������������������|�����������������������������������||�������������n(|���������������������|�����������������������������������|�������������d��}|�� ��������������������|||������������S�)Nc����������������������� �|������������������������������������S�#�t����������$�r3}|j��������t����������j��������t����������j��������fv�rt ����������|j�������������d�}~ww�xY�wrA���r����r��s��� r"���r*��z&IocpProactor.send.<locals>.finish_sendB��r��r��) r��rf���r��r����r ��r ���WSASendr����� WriteFiler ��)r���r��r��r����r ���r*��s��� r"����sendzIocpProactor.send:��s�������� � ��&�&�&� � #�D� )� )���d�F�M�*�*�� -��J�J�t�{�{�}�}�c�5�1�1�1�1��L�L�������,�,�,� �� �� ���~�~�b�$��4�4�4r#���c������������������������|�������������������������������������|�����������������������j���������������������t����������j��������t ����������������������}|������������������������������������������������������������������������������������������������������������fd�}d��}|����������������������|�|������������}�||�������������}t����������j ��������||�j����������������������|S�)Nc������������������J�����|�������������������������������������t����������j��������d������������������������������������������������}����������������������t ����������j��������t����������j��������|��������������� ���������������������� ������������������������������������������������������������������������������������fS�)Nz@P)r�����struct�packr����� setsockoptr ��� SOL_SOCKETrf����SO_UPDATE_ACCEPT_CONTEXT� settimeout� gettimeout�getpeername)r����r��r ���r��r���listeners��� ��r"���� finish_acceptz*IocpProactor.accept.<locals>.finish_acceptT��s���������L�L�N�N�N��+�d�H�O�O�$5�$5�6�6�C��O�O�F�-�'�@�#� G�� G�� G��O�O�H�/�/�1�1�2�2�2���)�)�+�+�+�+r#���c�������������������l���K���� �|���d�{V����d�S�#�t�����������j��������$�r�|��������������������������������������w�xY�wrA���)r���r����r����)r3���r��s��� r"����accept_coroz(IocpProactor.accept.<locals>.accept_coro]��sN���������� �������������,�� �� �� �� � ����� ���s������%3r���)r���_get_accept_socket�familyrf���r��r�����AcceptExr����r ��r���� ensure_futurer7���)r���r<��r ���r=��r?��r3����coror��s��� ` @r"����acceptzIocpProactor.acceptN��s���������� � ��*�*�*��&�&�x��7�7�� � #�D� )� )�� ���H�O�O�%�%�t�{�{�}�}�5�5�5� ,�� ,�� ,�� ,�� ,�� ,� �� �� ������H�m�<�<���{�6�4�(�(�� ��D�t�z�2�2�2�2�� r#���c������������������������j���������t����������j��������k����rWt����������j��������������������������������������������|�������������|�j�������������������������������������������}|���������������������d��������������|S�|�� ���������������������������������� �t����������j ���������������������������������������������j���������������������nL#�t����������$�r?}|j ��������t����������j��������k����r��������������������������������������d���������dk����r��Y�d�}~nd�}~ww�xY�wt����������j��������t$����������������������}|���������������������������������������������������������|��������������fd�}|����������������������|�|������������S�)Nr���r���c������������������������|�����������������������������������������������������������t����������j��������t����������j��������d��������������S�rW���)r����r6��r ��r7��rf����SO_UPDATE_CONNECT_CONTEXT)r����r��r ���r��s��� �r"����finish_connectz,IocpProactor.connect.<locals>.finish_connect���s;��������L�L�N�N�N��O�O�F�-�'�A�1� F�� F�� F��Kr#���)�typer ��� SOCK_DGRAMrf���� WSAConnectr����r7���r����rE���r��� BindLocalrA��r6���rh����errno� WSAEINVAL�getsocknamer��r����� ConnectExr ��)r���r��r+���rb����er ���rI��s��� ` r"����connectzIocpProactor.connectj��sS�������9��)�)�)�� �"�4�;�;�=�=�'�:�:�:��*�*�*�,�,�C��N�N�4� � � ��J�� � ��&�&�&� ��!�$�+�+�-�-���=�=�=�=���� �� �� ��z�U�_�,�,�����!�!�!�$��)�)���*�)�)�)�)����� ������ #�D� )� )�� ���T�[�[�]�]�G�,�,�,� �� �� �� �� ���~�~�b�$��7�7�7s����,B1��1 C:�;5C5�5C:c����������� �������N����|�����������������������|�������������t����������j��������t����������������������}|dz��}|dz ��dz��}|���������������������|�����������������������������������t ����������j��������|�����������������������������������������������|||dd�������������d��}|����������������������|||������������S�)Nl������� ���r���c����������������������� �|������������������������������������S�#�t����������$�r3}|j��������t����������j��������t����������j��������fv�rt ����������|j�������������d�}~ww�xY�wrA���r����r��s��� r"����finish_sendfilez.IocpProactor.sendfile.<locals>.finish_sendfile���r��r��) r��rf���r��r�����TransmitFiler�����msvcrt� get_osfhandler ��) r����sock�file�offset�countr ���� offset_low�offset_highrW��s ��� r"����sendfilezIocpProactor.sendfile���s�������� � ��&�&�&� � #�D� )� )���k�)� ���|�{�2�� ������ � ��,�T�[�[�]�]�;�;�"�K��q�!� %�� %�� %� �� �� ���~�~�b�$��8�8�8r#���c�����������������������|�������������������������������������t����������j��������t����������������������}|���������������������������������������������������������������������}|r|�����������������������������������S��fd�}|����������������������|�|������������S�)Nc������������������0������|��������������������������������������S�rA���)r����)r����r��r ���r����s��� �r"����finish_accept_pipez4IocpProactor.accept_pipe.<locals>.finish_accept_pipe���s��������L�L�N�N�N��Kr#���)r��rf���r��r�����ConnectNamedPiper����r����r ��)r���r����r ���� connectedrd��s��� ` r"���r����zIocpProactor.accept_pipe���s��������� � ��&�&�&� � #�D� )� )���'�'���� � �6�6� ��� &���<�<��%�%�%� �� �� �� �� ���~�~�b�$�(:�;�;�;r#���c�������������������*��K����t�����������} � �t����������j��������|������������}n`#�t����������$�r }|j��������t����������j��������k����r��Y�d�}~nd�}~ww�xY�wt ����������|dz��t����������������������}t����������j ��������|��������������d�{V�����vt����������j��������|������������S�)NT����)�CONNECT_PIPE_INIT_DELAYrf����ConnectPiper6���rh����ERROR_PIPE_BUSY�min�CONNECT_PIPE_MAX_DELAYr����sleepr���r����)r���r+����delayrT���r9���s��� r"���r����zIocpProactor.connect_pipe���s�����������'�� %� �$�0��9�9������ �� �� ��<�;�#>�>�>���?�>�>�>�>����� ���� ���� �#9�:�:�E��+�e�$�$�$�$�$�$�$�$�$� %���'��/�/�/s����!�� A�A�Ac������������������0�����|�����������������������||d������������S�)z�Wait for a handle. Return a Future object. The result of the future is True if the wait completed, or False if the wait did not complete (on timeout). F)�_wait_for_handle)r���rT���r����s��� r"����wait_for_handlezIocpProactor.wait_for_handle���s��������$�$�V�W�e�<�<�<r#���c������������������B�����|�����������������������|d�d������������}||_��������|S�r����)rq��rr���)r���rs���� done_callbackrb���s��� r"���r����zIocpProactor._wait_cancel���s(�������#�#�E�4��6�6���+���� r#���c�����������������������|��������������������������������������|� t����������j��������}nt����������j��������|dz��������������}t����������j��������t����������������������}t����������j��������||�j ��������|j ��������|������������}|rt����������||||�j����������������������nt����������||||�|�j�����������������������j��������r�j��������d=��fd�}�|d|f|�j��������|j ��������<����S�)N������@�@r���r���c������������������,�������������������������������������������S�rA���)r\���)r����r��r ���r����s��� �r"����finish_wait_for_handlez=IocpProactor._wait_for_handle.<locals>.finish_wait_for_handle���s���������7�7�9�9�r#���r���)r����rX����INFINITE�math�ceilrf���r��r�����RegisterWaitWithQueuer����r+���rp���r7���ry���r���r����) r���rT���r����� _is_cancel�msr ���rU���rx��r����s ��� @r"���rq��zIocpProactor._wait_for_handle���s���������������?��!�B�B����7�S�=�)�)�B��� #�D� )� )��!�7��D�J�� �B�0��0���� 3�!�"�f�k�� �K�K�K�A�A�!�"�f�k�4�'+�z�3��3��3�A���� (��#�B�'� �� �� �� �� ��$%�b�!�-C�"D���B�J���r#���c�����������������������||�j���������vrJ|�j������������������������������|�������������t����������j��������|�����������������������������������|�j��������dd�������������d�S�d�S�rW���)rS���r����rf���r����r����r�����r����objs��� r"���r��z IocpProactor._register_with_iocp���sX��������d�&�&�&��� � ��%�%�%��.�s�z�z�|�|�T�Z��A�N�N�N�N�N��'�&r#���c������������������L����|��������������������������������������t����������||�j���������������������}|j��������r|j��������d=�|j��������sP ��|d�d�|������������}|���������������������|�������������n,#�t����������$�r}|���������������������|�������������Y�d�}~nd�}~ww�xY�w||||f|�j��������|j ��������<���|S�r���) r����r���r7���r���r%���rE���r6���rB���r����r+���)r���r ���r����callbackr����r����rR��s��� r"���r ��zIocpProactor._register���s������������� � �b�t�z�2�2�2����� (��#�B�'��z�� $� $� ���t�R�0�0������U�#�#�#�#����� #�� #�� #�����"�"�"�"�"�"�"�"����� #�����$%�b�#�x�"8���B�J���s���� A%��% B�/B � Bc������������������b�����|��������������������������������������|�j�����������������������������|�������������dS�)a ��Unregister an overlapped object. Call this method when its future has been cancelled. The event can already be signalled (pending in the proactor event queue). It is also safe if the event is never signalled (because it was cancelled). N)r����r����r`���)r���r ���s��� r"���r����zIocpProactor._unregister��s3������� ��������!�!�"�%�%�%�%�%r#���c������������������X�����t����������j���������|������������}|���������������������d�������������|S�rW���)r ��r9��)r���rA���ss��� r"���r@��zIocpProactor._get_accept_socket'��s%�������M�&�!�!�� ���Q�����r#���c����������� �������$����|�t�����������}nF|dk�����rt����������d�������������t����������j��������|dz��������������}|t�����������k����rt����������d������������� �t ����������j��������|�j��������|������������}|��n]d}|\��}}}} �|�j�����������������������������|������������\��}} } }nq#�t����������$�rd�|�j �������������������������������������������r$|�j �����������������������������dd||||fz��d��������������|dt����������j ��������fvrt����������j��������|�������������Y���w�xY�w| |�j��������v�r|������������������������������������n�|�����������������������������������s� ��|||| ������������}|���������������������|�������������|�j�����������������������������|�������������nF#�t,����������$�r9} |���������������������| �������������|�j�����������������������������|�������������Y�d�} ~ nd�} ~ ww�xY�wd�}n#�d�}w�xY�w��{|�j��������D�]"} |�j�����������������������������| j��������d���������������#|�j��������������������������������������������d�S�) Nr���znegative timeoutrv��ztimeout too bigTz8GetQueuedCompletionStatus() returned an unexpected eventz)err=%s transferred=%s key=%#x address=%#x)r1����status)ry��� ValueErrorrz��r{��rf����GetQueuedCompletionStatusr����r�����pop�KeyErrorr7���� get_debugr8���r����rX���r����r����r5����donerE���r����r`���r6���rB���r����r+���r����)r���r����r~��r����err�transferredr��r+���r����r ���r���r���r����rR��s��� r"���r\���zIocpProactor._poll,��sy������?��B�B� �q�[�[��/�0�0�0����7�S�=�)�)�B��X�~�~� �!2�3�3�3�& � �:�4�:�r�J�J�F��~���B�-3�*�C��c�7� �'+�{���w�'?�'?�$��2�s�H�H���� �� �� ��:�'�'�)�)����J�5�5�%7�#N�&)�;��W�%E�$F�7��7���������q�+�"B�C�C�C��'��,�,�,��� ������d�+�+�+���� � � � ���V�V�X�X�� � �$�H�[�#�r�:�:�E� ��L�L��'�'�'��M�(�(��+�+�+�+�����,��,��,��O�O�A�&�&�&��M�(�(��+�+�+�+�+�+�+�+�����,������A�A���A�H�H�H�H�M& �R��$�� .�� .�B��K�O�O�B�J��-�-�-�-��� � �"�"�"�"�"sC����:B��A+D�D�> E;��0G��; F>�/F9�4G��9F>�>G��Gc������������������:�����|�j������������������������������|�������������d�S�rA���)r����r����r���s��� r"���� _stop_servingzIocpProactor._stop_servinge��s!������� ��!�!�#�&�&�&�&�&r#���c����������������������|�j����������d�S�t����������|�j�������������������������������������������������������D�]�\��}}}}|�����������������������������������r�t����������|t����������������������r�2 �|�������������������������������������H#�t����������$�rB}|�j ���������1d||d�}|j ��������r |j ��������|d<���|�j �����������������������������|�������������Y�d�}~��d�}~ww�xY�wd}t����������j ����������������������}||z���} |�j��������rs| t����������j ����������������������k����r@t����������j��������d|�t����������j ����������������������|z ���������������t����������j ����������������������|z���} |����������������������|�������������|�j���������sg�|�_��������t%����������j��������|�j����������������������d�|�_���������d�S�)NzCancelling a future failedr0���r4���g�������?z,%r is running after closing for %.1f seconds)r�����listr�����values� cancelledr ��rp���r5���r6���r7���r���r8����time� monotonicr ����debugr\���r����rX���r����) r���rb���r ���r���r���r9���r:���� msg_update� start_time�next_msgs ��� r"���r����zIocpProactor.closek��s�������:���F��'+�4�;�+=�+=�+?�+?�&@�&@�� C�� C�"�C��S�(��}�}���� C���C�!2�3�3�� C��C��J�J�L�L�L�L���� C�� C�� C��z�-�'C�),�&)�#��#�� ��0��P�:=�:O�G�$6�7�� �9�9�'�B�B�B���������� C������ ��^�%�%� �� �*���k�� #��4�>�+�+�+�+���K�!�4�>�#3�#3�j�#@�B��B��B��>�+�+�j�8��� �J�J�z�"�"�"���k�� #���� ���D�J�'�'�'��� � � s����#A8�8 C�8B?�?Cc������������������.�����|��������������������������������������d�S�rA���)r����r[���s��� r"���r����zIocpProactor.__del__���s������� � �����r#���rA���)r���r$��)!rH���rI���rJ���rK���ry��r���r����r����r����r����r����r��r��r!��r'��r,��r1��rE��rS��ra��r����r����rr��r����rq��r��r ��r����r@��r\���r���r����r����r����r#���r"���r���r������s��������������-�-�#+��2��2��2��2�9��9��9�E��E��E������ �� �� �� ������ 5��5��5��5�.5��5��5��5�.5��5��5��5�05��5��5��5�05��5��5��5�$5��5��5��5�(�����88��8��8�>9��9��9�*<��<��<�"0��0��0�&=��=��=��=������ �� �� �DO��O��O������@&��&��&������ 7#��7#��7#��7#�r'��'��'�-��-��-�^��������r#���r���c�������������������������e�Zd�Zd��ZdS�)r����c����������� ���������������t����������j��������|f|||||d�|����_����������fd�}��j��������j�����������������������������t ������������j��������j��������������������������������} | ���������������������|�������������d�S�)N)r����r����r����r����r����c������������������d�������j��������������������������������������������}����������������������|�������������d�S�rA���)�_proc�poll�_process_exited)r����� returncoder���s��� �r"���r���z4_WindowsSubprocessTransport._start.<locals>.callback���s.�����������*�*�J�� � ��,�,�,�,�,r#���) r����Popenr���r7���r{���rr���intrQ���r����) r���r����r����r����r����r����r����r����r���r����s ���` r"����_startz"_WindowsSubprocessTransport._start���s��������"�(��'��U�6�&��'��'�%�'��'�� � -�� -�� -�� -�� -�� �J� �0�0��T�Z�5G�1H�1H�I�I�� ���H�%�%�%�%�%r#���N)rH���rI���rJ���r���r����r#���r"���r����r�������s#�������������� &�� &�� &�� &�� &r#���r����c�������������������������e�Zd�ZeZdS�)r���N)rH���rI���rJ���r���� _loop_factoryr����r#���r"���r���r���������������������%�M�M�Mr#���r���c�������������������������e�Zd�ZeZdS�)r���N)rH���rI���rJ���r���r���r����r#���r"���r���r������r���r#���r���)2rK����sys�platform�ImportErrorrf���rX���rN��rz��rY��r ��r4��r���r������r���r���r���r���r ���r ���r���r����logr ����__all__r����ry���ERROR_CONNECTION_REFUSED�ERROR_CONNECTION_ABORTEDri��rm���Futurer���rO���rp���ry����objectr�����BaseSelectorEventLoopr�����BaseProactorEventLoopr���r����BaseSubprocessTransportr����r����BaseDefaultEventLoopPolicyr���r���r���r����r#���r"����<module>r������sx�����4��4�� � � � ��<�7��� �+�l� #� #�#������������������������� � � � �� � � � �� � � � ���������������������������������������������������������������������������������������������������������������������������|������������ �������-��-��-��-��-����-��-��-�`G#��G#��G#��G#��G#�G�N��G#��G#��G#�T&��&��&��&��&�-��&��&��&�01P��1P��1P��1P��1P�-��1P��1P��1P�h8��8��8��8��8���8��8��8�v2��2��2��2��2�� E��2��2��2�g��g��g��g��g��=��g��g��g�T|��|��|��|��|��|��|��|�~&��&��&��&��&�/�"I��&��&��&��.���&��&��&��&��&�V�%F��&��&��&�&��&��&��&��&�V�%F��&��&��&��8������r#���