����JFIF���������
1#@!#!123s
D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
lib64
/
python3.6
/
multiprocessing
/
__pycache__
/
Filename :
connection.cpython-36.opt-2.pyc
back
Copy
3 �\dhVy������������������@���s��d�dddgZ�ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl mZ�ddl mZm Z �dd lmZ�ejZy$ddlZdd lmZmZmZmZ�W�n$�ek r����ejdkr�dZY�nX�dZd ZdZej��ZdZdgZe ed��rdZedg7�Zejdk�rdZedg7�Zefdd�Z!dd��Z"dd��Z#dd��Z$dd��Z%G�dd��d�Z&e�rnG�dd��de&�Z'G�d d!��d!e&�Z(G�d"d��de)�Z*dPd#d��Z+ejdk�r�dQd%d�Z,n dRd&d�Z,G�d'd(��d(e)�Z-d)d*��Z.ejdk�r�G�d+d,��d,e)�Z/d-d.��Z0d/Z1d0Z2d1Z3d2Z4d3d4��Z5d5d6��Z6G�d7d8��d8e)�Z7d9d:��Z8d;d<��Z9G�d=d>��d>e*�Z:d?d@��Z;ejdk�rzdAdB��Z<ej=ej>hZ?dSdCd�Z@n,ddlAZAe eAdD��r�eAjBZCneAjDZCdTdEd�Z@ejdk�r�dFdG��ZEdHdI��ZFejGe(eE��dJdK��ZHdLdM��ZIejGe'eH��ndNdG��ZEdOdI��ZFejGe(eE��dS�)U�Client�Listener�Pipe�wait�����N����)�util)�AuthenticationError�BufferTooShort)� reduction)� WAIT_OBJECT_0�WAIT_ABANDONED_0�WAIT_TIMEOUT�INFINITE�win32i� ��g������4@Zsha256�AF_INET�AF_UNIX�AF_PIPEc�������������C���s���t�j��|��S�)N)�time� monotonic)�timeout��r����2/usr/lib64/python3.6/multiprocessing/connection.py� _init_timeout?���s����r���c�������������C���s���t�j��|�kS�)N)r���r���)�tr���r���r����_check_timeoutB���s����r���c�������������C���sX���|�dkrdS�|�dkr&t�jdtj��d�S�|�dkrLt�jdtj��tt�f�d d�S�td ��d�S�)Nr���� localhostr���r���z listener-)�prefix�dirr���z\\.\pipe\pyc-%d-%d-��zunrecognized family)r���r���) �tempfileZmktempr���Zget_temp_dir�os�getpid�next� _mmap_counter� ValueError)�familyr���r���r����arbitrary_addressI���s����r&���c�������������C���sJ���t�jdkr|�dkrtd|����t�jdkrF|�dkrFtt|��sFtd|����d�S�)Nr���r���zFamily %s is not recognized.r���)�sys�platformr$����hasattr�socket)r%���r���r���r����_validate_familyW���s ���� r+���c�������������C���sJ���t�|��tkrdS�t�|��tkr*|�jd�r*dS�t�|��tkr:dS�td|����d�S�)Nr���z\\r���r���zaddress type of %r unrecognized)�type�tuple�str� startswithr$���)�addressr���r���r����address_typec���s����r1���c���������������@���s����e�Zd�ZdZd+dd�Zdd��Zdd��Zd d ��Zdd��Zd d��Z e dd���Ze dd���Ze dd���Z dd��Zdd��Zd,dd�Zdd��Zd-dd�Zd.d d!�Zd"d#��Zd/d%d&�Zd'd(��Zd)d*��ZdS�)0�_ConnectionBaseNTc�������������C���sB���|j���}|dk�rtd��|�r,|�r,td��||�_||�_||�_d�S�)Nr���zinvalid handlez6at least one of `readable` and `writable` must be True)� __index__r$����_handle� _readable� _writable)�self�handle�readable�writabler���r���r����__init__y���s����z_ConnectionBase.__init__c�������������C���s���|�j�d�k r|�j���d�S�)N)r4����_close)r7���r���r���r����__del__����s���� z_ConnectionBase.__del__c�������������C���s���|�j�d�krtd��d�S�)Nzhandle is closed)r4����OSError)r7���r���r���r���� _check_closed����s���� z_ConnectionBase._check_closedc�������������C���s���|�j�std��d�S�)Nzconnection is write-only)r5���r>���)r7���r���r���r����_check_readable����s����z_ConnectionBase._check_readablec�������������C���s���|�j�std��d�S�)Nzconnection is read-only)r6���r>���)r7���r���r���r����_check_writable����s����z_ConnectionBase._check_writablec�������������C���s"���|�j�rd|�_n|�j���td��d�S�)NFzbad message length)r6���r5����closer>���)r7���r���r���r����_bad_message_length����s����z#_ConnectionBase._bad_message_lengthc�������������C���s ���|�j�d�kS�)N)r4���)r7���r���r���r����closed����s����z_ConnectionBase.closedc�������������C���s���|�j�S�)N)r5���)r7���r���r���r���r9�������s����z_ConnectionBase.readablec�������������C���s���|�j�S�)N)r6���)r7���r���r���r���r:�������s����z_ConnectionBase.writablec�������������C���s���|�j����|�jS�)N)r?���r4���)r7���r���r���r����fileno����s����z_ConnectionBase.filenoc�������������C���s$���|�j�d�k r z|�j���W�d�d�|�_�X�d�S�)N)r4���r<���)r7���r���r���r���rB�������s���� z_ConnectionBase.closer���c�������������C���s����|�j����|�j���t|�}|jdkr.tt|��}t|�}|dk�rFtd��||k�rVtd��|d�krh||�}n&|dk�rztd��n||�|kr�td��|�j||||�����d�S�)Nr���r���zoffset is negativezbuffer length < offsetzsize is negativezbuffer length < offset + size)r?���rA���� memoryview�itemsize�bytes�lenr$����_send_bytes)r7����buf�offset�size�m�nr���r���r���� send_bytes����s"���� z_ConnectionBase.send_bytesc�������������C���s$���|�j����|�j���|�jtj|���d�S�)N)r?���rA���rJ����_ForkingPickler�dumps)r7����objr���r���r����send����s����z_ConnectionBase.sendc�������������C���sJ���|�j����|�j���|d�k r(|dk�r(td��|�j|�}|d�krB|�j���|j��S�)Nr���znegative maxlength)r?���r@���r$����_recv_bytesrC����getvalue)r7���Z maxlengthrK���r���r���r���� recv_bytes����s���� z_ConnectionBase.recv_bytesc�������������C���s����|�j����|�j���t|���}|j}|t|��}|dk�r>td��n||krNtd��|�j��}|j��}|||�k�rvt|j ����|j d��|j|||�||�|�����|S�Q�R�X�d�S�)Nr���znegative offsetzoffset too large)r?���r@���rF���rG���rI���r$���rU����tellr ���rV����seek�readinto)r7���rK���rL���rN���rG���Zbytesize�resultrM���r���r���r����recv_bytes_into����s"���� z_ConnectionBase.recv_bytes_intoc�������������C���s&���|�j����|�j���|�j��}tj|j���S�)N)r?���r@���rU���rQ����loads� getbuffer)r7���rK���r���r���r����recv����s����z_ConnectionBase.recv���������c�������������C���s���|�j����|�j���|�j|�S�)N)r?���r@����_poll)r7���r���r���r���r����poll��s����z_ConnectionBase.pollc�������������C���s���|�S�)Nr���)r7���r���r���r���� __enter__��s����z_ConnectionBase.__enter__c�������������C���s���|�j����d�S�)N)rB���)r7����exc_type� exc_value�exc_tbr���r���r����__exit__ ��s����z_ConnectionBase.__exit__)TT)r���N)N)r���)r`���)�__name__� __module__�__qualname__r4���r;���r=���r?���r@���rA���rC����propertyrD���r9���r:���rE���rB���rP���rT���rW���r\���r_���rb���rc���rg���r���r���r���r���r2���v���s(��� r2���c���������������@���s@���e�Zd�ZdZejfdd�Zdd��Zd dd�Zd d ��Z dd��Z dS�)�PipeConnectionFc�������������C���s���||�j���d�S�)N)r4���)r7���Z_CloseHandler���r���r���r<�����s����zPipeConnection._closec�������������C���sh���t�j|�j|dd�\}}z<y |t�jkr6t�j|jgdt�}W�n���|j�����Y�nX�W�d�|jd�\}}X�d�S�)NT)� overlappedF) �_winapiZ WriteFiler4����ERROR_IO_PENDING�WaitForMultipleObjects�eventr����cancel�GetOverlappedResult)r7���rK����ov�err�waitresZnwrittenr���r���r���rJ�����s���� zPipeConnection._send_bytesNc������� ������C���s��|�j�rd|�_�tj��S�|d�kr dnt|d�}y�tj|�j|dd�\}}z<y |tjkrbtj|j gdt �}W�n���|j�����Y�nX�W�d�|jd�\}}|dkr�tj��}|j |j����|S�|tjkr�|�j||�S�X�W�n8�tk �r�}�z|jtjkr�t�n��W�Y�d�d�}~X�nX�td��d�S�)NF����T)rm���r���z.shouldn't get here; expected KeyboardInterrupt)�_got_empty_message�io�BytesIO�minrn����ReadFiler4���ro���rp���rq���r���rr���rs����writer^���ZERROR_MORE_DATA�_get_more_datar>����winerror�ERROR_BROKEN_PIPE�EOFError�RuntimeError) r7����maxsizeZbsizert���ru���rv���Znread�f�er���r���r���rU���*��s6���� zPipeConnection._recv_bytesc�������������C���s.���|�j�stj|�j�d�dkrdS�tt|�g|��S�)Nr���T)rx���rn���� PeekNamedPiper4����boolr���)r7���r���r���r���r���ra���J��s����zPipeConnection._pollc�������������C���s����|j���}tj��}|j|��tj|�j�d�}|d�k rJt|�|�|krJ|�j���tj |�j|dd�\}}|j d�\}}|j|j�����|S�)Nr���T)rm���)r^���ry���rz���r}���rn���r����r4���rI���rC���r|���rs���)r7���rt���r����rK���r�����leftru���Zrbytesr���r���r���r~���P��s���� zPipeConnection._get_more_data)N)rh���ri���rj���rx���rn����CloseHandler<���rJ���rU���ra���r~���r���r���r���r���rl�����s��� rl���c���������������@���sx���e�Zd�Zer(ejfdd�ZejZej Z nejfdd�Zej ZejZ efdd�Ze fdd�Zdd ��Zddd�Zd d��Zd S�)� Connectionc�������������C���s���||�j���d�S�)N)r4���)r7���r<���r���r���r���r<���g��s����zConnection._closec�������������C���s���||�j���d�S�)N)r4���)r7���r<���r���r���r���r<���l��s����c�������������C���s<���t�|�}x.||�j|�}||8�}|dkr(P�||d���}q W�d�S�)Nr���)rI���r4���)r7���rK���r}���� remainingrO���r���r���r����_sendq��s����zConnection._sendc�������������C���sf���t�j��}|�j}|}xN|dkr`|||�}t|�}|dkrL||krDt�ntd��|j|��||8�}qW�|S�)Nr���zgot end of file during message)ry���rz���r4���rI���r����r>���r}���)r7���rM����readrK���r8���r�����chunkrO���r���r���r����_recvz��s���� zConnection._recvc�������������C���sD���t�|�}tjd|�}|dkr2|�j|��|�j|��n|�j||���d�S�)Nz!ii�@��)rI����structZpackr����)r7���rK���rO����headerr���r���r���rJ������s���� zConnection._send_bytesNc�������������C���s:���|�j�d�}tjd|j���\}|d�k r0||kr0d�S�|�j�|�S�)N����z!i)r����r����ZunpackrV���)r7���r����rK���rM���r���r���r���rU������s ���� zConnection._recv_bytesc�������������C���s���t�|�g|�}t|�S�)N)r���r����)r7���r����rr���r���r���ra������s����zConnection._poll)N)rh���ri���rj���rn����_multiprocessingZclosesocketr<���rT���Z_writer_���Z_readr ���rB���r}���r����r����r����rJ���rU���ra���r���r���r���r���r����`��s��� r����c���������������@���sN���e�Zd�Zddd�Zdd��Zdd��Zed d ���Zedd ���Zdd ��Z dd��Z dS�)r���Nr���c�������������C���sr���|p|rt�|�pt}|pt|�}t|��|dkr>t||�|�_nt|||�|�_|d�k rht|t��rht d��||�_ d�S�)Nr���zauthkey should be a byte string)r1����default_familyr&���r+����PipeListener� _listener�SocketListener� isinstancerH���� TypeError�_authkey)r7���r0���r%����backlog�authkeyr���r���r���r;������s����zListener.__init__c�������������C���s>���|�j�d�krtd��|�j�j��}|�jr:t||�j��t||�j��|S�)Nzlistener is closed)r����r>����acceptr�����deliver_challenge�answer_challenge)r7����cr���r���r���r�������s���� zListener.acceptc�������������C���s ���|�j�}|d�k rd�|�_�|j���d�S�)N)r����rB���)r7���Zlistenerr���r���r���rB������s����zListener.closec�������������C���s���|�j�jS�)N)r�����_address)r7���r���r���r����<lambda>���s����zListener.<lambda>c�������������C���s���|�j�jS�)N)r�����_last_accepted)r7���r���r���r���r�������s����c�������������C���s���|�S�)Nr���)r7���r���r���r���rc������s����zListener.__enter__c�������������C���s���|�j����d�S�)N)rB���)r7���rd���re���rf���r���r���r���rg������s����zListener.__exit__)NNr���N)rh���ri���rj���r;���r����rB���rk���r0���Z last_acceptedrc���rg���r���r���r���r���r������s��� c�������������C���sj���|p t�|��}t|��|dkr&t|��}nt|��}|d�k rJt|t��rJtd��|d�k rft||��t||��|S�)Nr���zauthkey should be a byte string) r1���r+���� PipeClient�SocketClientr����rH���r����r����r����)r0���r%���r����r����r���r���r���r������s���� Tc�������������C���sj���|�r>t�j��\}}|jd��|jd��t|j���}t|j���}n$tj��\}}t|dd�}t|dd�}||fS�)NTF)r:���)r9���)r*���Z socketpair�setblockingr�����detachr ����pipe)�duplex�s1�s2�c1�c2Zfd1Zfd2r���r���r���r������s���� c������� ��� ���C���s����t�d�}|�r*tj}tjtjB�}tt�}}ntj}tj}dt�}}tj||tjB�tj B�tj tjB�tjB�d||tj tj�}tj||dtjtjtjtj�}tj|tjd�d���tj|dd�}|jd�\} } t||�d�}t||�d�}||fS�)Nr���r���r���T)rm���)r:���)r9���)r&���rn����PIPE_ACCESS_DUPLEX�GENERIC_READ� GENERIC_WRITE�BUFSIZEZPIPE_ACCESS_INBOUND�CreateNamedPipe�FILE_FLAG_OVERLAPPED�FILE_FLAG_FIRST_PIPE_INSTANCE�PIPE_TYPE_MESSAGE�PIPE_READMODE_MESSAGE� PIPE_WAIT�NMPWAIT_WAIT_FOREVER�NULL� CreateFile� OPEN_EXISTING�SetNamedPipeHandleState�ConnectNamedPipers���rl���) r����r0���Zopenmode�accessZobsizeZibsizeZh1Zh2rm����_ru���r����r����r���r���r���r�����s2���� c���������������@���s&���e�Zd�Zd dd�Zdd��Zdd��ZdS�) r����r���c�������������C���s����t�j�tt�|��|�_yRtjdkr2|�jjt�jt�jd��|�jjd��|�jj |��|�jj |��|�jj��|�_W�n �t k r����|�jj�����Y�nX�||�_d�|�_|dkr�tj|�tj|fdd�|�_nd�|�_d�S�)N�posixr���Tr���r���)�args�exitpriority)r*����getattr�_socketr ����nameZ setsockoptZ SOL_SOCKETZSO_REUSEADDRr����ZbindZlistenZgetsocknamer����r>���rB���Z_familyr����r����Finalize�unlink�_unlink)r7���r0���r%���r����r���r���r���r;���<��s$���� zSocketListener.__init__c�������������C���s&���|�j�j��\}|�_|jd��t|j���S�)NT)r����r����r����r����r����r����)r7����sr���r���r���r����T��s���� zSocketListener.acceptc�������������C���s0���z|�j�j���W�d�|�j}|d�k r*d�|�_|���X�d�S�)N)r����rB���r����)r7���r����r���r���r���rB���Y��s����zSocketListener.closeN)r���)rh���ri���rj���r;���r����rB���r���r���r���r���r����8��s��� r����c���������� ���C���sD���t�|��}tjtt|���"}|jd��|j|���t|j���S�Q�R�X�d�S�)NT)r1���r*���r����r����Zconnectr����r����)r0���r%���r����r���r���r���r����c��s ���� r����c���������������@���s4���e�Zd�Zddd�Zddd�Zdd��Zed d ���ZdS�) r����Nc�������������C���sL���||�_�|�jdd�g|�_d�|�_tjd|�j���tj|�tj|�j|�j�fdd�|�_ d�S�)NT)�firstz listener created with address=%rr���)r����r����) r�����_new_handle� _handle_queuer����r���� sub_debugr����r�����_finalize_pipe_listenerrB���)r7���r0���r����r���r���r���r;���w��s����zPipeListener.__init__Fc���������� ���C���sH���t�jt�jB�}|r|t�jO�}t�j|�j|t�jt�jB�t�jB�t�j t t t�jt�j�S�)N) rn���r����r����r����r����r����r����r����r����ZPIPE_UNLIMITED_INSTANCESr����r����r����)r7���r�����flagsr���r���r���r�������s���� zPipeListener._new_handlec�������������C���s����|�j�j|�j����|�j�jd�}ytj|dd�}W�n0�tk r^�}�z|jtjkrN��W�Y�d�d�}~X�nPX�z<ytj |j gdt�}W�n ���|j���tj |����Y�nX�W�d�|jd�\}}X�t|�S�)Nr���T)rm���F)r�����appendr�����poprn���r����r>���r���Z ERROR_NO_DATArp���rq���r���rr���r����rs���rl���)r7���r8���rt���r�����resr����ru���r���r���r���r�������s"���� zPipeListener.acceptc�������������C���s(���t�jd|��x|�D�]}tj|��qW�d�S�)Nz closing listener with address=%r)r���r����rn���r����)Zqueuer0���r8���r���r���r���r�������s���� z$PipeListener._finalize_pipe_listener)N)F)rh���ri���rj���r;���r����r�����staticmethodr����r���r���r���r���r����s��s��� r����c�������������C���s����t���}x~y6tj|�d��tj|�tjtjB�dtjtjtjtj�}W�n>�t k r|�}�z"|j tjtjfksjt |�rl��W�Y�d�d�}~X�qX�P�qW���tj|tjd�d���t|�S�)Ni���r���)r���rn���Z WaitNamedPiper����r����r����r����r����r����r>���r���ZERROR_SEM_TIMEOUTZERROR_PIPE_BUSYr���r����r����rl���)r0���r����hr����r���r���r���r�������s"���� r��������s���#CHALLENGE#s ���#WELCOME#s ���#FAILURE#c�������������C���sf���dd�l�}tjt�}|�jt|���|j||t�j��}|�j d�}||krP|�jt ��n|�jt��td��d�S�)Nr�������zdigest received was wrong) �hmacr ����urandom�MESSAGE_LENGTHrP���� CHALLENGE�new�HMAC_DIGEST_NAME�digestrW����WELCOME�FAILUREr���)� connectionr����r�����messager�����responser���r���r���r�������s���� r����c�������������C���s\���dd�l�}|�jd�}|tt�d���}|j||t�j��}|�j|��|�jd�}|tkrXt d��d�S�)Nr���r����zdigest sent was rejected) r����rW���rI���r����r����r����r����rP���r����r���)r����r����r����r����r����r����r���r���r���r�������s���� r����c���������������@���s$���e�Zd�Zdd��Zdd��Zdd��ZdS�)�ConnectionWrapperc�������������C���s:���||�_�||�_||�_x"dD�]}t||�}t|�||��qW�d�S�)NrE���rB���rb���rW���rP���)rE���rB���rb���rW���rP���)�_conn�_dumps�_loadsr�����setattr)r7����connrR���r]����attrrS���r���r���r���r;������s���� zConnectionWrapper.__init__c�������������C���s���|�j�|�}|�jj|��d�S�)N)r����r����rP���)r7���rS���r����r���r���r���rT������s���� zConnectionWrapper.sendc�������������C���s���|�j�j��}|�j|�S�)N)r����rW���r����)r7���r����r���r���r���r_������s���� zConnectionWrapper.recvN)rh���ri���rj���r;���rT���r_���r���r���r���r���r�������s���r����c�������������C���s���t�j|�fd�d�d�d�jd�S�)Nr���zutf-8)� xmlrpclibrR����encode)rS���r���r���r���� _xml_dumps���s����r����c�������������C���s���t�j|�jd��\\}}|S�)Nzutf-8)r����r]����decode)r����rS����methodr���r���r���� _xml_loads���s����r����c���������������@���s���e�Zd�Zdd��ZdS�)�XmlListenerc�������������C���s ���dd�l�jatj|��}t|tt�S�)Nr���)� xmlrpc.client�clientr����r���r����r����r����r����)r7���rS���r���r���r���r������s���� zXmlListener.acceptN)rh���ri���rj���r����r���r���r���r���r������s���r����c��������������O���s���dd�l�jatt|�|�tt�S�)Nr���)r����r����r����r����r���r����r����)r�����kwdsr���r���r���� XmlClient ��s���� r����c�������������C���s����t�|��}g�}x�|r�tj|d|�}|tkr,P�n\t|��koFtt|��k�n��rV|t8�}n2t|��koptt|��k�n��r�|t8�}ntd��|j||���||d�d���}d}qW�|S�)NFzShould not get herer���r���) �listrn���rp���r ���r���rI���r���r����r����)Zhandlesr����L�readyr����r���r���r����_exhaustive_wait��s���� r����c������� ���.������sn��|d�krt�}n|dk�rd}nt|d�d��}t|��}�i��g�}t����t��}�zH�x2|�D��](}yt|d�}W�n �tk r����|�|j��<�Y�qTX�ytj|��dd�\}}W�n8�t k r��}�zd�|j �}}|tkrʂ�W�Y�d�d�}~X�nX�|tjkr�|j |��|�|j<�qT|�rptj��d�d��dk�rpy|jd�\} }W�n*�t k �rT�}�z|j }W�Y�d�d�}~X�nX�|��rpt|d ��rpd|_��j|��d}qTW�t�j��|�}W�d�x|D�]}|j����q�W�x�|D�]�}y|jd�\} }W�n6�t k �r��}�z|j }|tk�r��W�Y�d�d�}~X�nX�|tjk�r��|j�}��j|��|dk�r�t|d ��r�d|_�q�W�X���j�fd d�|D������fdd �|�D��S�)Nr���i���g�������?rE���T��������Frx���c�������������3���s���|�]}��|�V��qd�S�)Nr���)�.0r����)�waithandle_to_objr���r���� <genexpr>v��s����zwait.<locals>.<genexpr>c����������������s���g�|�]}|��kr|�qS�r���r���)r�����o)� ready_objectsr���r���� <listcomp>w��s����zwait.<locals>.<listcomp>)r����r����)r����intr�����setr�����AttributeErrorr3���rn���r|���r>���r���� _ready_errorsro���r����rq���r'���Zgetwindowsversionrs���r)���rx����addr�����keysrr���ZERROR_OPERATION_ABORTED�update) �object_listr���Zov_listZ ready_handlesr����rE���rt���ru���r����r����r���)r���r����r���r���+��sh���� �PollSelectorc�������������C���s����t����x}x|�D�]}|j|tj��qW�|d�k r8tj��|�}x@|j|�}|rVdd��|D��S�|d�k r:|tj���}|dk�r:|S�q:W�W�d�Q�R�X�d�S�)Nc�������������S���s���g�|�]\}}|j��qS�r���)Zfileobj)r�����keyZeventsr���r���r���r�����s����zwait.<locals>.<listcomp>r���)� _WaitSelector�register� selectorsZ EVENT_READr���r���Zselect)r ��r���ZselectorrS���Zdeadliner����r���r���r���r������s���� c�������������C���sN���|�j���}tj|tjtj��*}ddlm}�|j|�}t||�j |�j ffS�Q�R�X�d�S�)Nr���)�resource_sharer)rE���r*���Zfromfdr���ZSOCK_STREAMr���r��Z DupSocket�rebuild_connectionr9���r:���)r����r8���r����r���dsr���r���r����reduce_connection���s ���� r��c�������������C���s���|�j���}t|j���||�S�)N)r����r����)r��r9���r:���Zsockr���r���r���r�����s����r��c�������������C���sB���|�j�rtjnd|�jrtjndB�}tj|�j��|�}t||�j�|�jffS�)Nr���) r9���rn���ZFILE_GENERIC_READr:���ZFILE_GENERIC_WRITEr ���Z DupHandlerE����rebuild_pipe_connection)r����r�����dhr���r���r����reduce_pipe_connection���s����r��c�������������C���s���|�j���}t|||�S�)N)r����rl���)r��r9���r:���r8���r���r���r���r�����s����r��c�������������C���s ���t�j|�j���}t||�j|�jffS�)N)r ���ZDupFdrE���r��r9���r:���)r�����dfr���r���r���r�����s����c�������������C���s���|�j���}t|||�S�)N)r����r����)r��r9���r:����fdr���r���r���r�����s����)NN)T)T)N)N)J�__all__ry���r ���r'���r*���r����r���r���� itertoolsr����r���r���r���r ����contextr ���ZForkingPicklerrQ���rn���r���r���r ���r����ImportErrorr(���r����ZCONNECTION_TIMEOUTr�����countr#���r����Zfamiliesr)���r���r���r&���r+���r1���r2���rl���r�����objectr���r���r���r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����ZERROR_NETNAME_DELETEDr��r���r��r ��r��ZSelectSelectorr��r��r ��r��r��r���r���r���r����<module> ���s���� �PJ8 ,+8 P