+
    NV-j9§  ã                   ó8  € . R>Ot ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^RI
Ht ^RI
HtHt ^RIHt ]P                   t  ^ RIt^ RIt^ RIHtHtHtHt R?tRt]P:                  ! 4       tR	tR	.t ]!! ]R
4      '       d   R
t] R
.,          t ]P4                  R8X  d   Rt] R.,          t ]3R lt"R t#R t$R t%R t& ! R R4      t']'       d    ! R R]'4      t( ! R R]'4      t) ! R R]*4      t+R@R lt,]P4                  R8w  d   RAR lt-MRAR lt- ! R R]*4      t.R t/]P4                  R8X  d    ! R R]*4      t0R  t1^(t2R!t3R"t4R#t5R$t6]7! 0 RBm4      t8]9! R% ]8 4       4      t:^t;^t<];]<3t=R& t>R' t?R( t@RCR) R* lltAR+ R, ltB ! R- R.]*4      tCR/ tDR0 tE ! R1 R2]+4      tFR3 tG]P4                  R8X  d"   R4 tH]P’                  ]P”                  0tKRDR5 ltLM1^ RIMtM]!! ]MR64      '       d   ]MPœ                  tOM]MP                   tORDR7 ltL]P4                  R8X  d5   R8 tQR9 tR]P¦                  ! ])]Q4       R: tTR; tU]P¦                  ! ](]T4       R# R< tQR= tR]P¦                  ! ])]Q4       R#   ] d	    ^ RIt EL'i ; i  ] d    ]P4                  R8X  d   h Rt EL9i ; i)EÚClientÚListenerN)Úutil)ÚAuthenticationErrorÚBufferTooShort)Ú	reduction)ÚWAIT_OBJECT_0ÚWAIT_ABANDONED_0ÚWAIT_TIMEOUTÚINFINITEÚwin32g      4@ÚAF_INETÚAF_UNIXÚAF_PIPEc                 óX   € \        \        R \        P                  4      ! 4       V ,           # ©Ú	monotonic©ÚgetattrÚtime)Útimeouts   &Úh/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/multiprocess/connection.pyÚ_init_timeoutr   A   s   € Ü”4˜¤D§I¡IÔ.Ó0°7Õ:Ð:ó    c                 óP   € \        \        R \        P                  4      ! 4       V 8„  # r   r   )Úts   &r   Ú_check_timeoutr   D   s   € Ü”4˜¤D§I¡IÔ.Ó0°1Ñ4Ð4r   c                ó  € V R8X  d   R	# V R8X  d,   \         P                  ! R\        P                  ! 4       R7      # V R8X  dB   \         P                  ! R\        P
                  ! 4       \        \        4      3,          RR7      # \        R4      h)
z7
Return an arbitrary free address for the given family
r   r   zsock-)ÚprefixÚdirr   z\\.\pipe\pyc-%d-%d-Ú zunrecognized family)Ú	localhosté    )	ÚtempfileÚmktempr   Úget_temp_dirÚosÚgetpidÚnextÚ_mmap_counterÚ
ValueError©Úfamilys   &r   Úarbitrary_addressr-   K   s|   € ð �ÔØÐØ	�9Ô	Ü�Š g´4×3DÒ3DÓ3FÔGÐGØ	�9Ô	Ü�ŠÐ&<Ü "§	¢	£¬T´-Ó-@ÐAõ'BØGIôKð 	Kô Ð.Ó/Ð/r   c                óò   € \         P                  R8w  d   V R8X  d   \        RV ,          4      h\         P                  R8X  d4   V R8X  d+   \        \        V 4      '       g   \        RV ,          4      hR# R# R# )z<
Checks if the family is valid for the current environment.
r   r   zFamily %s is not recognized.r   N)ÚsysÚplatformr*   ÚhasattrÚsocketr+   s   &r   Ú_validate_familyr3   Y   sf   € ô ‡|�|�wÔ 6¨YÔ#6ÜÐ7¸&Õ@ÓAÐAä
‡|�|�wÔ 6¨YÔ#6ä”v˜v×&Ò&ÜÐ;¸fÕDÓEÐEñ 'ñ $7Ñr   c                ó  € \        V 4      \        8X  d   R# \        V 4      \        J d   V P                  R4      '       d   R# \        V 4      \        J g   \        P
                  ! V 4      '       d   R# \        RV ,          4      h)zQ
Return the types of the address

This can be 'AF_INET', 'AF_UNIX', or 'AF_PIPE'
r   z\\r   r   zaddress type of %r unrecognized)ÚtypeÚtupleÚstrÚ
startswithr   Úis_abstract_socket_namespacer*   )Úaddresss   &r   Úaddress_typer;   e   sb   € ô ˆGƒ}œÔÙÜ	ˆg‹œ#Ó	 '×"4Ñ"4°V×"<Ò"<ÙÜ	ˆg‹œ#Ó	¤×!BÒ!BÀ7×!KÒ!KÙäÐ:¸WÕDÓEÐEr   c                   óÎ   a € ] tR t^xt o RtRR ltR tR tR tR t	R t
]R 4       t]R	 4       t]R
 4       tR tR tR tRR ltR tRR ltRR ltR tRR ltR tR tRtV tR# )Ú_ConnectionBaseNc                ó¤   € VP                  4       pV^ 8  d   \        R4      hV'       g   V'       g   \        R4      hWn        W n        W0n        R# )r"   zinvalid handlez6at least one of `readable` and `writable` must be TrueN)Ú	__index__r*   Ú_handleÚ	_readableÚ	_writable)ÚselfÚhandleÚreadableÚwritables   &&&&r   Ú__init__Ú_ConnectionBase.__init__{   sI   € Ø×!Ñ!Ó#ˆØ�AŒ:ÜÐ-Ó.Ð.ß§ÜØHóJð JàŒØ!ŒØ!Žr   c                óF   € V P                   e   V P                  4        R # R # ©N©r@   Ú_close©rC   s   &r   Ú__del__Ú_ConnectionBase.__del__ˆ   s   € Ø�<‰<Ò#Ø�K‰KŽMñ $r   c                ó8   € V P                   f   \        R4      hR # )Núhandle is closed)r@   ÚOSErrorrM   s   &r   Ú_check_closedÚ_ConnectionBase._check_closedŒ   s   € Ø�<‰<ÒÜÐ,Ó-Ð-ñ  r   c                ó@   € V P                   '       g   \        R 4      hR# )zconnection is write-onlyN)rA   rR   rM   s   &r   Ú_check_readableÚ_ConnectionBase._check_readable�   s   € Ø�~�~ˆ~ÜÐ4Ó5Ð5ñ r   c                ó@   € V P                   '       g   \        R 4      hR# )zconnection is read-onlyN)rB   rR   rM   s   &r   Ú_check_writableÚ_ConnectionBase._check_writable”   s   € Ø�~�~ˆ~ÜÐ3Ó4Ð4ñ r   c                ól   € V P                   '       d	   R V n        MV P                  4        \        R4      h)Fzbad message length)rB   rA   ÚcloserR   rM   s   &r   Ú_bad_message_lengthÚ#_ConnectionBase._bad_message_length˜   s'   € Ø�>�>ˆ>Ø"ˆD�Nà�J‰JŒLÜÐ*Ó+Ð+r   c                ó   € V P                   RJ # )z True if the connection is closedN©r@   rM   s   &r   ÚclosedÚ_ConnectionBase.closedŸ   s   € ð �|‰|˜tÐ#Ð#r   c                ó   € V P                   # )z"True if the connection is readable)rA   rM   s   &r   rE   Ú_ConnectionBase.readable¤   ó   € ð �~‰~Ðr   c                ó   € V P                   # )z"True if the connection is writable)rB   rM   s   &r   rF   Ú_ConnectionBase.writable©   re   r   c                ó:   € V P                  4        V P                  # )z+File descriptor or handle of the connection)rS   r@   rM   s   &r   ÚfilenoÚ_ConnectionBase.fileno®   s   € à×ÑÔØ�|‰|Ðr   c                ón   € V P                   e    V P                  4        RV n         R# R#   RT n         i ; i)zClose the connectionNrK   rM   s   &r   r\   Ú_ConnectionBase.close³   s1   € à�<‰<Ò#ð$Ø—‘”à#�–ñ	 $øð  $�•ús   �+ «	4c                ó   € RV n         R# )z7Stop managing the underlying file descriptor or handle.Nr`   rM   s   &r   Ú_detachÚ_ConnectionBase._detach»   s	   € àˆŽr   c                óž  € V P                  4        V P                  4        \        V4      pVP                  ^8”  d   VP	                  R4      pVP
                  pV^ 8  d   \        R4      hWR8  d   \        R4      hVf
   WR,
          pM*V^ 8  d   \        R4      hW#,           V8”  d   \        R4      hV P                  WBW#,            4       R# )z,Send the bytes data from a bytes-like objectÚBzoffset is negativezbuffer length < offsetNzsize is negativezbuffer length < offset + size)rS   rY   Ú
memoryviewÚitemsizeÚcastÚnbytesr*   Ú_send_bytes)rC   ÚbufÚoffsetÚsizeÚmÚns   &&&&  r   Ú
send_bytesÚ_ConnectionBase.send_bytes¿   s²   € à×ÑÔØ×ÑÔÜ�s‹OˆØ�:‰:˜Œ>Ø—‘�s“ˆAØ�H‰HˆØ�AŒ:ÜÐ1Ó2Ð2ØŒ:ÜÐ5Ó6Ð6ØŠ<Ø•:‰DØ�AŒXÜÐ/Ó0Ð0Ø�]˜QÔÜÐ<Ó=Ð=Ø×Ñ˜ &¥-Ð0Ö1r   c                óŽ   € V P                  4        V P                  4        V P                  \        P	                  V4      4       R# )zSend a (picklable) objectN)rS   rY   rv   Ú_ForkingPicklerÚdumps©rC   Úobjs   &&r   ÚsendÚ_ConnectionBase.sendÓ   s3   € à×ÑÔØ×ÑÔØ×Ñœ×.Ñ.¨sÓ3Ö4r   c                óØ   € V P                  4        V P                  4        Ve   V^ 8  d   \        R4      hV P                  V4      pVf   V P	                  4        VP                  4       # )z'
Receive bytes data as a bytes object.
znegative maxlength)rS   rV   r*   Ú_recv_bytesr]   Úgetvalue)rC   Ú	maxlengthrw   s   && r   Ú
recv_bytesÚ_ConnectionBase.recv_bytesÙ   sa   € ð 	×ÑÔØ×ÑÔØÒ  Y°¤]ÜÐ1Ó2Ð2Ø×Ñ˜yÓ)ˆØŠ;Ø×$Ñ$Ô&Ø�|‰|‹~Ðr   c                ó(  € V P                  4        V P                  4        \        V4      ;_uu_ 4       pVP                  pV\	        V4      ,          pV^ 8  d   \        R4      hW%8”  d   \        R4      hV P                  4       pVP                  4       pWRV,           8  d   \        VP                  4       4      hVP                  ^ 4       VP                  W2V,          W',           V,           4       VuuRRR4       #   + '       g   i     R# ; i)zY
Receive bytes data into a writeable bytes-like object.
Return the number of bytes read.
znegative offsetzoffset too largeN)rS   rV   rr   rs   Úlenr*   r†   Útellr   r‡   ÚseekÚreadinto)rC   rw   rx   rz   rs   ÚbytesizeÚresultry   s   &&&     r   Úrecv_bytes_intoÚ_ConnectionBase.recv_bytes_intoæ   sÔ   € ð
 	×ÑÔØ×ÑÔÜ˜�_Œ_ à—z‘zˆHØ¤# a£&Õ(ˆHØ˜ŒzÜ Ð!2Ó3Ð3ØÔ"Ü Ð!3Ó4Ð4Ø×%Ñ%Ó'ˆFØ—;‘;“=ˆDØ 4�-Ô'Ü$ V§_¡_Ó%6Ó7Ð7à�K‰K˜ŒNØ�O‰O˜A¨Õ0Ø%�}°Õ9ð;ô <à÷! �_�_‹_ús   ´CD Ä D	c                ó¨   € V P                  4        V P                  4        V P                  4       p\        P	                  VP                  4       4      # )zReceive a (picklable) object)rS   rV   r†   r   ÚloadsÚ	getbuffer)rC   rw   s   & r   ÚrecvÚ_ConnectionBase.recvÿ   s?   € à×ÑÔØ×ÑÔØ×ÑÓ ˆÜ×$Ñ$ S§]¡]£_Ó5Ð5r   c                ód   € V P                  4        V P                  4        V P                  V4      # )z/Whether there is any input available to be read)rS   rV   Ú_poll©rC   r   s   &&r   ÚpollÚ_ConnectionBase.poll  s)   € à×ÑÔØ×ÑÔØ�z‰z˜'Ó"Ð"r   c                ó   € V # rJ   © rM   s   &r   Ú	__enter__Ú_ConnectionBase.__enter__  ó   € Øˆr   c                ó&   € V P                  4        R # rJ   ©r\   ©rC   Úexc_typeÚ	exc_valueÚexc_tbs   &&&&r   Ú__exit__Ú_ConnectionBase.__exit__  ó   € Ø�
‰
Žr   )r@   rA   rB   )TT©r"   NrJ   ©r"   )g        )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r@   rG   rN   rS   rV   rY   r]   Úpropertyra   rE   rF   ri   r\   rn   r|   rƒ   r‰   r’   r—   rœ   r    r©   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r=   r=   x   s    ø‡ € Ø€Gô	"òò.ò6ò5ò,ð ñ$ó ð$ð ñó ðð ñó ðòò
$òô2ò(5ôôò26ô#ò÷ð r   r=   c                   óh   a € ] tR tRt o RtRtRt]P                  3R lt	R t
RR ltR tR	 tR
tV tR# )ÚPipeConnectioni  zŠ
Connection class based on a Windows named pipe.
Overlapped I/O is used, so the handles must have been created
with FILE_FLAG_OVERLAPPED.
FNc                ój   € V P                   pVe   VP                  4        V! V P                  4       R # rJ   )Ú_send_ovÚcancelr@   )rC   Ú_CloseHandleÚovs   && r   rL   ÚPipeConnection._close  s%   € Ø—‘ˆBØŠ~à—	‘	”Ù˜Ÿ™Ö&r   c                óT  € V P                   e   \        R4      h\        P                  ! V P                  VRR7      w  r#W n          V\        P
                  8X  d5   \        P                  ! VP                  .R\        4      pV\        8X  g   Q hR T n         TP                  R4      w  rST\        P                  8X  d   \        \        P                  R4      hT^ 8X  g   Q hT\!        T4      8X  g   Q hR #    TP                  4        h ; i  R T n         TP                  R4      w  rSi ; i)Nz/concurrent send_bytes() calls are not supportedT©Ú
overlappedFrQ   )rº   r*   Ú_winapiÚ	WriteFiler@   ÚERROR_IO_PENDINGÚWaitForMultipleObjectsÚeventr   r   r»   ÚGetOverlappedResultÚERROR_OPERATION_ABORTEDrR   ÚerrnoÚEPIPErŒ   )rC   rw   r½   ÚerrÚwaitresÚnwrittens   &&    r   rv   ÚPipeConnection._send_bytes%  s  € Ø�}‰}Ò(ä ð "5ó 6ð 6ä×'Ò'¨¯©°cÀdÔK‰GˆBØŒMð
=Øœ'×2Ñ2Ô2Ü%×<Ò<ØŸ™˜
 E¬8ó5�Gà"¤mÔ3Ð3Ð3ð
 !%�”Ø "× 6Ñ 6°tÓ <‘�Ø”g×5Ñ5Ô5ô œeŸk™kÐ+=Ó>Ð>Ø˜!”8ˆO�8Øœs 3›xÔ'Ð'Ò'øðØ—	‘	”Øûà $�”Ø "× 6Ñ 6°tÓ <‘�˜#ús   ÁA	C5 Ã5DÄD ÄD'c                óB  € V P                   '       d   R V n         \        P                  ! 4       # Vf   ^€M\        V^€4      p \        P
                  ! V P                  VRR7      w  r4\        4       pTp  V\        P                  8X  d5   \        P                  ! VP                  .R \        4      pV\        8X  g   Q hTP                  R4      w  r„T^ 8X  d8   \        P                  ! 4       p	T	P                  TP!                  4       4       T	pM&T\        P"                  8X  d   T P%                  Y14      pYeJd   T#  \/        R4      h   TP                  4        h ; i  TP                  R4      w  r„T^ 8X  d8   \        P                  ! 4       p	T	P                  TP!                  4       4       T	pi T\        P"                  8X  d   T P%                  Y14      pi i ; i   YeJ d   h  L°; i  \&         d,   p
T
P(                  \        P*                  8X  d   \,        hh Rp
?
ii ; i)FNTrÀ   z.shouldn't get here; expected KeyboardInterrupt)Ú_got_empty_messageÚioÚBytesIOÚminrÂ   ÚReadFiler@   ÚobjectrÄ   rÅ   rÆ   r   r   r»   rÇ   Úwriter–   ÚERROR_MORE_DATAÚ_get_more_datarR   ÚwinerrorÚERROR_BROKEN_PIPEÚEOFErrorÚRuntimeError)rC   ÚmaxsizeÚbsizer½   rË   ÚsentinelÚreturn_valuerÌ   ÚnreadÚfÚes   &&         r   r†   ÚPipeConnection._recv_bytes?  sØ  € Ø×&×&Ð&Ø*/�Ô'Ü—z’z“|Ð#à&š™´C¸ÀÓ4E�ð!Ü%×.Ò.¨t¯|©|¸UØ;?ôA‘G�Bô  &›x�HØ#+�Lð"ðPØ"¤g×&>Ñ&>Ô>Ü*1×*HÒ*HØ%'§X¡X J°´xó+A à'.´-Ô'?Ð ?Ð'?ð
 *,×)?Ñ)?ÀÓ)E™J˜EØ" aœxÜ$&§J¢J£L Ø !§¡¨¯©«Ô 7Ø/0¡Ø!$¬×(?Ñ(?Ô!?Ø/3×/BÑ/BÀ2Ó/O ð
 $Ó3Ø+Ð+ð 4ô ÐOÓPÐPøð-"ØŸI™IœKØ!ûà)+×)?Ñ)?ÀÓ)E™J˜EØ" aœxÜ$&§J¢J£L Ø !§¡¨¯©«Ô 7Ø/0¡Ø!$¬×(?Ñ(?Ô!?Ø/3×/BÑ/BÀ2Ó/O¡ð "@ûð"Ø'Ó3Ø!ñ 4ûô
 ô Ø—z‘z¤W×%>Ñ%>Ô>Ü&˜àûð	ús]   Á1G( Á5A	E Â>AG ÄG( Ä&G Ä5G( ÅEÅE ÅA:GÇG ÇG%Ç#G( Ç(HÇ3&HÈHc                ó®   € V P                   '       g-   \        P                  ! V P                  4      ^ ,          ^ 8w  d   R# \	        \        V .V4      4      # )r"   T)rÐ   rÂ   ÚPeekNamedPiper@   ÚboolÚwaitr›   s   &&r   rš   ÚPipeConnection._polli  sA   € Ø×'×'Ð'Ü×-Ò-¨d¯l©lÓ;¸AÕ>À!ÔCÙÜœ˜d˜V WÓ-Ó.Ð.r   c                óø  € VP                  4       p\        P                  ! 4       pVP                  V4       \        P
                  ! V P                  4      ^,          pV^ 8”  g   Q hVe(   \        V4      V,           V8”  d   V P                  4        \        P                  ! V P                  VRR7      w  rVP                  R4      w  rvV^ 8X  g   Q hWu8X  g   Q hVP                  VP                  4       4       V# )é   TrÀ   )r–   rÑ   rÒ   rÖ   rÂ   ræ   r@   rŒ   r]   rÔ   rÇ   )rC   r½   rÝ   rw   râ   ÚleftrË   Úrbytess   &&&     r   rØ   ÚPipeConnection._get_more_datao  sÀ   € Ø—,‘,“.ˆCÜ—
’
“ˆAØ�G‰G�CŒLÜ×(Ò(¨¯©Ó6°qÕ9ˆDØ˜!”8ˆO�8ØÒ"¤s¨3£x°$¥¸Ô'@Ø×(Ñ(Ô*Ü×&Ò& t§|¡|°TÀdÔK‰GˆBØ×0Ñ0°Ó6‰KˆFØ˜!”8ˆO�8Ø”>Ð!�>Ø�G‰G�B—L‘L“NÔ#ØˆHr   )rÐ   rº   rJ   )r®   r¯   r°   r±   Ú__doc__rÐ   rº   rÂ   ÚCloseHandlerL   rv   r†   rš   rØ   r³   r´   rµ   s   @r   r¸   r¸     s@   ø‡ € ñ	ð
 #ÐØˆà&-×&9Ñ&9ô 	'ò	(ô4(	QòT	/÷	ð 	r   r¸   c                   ó  a € ] tR tRt o Rt]'       d*   ]P                  3R lt]P                  t
]P                  tM(]P                  3R lt]P                  t
]P                   t]
3R lt]3R ltR tRR	 ltR
 tRtV tR# )Ú
Connectioni  zc
Connection class based on an arbitrary file descriptor (Unix only), or
a socket handle (Windows).
c                ó*   € V! V P                   4       R # rJ   r`   ©rC   rL   s   &&r   rL   ÚConnection._close†  ó   € Ù�4—<‘<Ö r   c                ó*   € V! V P                   4       R # rJ   r`   rô   s   &&r   rL   rõ   ‹  rö   r   c                ón   € \        V4      p V! V P                  V4      pW4,          pV^ 8X  d   R# WR pK+  )TN)rŒ   r@   )rC   rw   rÖ   Ú	remainingr{   s   &&&  r   Ú_sendÚConnection._send�  s8   € Ü˜“Hˆ	ØÙ�d—l‘l CÓ(ˆAØ�NˆIØ˜AŒ~ÙØ�b�'ŠCr   c                ó  € \         P                  ! 4       pV P                  pTpV^ 8”  d]   \        \        V4      pV! WF4      p\        V4      pV^ 8X  d   WQ8X  d   \        h\        R4      hVP                  V4       WX,          pKc  V# )r"   zgot end of file during message)	rÑ   rÒ   r@   rÓ   ÚBUFSIZErŒ   rÛ   rR   rÖ   )	rC   ry   Úreadrw   rD   rù   Úto_readÚchunkr{   s	   &&&      r   Ú_recvÚConnection._recv™  sw   € Ü�jŠj‹lˆØ—‘ˆØˆ	Ø˜!ŒmÜœ' 9Ó-ˆGÙ˜Ó)ˆEÜ�E“
ˆAØ�AŒvØÔ$Ü"�Nä!Ð"BÓCÐCØ�I‰I�eÔØ�NŠIØˆ
r   c                ó¢  € \        V4      pVR 8”  dd   \        P                  ! RR4      p\        P                  ! RV4      pV P                  V4       V P                  V4       V P                  V4       R# \        P                  ! RV4      pVR8”  d%   V P                  V4       V P                  V4       R# V P                  WA,           4       R# )iÿÿÿú!iú!Qi @  Néÿÿÿÿ)rŒ   ÚstructÚpackrú   )rC   rw   r{   Ú
pre_headerÚheaders   &&   r   rv   ÚConnection._send_bytesª  s—   € Ü�‹HˆØˆzŒ>ÜŸš T¨2Ó.ˆJÜ—[’[  qÓ)ˆFØ�J‰J�zÔ"Ø�J‰J�vÔØ�J‰J�sŽOô —[’[  qÓ)ˆFØ�5Œyð —
‘
˜6Ô"Ø—
‘
˜3–ð —
‘
˜6�<Ö(r   Nc                ó*  € V P                  ^4      p\        P                  ! RVP                  4       4      w  pVR8X  d9   V P                  ^4      p\        P                  ! RVP                  4       4      w  pVe	   W18”  d   R# V P                  V4      # )é   r  r  Nr  )r  r  Úunpackr‡   )rC   rÝ   rw   ry   s   &&  r   r†   ÚConnection._recv_bytesÁ  so   € Ø�j‰j˜‹mˆÜ—’˜d C§L¡L£NÓ3‰ˆØ�2Œ:Ø—*‘*˜Q“-ˆCÜ—M’M $¨¯©«Ó7‰EˆDØÒ 4¤>ÙØ�z‰z˜$ÓÐr   c                ó2   € \        V .V4      p\        V4      # rJ   )rè   rç   )rC   r   Úrs   && r   rš   ÚConnection._pollË  s   € Ü�$�˜Ó!ˆÜ�A‹wˆr   rŸ   rJ   )r®   r¯   r°   r±   rï   rÂ   Ú_multiprocessingÚclosesocketrL   rƒ   Ú_writer—   Ú_readr&   r\   rÖ   rþ   rú   r  rv   r†   rš   r³   r´   rµ   s   @r   rò   rò     sw   ø‡ € ñ÷
 Ø 0× <Ñ <ô 	!à!×&Ñ&ˆØ ×%Ñ%‰à "§¡ô 	!à—‘ˆØ—‘ˆà%ô ð  %ô ò")ô. ÷ð r   rò   c                   óf   a € ] tR tRt o RtRR ltR tR t]R 4       t	]R 4       t
R	 tR
 tRtV tR# )r   iÔ  z…
Returns a listener object.

This is a wrapper for a bound socket which is 'listening' for
connections, or for a Windows named pipe.
Nc                óH  € T;'       g$    T;'       d    \        V4      ;'       g    \        pT;'       g    \        V4      p\        V4       VR 8X  d   \	        W4      V n        M\        WV4      V n        Ve"   \        V\        4      '       g   \        R4      hW@n
        R# )r   Núauthkey should be a byte string)r;   Údefault_familyr-   r3   ÚPipeListenerÚ	_listenerÚSocketListenerÚ
isinstanceÚbytesÚ	TypeErrorÚ_authkey)rC   r:   r,   ÚbacklogÚauthkeys   &&&&&r   rG   ÚListener.__init__Û  s�   € Ø÷ #ð #˜G×=Ð=¬°WÓ(=÷ #ð #Ü"ð 	à×6Ð6Ô.¨vÓ6ˆä˜Ô Ø�YÔÜ)¨'Ó;ˆD�Nä+¨G¸WÓEˆDŒNàÒ¤z°'¼5×'AÒ'AÜÐ=Ó>Ð>àŽr   c                óÜ   € V P                   f   \        R4      hV P                   P                  4       pV P                  e+   \	        WP                  4       \        WP                  4       V# )zb
Accept a connection on the bound socket or named pipe of `self`.

Returns a `Connection` object.
zlistener is closed)r  rR   Úacceptr!  Údeliver_challengeÚanswer_challenge)rC   Úcs   & r   r&  ÚListener.acceptë  sS   € ð �>‰>Ò!ÜÐ.Ó/Ð/à�N‰N×!Ñ!Ó#ˆØ�=‰=Ò$Ü˜a§¡Ô/Ü˜Q§¡Ô.Øˆr   c                óX   € V P                   pVe   RV n         VP                  4        R# R# )z1
Close the bound socket or named pipe of `self`.
N)r  r\   )rC   Úlisteners   & r   r\   ÚListener.closeú  s)   € ð —>‘>ˆØÒØ!ˆDŒNØ�N‰NÖñ  r   c                ó.   € V P                   P                  # rJ   )r  Ú_addressrM   s   &r   r:   ÚListener.address  s   € à�~‰~×&Ñ&Ð&r   c                ó.   € V P                   P                  # rJ   )r  Ú_last_acceptedrM   s   &r   Úlast_acceptedÚListener.last_accepted  s   € à�~‰~×,Ñ,Ð,r   c                ó   € V # rJ   rŸ   rM   s   &r   r    ÚListener.__enter__  r¢   r   c                ó&   € V P                  4        R # rJ   r¤   r¥   s   &&&&r   r©   ÚListener.__exit__  r«   r   )r!  r  )NNrë   N)r®   r¯   r°   r±   rï   rG   r&  r\   r²   r:   r3  r    r©   r³   r´   rµ   s   @r   r   r   Ô  sP   ø‡ € ñô ò òð ñ'ó ð'ð ñ-ó ð-ò÷ð r   c                ó   € T;'       g    \        V 4      p\        V4       VR8X  d   \        V 4      pM\        V 4      pVe"   \	        V\
        4      '       g   \        R4      hVe   \        W24       \        W24       V# )z5
Returns a connection to the address of a `Listener`
r   r  )	r;   r3   Ú
PipeClientÚSocketClientr  r  r   r(  r'  )r:   r,   r#  r)  s   &&& r   r   r     ss   € ð ×,Ð,”| GÓ,€FÜ�VÔØ�ÔÜ�wÓ‰ä˜Ó!ˆàÒ¤:¨g´u×#=Ò#=ÜÐ9Ó:Ð:àÒÜ˜Ô$Ü˜!Ô%à€Hr   c                óV  € V '       do   \         P                  ! 4       w  rVP                  R4       VP                  R4       \        VP	                  4       4      p\        VP	                  4       4      pW43# \
        P                  ! 4       w  rV\        VRR7      p\        VRR7      pW43# )ú<
Returns pair of connection objects at either end of a pipe
TF©rF   ©rE   )r2   Ú
socketpairÚsetblockingrò   Údetachr&   Úpipe)ÚduplexÚs1Ús2Úc1Úc2Úfd1Úfd2s   &      r   ÚPiperK  )  s†   € ÷ Ü×&Ò&Ó(‰FˆBØ�N‰N˜4Ô Ø�N‰N˜4Ô Ü˜BŸI™I›KÓ(ˆBÜ˜BŸI™I›KÓ(ˆBð ˆvˆô	 —w’w“y‰HˆCÜ˜C¨%Ô0ˆBÜ˜C¨%Ô0ˆBàˆvˆr   c           
     ó¼  € \        R4      pV '       dB   \        P                  p\        P                  \        P                  ,          p\
        \
        rTM'\        P                  p\        P                  p^ \
        rT\        P                  ! W\        P                  ,          \        P                  ,          \        P                  \        P                  ,          \        P                  ,          ^WE\        P                  \        P                  4      p\        P                  ! W^ \        P                  \        P                   \        P                  \        P                  4      p\        P"                  ! V\        P                  RR4       \        P$                  ! VRR7      pVP'                  R4      w  ršV
^ 8X  g   Q h\)        W`R7      p\)        WpR7      pW¼3# )r=  r   NTrÀ   r>  r?  )r-   rÂ   ÚPIPE_ACCESS_DUPLEXÚGENERIC_READÚGENERIC_WRITErý   ÚPIPE_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ÚConnectNamedPiperÇ   r¸   )rD  r:   ÚopenmodeÚaccessÚobsizeÚibsizeÚh1Úh2rÁ   Ú_rË   rG  rH  s   &            r   rK  rK  <  sW  € ô $ IÓ.ˆßÜ×1Ñ1ˆHÜ×)Ñ)¬G×,AÑ,AÕAˆFÜ$¤g‘Fä×2Ñ2ˆHÜ×*Ñ*ˆFØ¤�Fä×$Ò$Ø¤× <Ñ <Õ<Ü×1Ñ1õ2ä×%Ñ%¬×(EÑ(EÕEÜ×Ñõàˆvœw×;Ñ;ä�L‰Lóˆô ×ÒØ˜Q¤§¡¬g×.CÑ.CÜ×(Ñ(¬'¯,©,óˆô 	×'Ò'Ø”×-Ñ-¨t°Tô	ô ×-Ò-¨b¸TÔBˆ
Ø×/Ñ/°Ó5‰ˆØ�aŒxˆˆxä˜BÔ0ˆÜ˜BÔ0ˆàˆvˆr   c                   ó:   a € ] tR tRt o RtRR ltR tR tRtV t	R# )	r  ih  zG
Representation of a socket which is bound to an address and listening
c                óø  € \         P                   ! \        \         V4      4      V n         \        P                  R 8X  d:   V P                  P                  \         P                  \         P                  ^4       V P                  P                  R4       V P                  P                  V4       V P                  P                  V4       V P                  P                  4       V n        Y n        RT n        TR8X  dM   \"        P$                  ! T4      '       g1   \"        P&                  ! T \        P(                  T3^ R7      T n        R# RT n        R#   \         d    T P                  P                  4        h i ; i)ÚposixTNr   ©ÚargsÚexitpriority)r2   r   Ú_socketr&   ÚnameÚ
setsockoptÚ
SOL_SOCKETÚSO_REUSEADDRrA  ÚbindÚlistenÚgetsocknamer/  rR   r\   Ú_familyr2  r   r9   ÚFinalizeÚunlinkÚ_unlink)rC   r:   r,   r"  s   &&&&r   rG   ÚSocketListener.__init__l  s  € Ü—}’}¤W¬V°VÓ%<Ó=ˆŒð	ä�w‰w˜'Ô!Ø—‘×'Ñ'¬×(9Ñ(9Ü(.×(;Ñ(;¸Qô@à�L‰L×$Ñ$ TÔ*Ø�L‰L×Ñ˜gÔ&Ø�L‰L×Ñ Ô(Ø ŸL™L×4Ñ4Ó6ˆDŒMð ŒØ"ˆÔà�YÔ¤t×'HÒ'HÈ×'QÒ'QäŸ=š=Ø”b—i‘i w j¸qôˆDŽLð  ˆDŽLøô ô 	Ø�L‰L×ÑÔ Øð	ús   «B>E Å'E9c                ó˜   € V P                   P                  4       w  qn        VP                  R 4       \	        VP                  4       4      # ©T)rj  r&  r2  rA  rò   rB  ©rC   Úss   & r   r&  ÚSocketListener.accept…  s7   € Ø!%§¡×!4Ñ!4Ó!6ÑˆÔØ	�‰�dÔÜ˜!Ÿ(™(›*Ó%Ð%r   c                óÄ   €  V P                   P                  4        V P                  pVe   R V n        V! 4        R # R #   T P                  pTe   R T n        T! 4        i i ; irJ   )rj  r\   ru  )rC   rt  s   & r   r\   ÚSocketListener.closeŠ  s[   € ð	Ø�L‰L×ÑÔ à—\‘\ˆFØÒ!Ø#�”Ù–ñ "øð —\‘\ˆFØÒ!Ø#�”Ù•ð "ús	   ‚> ¾!A)r/  rr  r2  rj  ru  N)rë   )
r®   r¯   r°   r±   rï   rG   r&  r\   r³   r´   rµ   s   @r   r  r  h  s   ø‡ € ñô ò2&÷
ð r   r  c                ó$  € \        V 4      p\        P                  ! \        \        V4      4      ;_uu_ 4       pVP                  R4       VP	                  V 4       \        VP                  4       4      uuRRR4       #   + '       g   i     R# ; i)zG
Return a connection object connected to the socket given by `address`
TN)r;   r2   r   rA  Úconnectrò   rB  )r:   r,   rz  s   &  r   r;  r;  ”  s[   € ô ˜'Ó"€FÜ	�Šœ¤¨Ó/×	1Ô	1°QØ	�‰�dÔØ	�	‰	�'ÔÜ˜!Ÿ(™(›*Ó%÷ 
2×	1×	1Ó	1ús   ¸;A>Á>B	c                   óN   a € ] tR tRt o RtR	R ltR
R ltR t]R 4       t	Rt
V tR# )r  i¤  z 
Representation of a named pipe
Nc                ó  € Wn         V P                  R R7      .V n        RV n        \        P
                  ! RV P                   4       \        P                  ! V \        P                  V P                  V P                   3^ R7      V n	        R# )T)ÚfirstNz listener created with address=%rrg  )
r/  Ú_new_handleÚ_handle_queuer2  r   Ú	sub_debugrs  r  Ú_finalize_pipe_listenerr\   )rC   r:   r"  s   &&&r   rG   ÚPipeListener.__init__¨  sj   € Ø#ŒMØ"&×"2Ñ"2¸Ð"2Ó">Ð!?ˆDÔà"&ˆDÔÜ�NŠNÐ=¸t¿}¹}ÔMÜŸšØ”l×:Ñ:Ø×(Ñ(¨$¯-©-Ð8ÀqôˆDŽJr   c           
     ó¬  € \         P                  \         P                  ,          pV'       d   V\         P                  ,          p\         P                  ! V P
                  V\         P                  \         P                  ,          \         P                  ,          \         P                  \        \        \         P                  \         P                  4      # rJ   )rÂ   rM  rR  rS  rQ  r/  rT  rU  rV  ÚPIPE_UNLIMITED_INSTANCESrý   rW  rX  )rC   r‚  Úflagss   && r   rƒ  ÚPipeListener._new_handle³  s…   € Ü×.Ñ.´×1MÑ1MÕMˆEßØœ×>Ñ>Õ>�Ü×*Ò*Ø—‘˜uÜ×)Ñ)¬G×,IÑ,IÕIÜ×!Ñ!õ"ä×0Ñ0´'¼7Ü×,Ñ,¬g¯l©lóð r   c                óh  € V P                   P                  V P                  4       4       V P                   P                  ^ 4      p \        P
                  ! VRR7      p \        P                  ! VP                  .R\        4      p TP                  R4      w  rET^ 8X  g   Q h \        T4      #    TP                  4        \        P                  ! T4       h ; i  TP                  R4      w  rET^ 8X  g   Q hi ; i  \         d+   pTP                  \        P                  8w  d   h  Rp?LˆRp?ii ; i)r"   TrÀ   FN)r„  Úappendrƒ  ÚpoprÂ   r\  rÅ   rÆ   r   r»   rð   rÇ   rR   rÙ   ÚERROR_NO_DATAr¸   )rC   rD   r½   Úresrc  rË   rã   s   &      r   r&  ÚPipeListener.accept¿  s  € Ø×Ñ×%Ñ% d×&6Ñ&6Ó&8Ô9Ø×'Ñ'×+Ñ+¨AÓ.ˆFð$Ü×-Ò-¨fÀÔF�ð	$Ü!×8Ò8ØŸ™˜
 E¬8ó5‘Cð  ×3Ñ3°DÓ9‘F�AØ !œ8�O™8Ü! &Ó)Ð)øðØ—I‘I”KÜ×'Ò'¨Ô/Øûà×3Ñ3°DÓ9‘F�AØ !œ8�O™8ûô ô Ø—:‘:¤×!6Ñ!6Ô6Øô 7ûðús0   ÁC< Á'B/ Â/)CÃC ÃC9Ã<D1Ä D,Ä,D1c                ór   € \         P                  ! R V4       V  F  p\        P                  ! V4       K  	  R# )z closing listener with address=%rN)r   r…  rÂ   rð   )Úqueuer:   rD   s   && r   r†  Ú$PipeListener._finalize_pipe_listenerÖ  s)   € ä�NŠNÐ=¸wÔGÛ�Ü×#Ò# FÖ+ó  r   )r/  r„  r2  r\   rJ   )F)r®   r¯   r°   r±   rï   rG   rƒ  r&  Ústaticmethodr†  r³   r´   rµ   s   @r   r  r  ¤  s-   ø‡ € ñ	ô		ô
	ò	*ð. 
ñ	,ó 
ö	,r   r  c           	     óR  € \        4       p  \        P                  ! V R4       \        P                  ! V \        P                  \        P
                  ,          ^ \        P                  \        P                  \        P                  \        P                  4      p \        P                  ! T\        P                  RR4       \!        T4      #   \         dN   pTP                  \        P                  \        P                  39  g   \        T4      '       d   h  Rp?EK  Rp?ii ; i)zE
Return a connection object connected to the pipe given by `address`
éè  N)r   rÂ   ÚWaitNamedPiperY  rN  rO  rX  rZ  rR  rR   rÙ   ÚERROR_SEM_TIMEOUTÚERROR_PIPE_BUSYr   r[  rU  r¸   )r:   r   Úhrã   s   &   r   r:  r:  Ü  sä   € ô ‹OˆØðÜ×%Ò% g¨tÔ4Ü×&Ò&ØœW×1Ñ1´G×4IÑ4IÕIØ”w—|‘|¤W×%:Ñ%:Ü×0Ñ0´'·,±,ó�ð ô 	×'Ò'ØŒw×,Ñ,¨d°Dô	ô ˜aÓ Ð øô ô Ø—:‘:¤g×&?Ñ&?Ü&-×&=Ñ&=ð&?ô ?ÜBPÐQR×BSÒBSØö CTûðús   �BC ÃD&ÃAD!Ä!D&é   s   #CHALLENGE#s	   #WELCOME#s	   #FAILURE#c              #   ó8   "  € T F  p\        V4      x € K  	  R # 5irJ   )rŒ   )Ú.0rc  s   & r   Ú	<genexpr>rŸ  [  s   é € Ð7Ñ&6 ”c˜!—f�fÓ&6ùs   ‚c                ó$  € \        V 4      \        9   d   RV 3# V P                  R4      '       dT   V P                  R^\        ^,           4      ;p^ 8”  d/   V ^V pV\
        9   d   W^,           R pVP                  R4      V3# \        RV : 24      h)zóReturns a digest name and the payload for a response hash.

If a legacy protocol is detected based on the message length
or contents the digest name returned will be empty to indicate
legacy mode where MD5 and no digest prefix should be sent.
r    ó   {ó   }NÚasciizRunsupported message length, missing digest prefix, or unsupported digest: message=)rŒ   Ú_LEGACY_LENGTHSr8   ÚfindÚ_MAX_DIGEST_LENÚ_ALLOWED_DIGESTSÚdecoder   )ÚmessageÚcurlyÚdigestÚpayloads   &   r   Ú_get_digest_name_and_payloadr­  f  sŸ   € ô ˆ7ƒ|”Ô&ð
 �7ˆ{ÐØ×Ñ˜4× Ò Ø—,‘,˜t Q¬¸Õ(9Ó:Ð	:ˆ¸aÔ?Ø˜˜5Ð!ˆØÔ%Ô%Ø A�g˜hÐ'ˆGØ—=‘= Ó)¨7Ð2Ð2Ü
ð/Ø&-¡Zð1ó2ð 2r   c                ó  € ^ RI p\        V4      ^ ,          pV'       g"    VP                  WR4      P                  4       # VP                  WV4      P                  4       pRVP                  R4      V3,          #   \         d    Rp LIi ; i)ao  Create a MAC based on authkey and message

The MAC algorithm defaults to HMAC-MD5, unless MD5 is not available or
the message has a '{digest_name}' prefix. For legacy HMAC-MD5, the response
is the raw MAC, otherwise the response is prefixed with '{digest_name}',
e.g. b'{sha256}abcdefg...'

Note: The MAC protects the entire message including the digest_name prefix.
NÚmd5Úsha256ó   {%s}%sr£  )Úhmacr­  Únewr«  r*   Úencode)r#  r©  r²  Údigest_nameÚresponses   &&   r   Ú_create_responser·  €  s†   € ó Ü.¨wÓ7¸Õ:€Kçð	#Ø—8‘8˜G¨eÓ4×;Ñ;Ó=Ð=ð �x‰x˜¨+Ó6×=Ñ=Ó?€HØ˜×*Ñ*¨7Ó3°XÐ>Õ>Ð>øô ô 	#ð #ŠKð		#ús    A: Á:B
Â	B
c           
     ó„  € ^ RI p\        V4      w  rET;'       g    Rp VP                  WV4      P                  4       p\        T4      \        T4      8w  d(   \        RT: R\        T4       R\        T4       24      hTP                  Ye4      '       g   \        R4      hR#   \         d    \        RT: R24      hi ; i)	aH  Verify MAC challenge

If our message did not include a digest_name prefix, the client is allowed
to select a stronger digest_name from _ALLOWED_DIGESTS.

In case our message is prefixed, a client cannot downgrade to a weaker
algorithm, because the MAC is calculated over the entire message
including the '{digest_name}' prefix.
Nr¯  zresponse_digest=z unsupportedz	expected z of length z got zdigest received was wrong)r²  r­  r³  r«  r*   r   rŒ   Úcompare_digest)r#  r©  r¶  r²  Úresponse_digestÚresponse_macÚexpecteds   &&&    r   Ú_verify_challenger½  œ  sÕ   € ó Ü$@ÀÓ$JÑ!€OØ%×.Ð.¨€OðEØ—8‘8˜G¨oÓ>×EÑEÓGˆô ˆ8ƒ}œ˜LÓ)Ô)Ü!Ø˜OÑ.¨k¼#¸h»-¸ð IÜ˜<Ó(Ð)ð+ó,ð 	,ð ×Ñ˜x×6Ò6Ü!Ð"=Ó>Ð>ñ 7øô ô EÜ!Ð%5 _Ñ$6°lÐ"CÓDÐDðEús   Ÿ B# Â#B?c                ó$   € V ^8„  d   QhR\         /# ©é   r#  ©r  )Úformats   "r   Ú__annotate__rÃ  µ  s   € ÷ (ñ (¬5ñ (r   c                 óü  € \        V\        4      '       g$   \        R P                  \	        V4      4      4      h\
        \        8”  g   Q R4       h\        P                  ! \
        4      pRVP                  R4      V3,          pV P                  \        V,           4       V P                  \        4      p \        WV4       V P                  \        4       R#   \          d    T P                  \"        4       h i ; i)ú Authkey must be bytes, not {0!s}zprotocol constraintr±  r£  N)r  r  r*   rÂ  r5   ÚMESSAGE_LENGTHÚ_MD5ONLY_MESSAGE_LENGTHr&   Úurandomr´  r|   Ú
_CHALLENGEr‰   ÚMESSAGE_MAXLENr½  Ú_WELCOMEr   Ú_FAILURE)Ú
connectionr#  rµ  r©  r¶  s   &&&  r   r'  r'  µ  sÓ   € Ü�gœu×%Ò%ÜØ.×5Ñ5´d¸7³mÓDóFð 	FäÔ3Ô3ÐJÐ5JÓJÐ3Ü�jŠjœÓ(€GØ˜;×-Ñ-¨gÓ6¸Ð@Õ@€Gð ×Ñœ* wÕ.Ô/Ø×$Ñ$¤^Ó4€Hð(Ü˜'¨HÔ5ð
 	×ÑœhÖ'øô	 ô Ø×ÑœhÔ'Øðús   Â6C Ã"C;c                ó$   € V ^8„  d   QhR\         /# r¿  rÁ  )rÂ  s   "r   rÃ  rÃ  Ê  s   € ÷ >ñ >¬%ñ >r   c                 ó   € \        V\        4      '       g$   \        R P                  \	        V4      4      4      hV P                  \        4      pVP                  \        4      '       g   \        RV: 24      hV\        \        4      R p\        V4      \        8  d   \        R\        V4       R24      h\        W4      pV P                  V4       V P                  \        4      pV\        8w  d   \        R4      hR# )rÅ  z,Protocol error, expected challenge: message=Nzchallenge too short: z byteszdigest sent was rejected)r  r  r*   rÂ  r5   r‰   rÊ  r8   rÉ  r   rŒ   rÇ  r·  r|   rË  )rÍ  r#  r©  r«  r¶  s   &&   r   r(  r(  Ê  sâ   € Ü�gœu×%Ò%ÜØ.×5Ñ5´d¸7³mÓDóFð 	Fà×#Ñ#¤NÓ3€GØ×Ñœj×)Ò)Ü!Ø?°w±jÐAóCð 	Cà”cœ*“oÐ&Ð'€GÜ
ˆ7ƒ|Ô-Ô-Ü!Ð$9¼#¸g»,¸ÀvÐ"NÓOÐOÜ˜gÓ/€FØ×Ñ˜&Ô!Ø×$Ñ$¤^Ó4€HØ”8ÔÜ!Ð"<Ó=Ð=ñ r   c                   ó2   a € ] tR tRt o R tR tR tRtV tR# )ÚConnectionWrapperiß  c                ój   € Wn         W n        W0n        R F  p\        W4      p\	        WV4       K  	  R# )ri   N)ri   r\   rœ   r‰   r|   )Ú_connÚ_dumpsÚ_loadsr   Úsetattr)rC   Úconnr€   r•   Úattrr‚   s   &&&&  r   rG   ÚConnectionWrapper.__init__à  s0   € ØŒ
ØŒØŒÛKˆDÜ˜$Ó%ˆCÜ�D Ö$ó Lr   c                ó^   € V P                  V4      pV P                  P                  V4       R # rJ   )rÔ  rÓ  r|   )rC   r‚   rz  s   && r   rƒ   ÚConnectionWrapper.sendç  s"   € Ø�K‰K˜ÓˆØ�
‰
×Ñ˜aÖ r   c                óX   € V P                   P                  4       pV P                  V4      # rJ   )rÓ  r‰   rÕ  ry  s   & r   r—   ÚConnectionWrapper.recvê  s"   € Ø�J‰J×!Ñ!Ó#ˆØ�{‰{˜1‹~Ðr   )rÓ  rÔ  rÕ  N)	r®   r¯   r°   r±   rG   rƒ   r—   r³   r´   rµ   s   @r   rÑ  rÑ  ß  s   ø‡ € ò%ò!÷ð r   rÑ  c                 óT   € \         P                  V 3R R R ^4      P                  R4      # )Núutf-8)Ú	xmlrpclibr€   r´  )r‚   s   &r   Ú
_xml_dumpsrá  î  s&   € Ü�?‰?˜C˜6 4¨¨t°QÓ7×>Ñ>¸wÓGÐGr   c                 óV   € \         P                  V P                  R 4      4      w  w  rV# )rß  )rà  r•   r¨  )rz  r‚   Úmethods   &  r   Ú
_xml_loadsrä  ñ  s"   € Ü—_‘_ Q§X¡X¨gÓ%6Ó7�N�F€SØ€Jr   c                   ó&   a € ] tR tRt o R tRtV tR# )ÚXmlListeneriõ  c                ób   € ^ RI Hs \        P	                  V 4      p\        V\        \        4      # r¬   )Úxmlrpc.clientÚclientrà  r   r&  rÑ  rá  rä  r�   s   & r   r&  ÚXmlListener.acceptö  s"   € å)Ü�o‰o˜dÓ#ˆÜ  ¤j´*Ó=Ð=r   rŸ   N)r®   r¯   r°   r±   r&  r³   r´   rµ   s   @r   ræ  ræ  õ  s   ø‡ € ÷>ð >r   ræ  c                  óJ   € ^ RI Hs \        \	        V / VB \
        \        4      # r¬   )rè  ré  rà  rÑ  r   rá  rä  )rh  Úkwdss   *,r   Ú	XmlClientrí  ü  s   € å%ÜœV TÐ2¨TÑ2´JÄ
ÓKÐKr   c                 óJ  a€ \        V 4      o. p\        S4      ^<8”  d€    \        P                  ! SRV4      pTP                  T3R lT 4       4       T'       dB   \        S4       UUu. uF)  w  rEYC^ ,          T,          u;8”  d
   T9  g   K#  M K'  TNK+  	  uppo^ pS'       då   \        S4      ^<8”  d
   SR,          MSp\        P                  ! VRV4      pV\        8X  d    V# \        Tu;8:  d   \        \        S4      ,           8  d   M MV\        ,          pMC\        Tu;8:  d   \        \        S4      ,           8  d   M MV\        ,          pM\        R4      hVP                  SV,          4       SV^,           R o^ pKì  V#   \         d    . u # i ; iu uppi )é<   Fc              3   ó6   <"  € T F  pSV,          x € K  	  R # 5irJ   rŸ   )rž  ÚiÚLs   & €r   rŸ  Ú#_exhaustive_wait.<locals>.<genexpr>  s   øé € Ð+¡s !˜˜1Ÿš£sùó   ƒ:Nrï  NzShould not get hereN)ÚlistrŒ   rÂ   ÚBatchedWaitForMultipleObjectsÚTimeoutErrorÚextendÚ	enumeraterÅ   r
   r   r	   rÜ   r�  )Úhandlesr   Úreadyr�  rñ  r›  Úshort_Lrò  s   &&     @r   Ú_exhaustive_waitrý    sX  ø€ ô �‹MˆØˆô ˆq‹6�BŒ;ðÜ×;Ò;¸A¸uÀgÓN�ð �L‰LÔ+¡sÓ+Ô+ßÜ#,¨Q¤<ÔM¡<™4˜1°1¸1µvÀµzÖ3LÈÑ3L”QÑ3L•Q¡<ÒM�ØˆGßÜ # A£¨¤�a˜–f°ˆGÜ×0Ò0°¸%ÀÓIˆCØ”lÔ"Øð ˆô  #Ö>¬¼¸A»Õ(>×>Ø”}Õ$‘Ü! SÖDÔ+;¼cÀ!»fÕ+D×DØÔ'Õ'‘ä"Ð#8Ó9Ð9Ø�L‰L˜˜3�Ô Ø�#�a•%�&�	ˆAØŠGØˆøô)  ô Ø’	ðüó Ns#    F Á) FÂFÂFÆFÆFc                ó(  a€ Vf   \         pM#V^ 8  d   ^ pM\        VR,          R,           4      p\        V 4      p / o. p\        4       p\        4       p V  FØ  p \	        VR4      p \
        P                  ! V! 4       ^ R4      w  rxV\
        P                  8X  d#   VP                  V4       VSVP                  &   Kg  V'       dW   \        P                  ! 4       R,          R
8¼  d6    VP                  R4      w  r¨V'       g   \!        VR4      '       d   RVn        VP%                  V4       ^ pKÚ  	  \+        SP-                  4       V4      pV F  pVP/                  4        K  	  V Fv  p VP                  R4      w  r¨V\
        P0                  8w  g   K.  SVP                  ,          pVP%                  V4       V^ 8X  g   K[  \!        VR4      '       g   Ko  RVn        Kx  	  TP3                  T3R	 lT 4       4       T  Uu. uF  qUT9   g   K  TNK  	  up#   \         d%   p	RT	P                  r‡T\        9  d   h  Rp	?	ELºRp	?	ii ; i  \         d   p	T	P                  p Rp	?	ELkRp	?	ii ; i  \&         d    TSTP)                  4       &    EK9  i ; i  \         d$   p	T	P                  pT\        9  d   h  Rp	?	EL>Rp	?	ii ; i  T F  pTP/                  4        K  	  T F§  p TP                  R4      w  r¨M0  \         d#   p	T	P                  pT\        9  d   h  Rp	?	MRp	?	ii ; iT\
        P0                  8w  g   K_  STP                  ,          pTP%                  T4       T^ 8X  g   KŒ  \!        TR4      '       g   K   RTn        K©  	  i ; iu upi )ú
Wait till an object in object_list is ready/readable.

Returns list of those objects in object_list which are ready/readable.
Nr—  g      à?ri   T:NrÀ  NFrÐ   c              3   ó6   <"  € T F  pSV,          x € K  	  R # 5irJ   rŸ   )rž  r›  Úwaithandle_to_objs   & €r   rŸ  Úwait.<locals>.<genexpr>t  s   øé € ÐI¹=°aÐ.¨q×1Ò1»=ùrô  )é   rÀ  )r   Úintrõ  Úsetr   rÂ   rÔ   rR   rÙ   Ú_ready_errorsrÄ   r�  rÆ   r/   ÚgetwindowsversionrÇ   r1   rÐ   ÚaddÚAttributeErrorr?   rý  Úkeysr»   rÈ   Úupdate)Úobject_listr   Úov_listÚready_objectsÚready_handlesÚori   r½   rË   rã   rc  r  s   &&         @r   rè   rè   )  s,  ø€ ð Š?Ü‰GØ�qŒ[Ø‰Gä˜' D�.¨3Õ.Ó/ˆGä˜;Ó'ˆØÐØˆÜ›ˆÜ›ˆð6	8Û �ð$Ü$ Q¨Ó1�Fð
"Ü")×"2Ò"2±6³8¸QÀÓ"E™˜ð
 œg×6Ñ6Ô6ØŸ™ rÔ*Ø67Ð)¨"¯(©(Ó3÷
 ¤#×"7Ò"7Ó"9¸"Õ"=ÀÔ"Gð1Ø)+×)?Ñ)?ÀÓ)F¡ ÷ $'¬7°1Ð6J×+KÒ+KØ7; Ô 4Ø%×)Ñ)¨!Ô,Ø"#šñ= !ô@ -Ð->×-CÑ-CÓ-EÀwÓOˆMó �Ø—	‘	–ñ ó �ðØ×3Ñ3°DÓ9‘F�Að
 œ'×9Ñ9Ö9Ø)¨"¯(©(Õ3�AØ!×%Ñ% aÔ(Ø˜a–xô # 1Ð&:×;Ô;Ø37˜AÖ0ñ ð  	×ÑÔI¹=ÓIÔIÙ&Ó=™;�a¨}Ñ*<—�™;Ñ=Ð=øô_ #ô "Ø"&¨¯
©
˜CØ¤mÔ3Ø!õ 4ûð"ûô  $+ô 1Ø&'§j¡j¦ûð1ûô- &ô 9Ø78Ð% a§k¡k£mÕ4ð9ûôN ô ØŸ*™*�CØ¤-Ô/Øõ 0ûðûó �Ø—	‘	–ñ ó �ðØ×3Ñ3°DÓ9‘F�A�søÜô ØŸ*™*�CØ¤-Ô/Øô 0ûðúð œ'×9Ñ9Ö9Ø)¨"¯(©(Õ3�AØ!×%Ñ% aÔ(Ø˜a–xô # 1Ð&:×;Ô;Ø37˜AÖ0ò üò" >së   ÁK ÁI-Á'HÂ>K Ã!K Ã'IÃ:K ÄA
K Å+JÈ NÈNÈIÈ!I È:K É IÉK ÉI*ÉI%ÉK É%I*É*K É-JÊK ÊJÊK ÊKÊJ<Ê<KËNË$K8Ë7NË8L%	ÌL 	ÌNÌ L%	Ì%NÌ?(NÍ,NÎ NÚPollSelectorc                ó   € \        4       ;_uu_ 4       pV  F#  pVP                  V\        P                  4       K%  	  Ve,   \	        \
        R\
        P
                  4      ! 4       V,           p VP                  V4      pV'       d+   V UUu. uF  w  rgVP                  NK  	  uppuuRRR4       # Vf   KJ  X\	        \
        R\
        P
                  4      ! 4       ,
          pV^ 8  g   K~  VuuRRR4       # u uppi   + '       g   i     R# ; i)rÿ  Nr   )Ú_WaitSelectorÚregisterÚ	selectorsÚ
EVENT_READr   r   ÚselectÚfileobj)r  r   Úselectorr‚   Údeadlinerû  ÚkeyÚeventss   &&      r   rè   rè   ƒ  sÅ   € ô �_Œ_ Û"�Ø×!Ñ! #¤y×';Ñ';Ö<ñ #ð Ò"Ü"¤4¨´D·I±IÔ>Ó@À7ÕJ�àØ Ÿ™¨Ó0�ßÙ=BÔC¹U©M¨S˜CŸKœK¹UÒC÷ Š_ð Ô*Ø"*¬W´T¸+ÄdÇiÁiÔ-PÓ-RÕ"R˜Ø" Qž;Ø#(÷ Š_ùó D÷ �_ˆ_ús6   “A2C<ÂC<ÂC6
Â"C<Â0C<Â6/C<Ã*C<Ã6C<Ã<D	c                 óB  € V P                  4       p\        P                  ! V\        P                  \        P                  4      ;_uu_ 4       p^RIHp VP                  V4      p\        W@P                  V P                  33uuRRR4       #   + '       g   i     R# ; i)rë   )Úresource_sharerN)ri   r2   Úfromfdr   ÚSOCK_STREAMr    r  Ú	DupSocketÚrebuild_connectionrE   rF   )r×  rD   rz  r  Údss   &    r   Úreduce_connectionr$  Ÿ  sd   € Ø—‘“ˆÜ�]Š]˜6¤6§>¡>´6×3EÑ3E×FÔFÈ!Ý)Ø ×*Ñ*¨1Ó-ˆBÜ%¨¯M©M¸4¿=¹=Ð'IÐI÷ G×F×FÓFús   Á5BÂB	c                 óV   € V P                  4       p\        VP                  4       W4      # rJ   ©rB  rò   )r#  rE   rF   Úsocks   &&& r   r"  r"  ¥  s    € Ø�y‰y‹{ˆÜ˜$Ÿ+™+›-¨Ó<Ð<r   c                 ó"  € V P                   '       d   \        P                  M^ V P                  '       d   \        P                  M^ ,          p\
        P                  ! V P                  4       V4      p\        W P                   V P                  33# r­   )	rE   rÂ   ÚFILE_GENERIC_READrF   ÚFILE_GENERIC_WRITEr   Ú	DupHandleri   Úrebuild_pipe_connection)r×  r^  Údhs   &  r   Úreduce_pipe_connectionr.  ª  s`   € Ø04··°”7×,Ò,À1Ø15··°”7×-Ò-ÀAõGˆä× Ò  §¡£°Ó7ˆÜ&¨¯]©]¸D¿M¹MÐ(JÐJÐJr   c                 ó:   € V P                  4       p\        W1V4      # rJ   )rB  r¸   )r-  rE   rF   rD   s   &&& r   r,  r,  ¯  s   € Ø—‘“ˆÜ˜f°Ó9Ð9r   c                 ó†   € \         P                  ! V P                  4       4      p\        WP                  V P
                  33# rJ   )r   ÚDupFdri   r"  rE   rF   )r×  Údfs   & r   r$  r$  µ  s.   € Ü�_Š_˜TŸ[™[›]Ó+ˆÜ! B¯©°t·}±}Ð#EÐEÐEr   c                 ó:   € V P                  4       p\        W1V4      # rJ   r&  )r2  rE   rF   Úfds   &&& r   r"  r"  ¸  s   € Ø�Y‰Y‹[ˆÜ˜"¨Ó1Ð1r   )r   r   rK  rè   i   )NNrx  >   ó   md5ó   sha256ó   sha384ó   sha3_256ó   sha3_384)r°  rJ   )VÚ__all__rÉ   rÑ   Ú	itertoolsr&   r/   r2   r  r#   r   r    r   r   r   Úcontextr   ÚForkingPicklerr   Ú_multiprocessr  ÚImportErrorrÂ   r   r	   r
   r   r0   rý   ÚCONNECTION_TIMEOUTÚcountr)   r  Úfamiliesr1   r   r   r-   r3   r;   r=   r¸   rò   rÕ   r   r   rK  r  r;  r  r:  rÆ  rÊ  rÉ  rË  rÌ  Ú	frozensetr§  Úmaxr¦  rÇ  Ú_MD5_DIGEST_LENr¤  r­  r·  r½  r'  r(  rÑ  rá  rä  ræ  rí  rý  rÚ   ÚERROR_NETNAME_DELETEDr  rè   r  r  r  ÚSelectSelectorr$  r"  r  r.  r,  rŸ   r   r   Ú<module>rH     sþ  ðò 3€ã Û 	Û Û 	Û 
Û Û Û Û õ ç 1Ý Ø×*Ñ*€ð
ð Û0ó ßOÓOð €ð Ð à—’Ó!€à€Øˆ;€á
ˆ6�9×ÒØ€NØ��Õ€Hà‡<�<�7ÔØ€NØ��Õ€Hð -ô ;ò5ò0ò
FòF÷&Xñ X÷v ôg˜ô gôTN�ô Nôj;ˆvô ;ô|ð* ‡<�<�7Ôõô&&ôX)�Vô )òX&ð ‡<�<�7Ôô6,�vô 6,òp!ð> €Ø€à€
Ø€Ø€ñr Ú@óBÐ áÑ7Ñ&6Ó7Ó7€ð Ð Ø€Ø*¨OÐ<€ò2ò4?ò8?÷2(õ*>ô*˜ô òHòô>�(ô >òLð ‡<�<�7Ôòð@ ×.Ñ.°×0MÑ0MÐN€MõL>ó` ñ
 ˆy˜.×)Ò)Ø!×.Ñ.‰à!×0Ñ0ˆô)ð6 ‡<�<�7ÔòJò=ð ×Ò�zÐ#4Ô5òKò
:ð ×Ò�~Ð'=Ö>òFò2ð ×Ò�zÐ#4Ö5øðw$ ô  Þð ûð ô Ø
‡|�|�wÔØØƒGðús0   ÁI( ÁI: É(I7É3I: É6I7É7I: É:JÊJ