ó
    F\hí  ã                   óŽ   • S SK r S SKrSSKJrJr  SSKJr  SSKJr  SSKJr  S/r	 " S S	\
5      r " S
 S\R                  5      rg)é    Né   )Ú	reductionÚset_spawning_popen)Ú
popen_fork)Úspawn)ÚutilÚPopenc                   ó    • \ rS rSrS rS rSrg)Ú_DupFdé   c                 ó   • Xl         g ©N©Úfd©Úselfr   s     Ú8/usr/lib/python3.13/multiprocessing/popen_spawn_posix.pyÚ__init__Ú_DupFd.__init__   s   € Ø�ó    c                 ó   • U R                   $ r   r   )r   s    r   ÚdetachÚ_DupFd.detach   s   € Ø�w‰wˆr   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__static_attributes__© r   r   r   r      s   † òõr   r   c                   ó<   ^ • \ rS rSrSr\rU 4S jrS rS r	Sr
U =r$ )r	   é   r   c                 ó2   >• / U l         [        TU ]	  U5        g r   )Ú_fdsÚsuperr   )r   Úprocess_objÚ	__class__s     €r   r   ÚPopen.__init__   s   ø€ ØˆŒ	Ü‰Ñ˜Õ%r   c                 ó<   • U R                   R                  U5        U$ r   )r#   Úappendr   s     r   Úduplicate_for_childÚPopen.duplicate_for_child"   s   € Ø�	‰	×Ñ˜ÔØˆ	r   c                 ó  • SSK Jn  UR                  5       nU R                  R	                  U5        [
        R                  " UR                  5      n[        R                  " 5       n[        U 5         [        R                  " XE5        [        R                  " X5        [        S 5        S =n=n=p‰ [        R                  " 5       u  pg[        R                  " 5       u  p‰[
        R                  " UUS9n
U R                  R!                  X‡/5        ["        R$                  " [
        R&                  " 5       X R                  5      U l        X`l        [-        U	SSS9 nUR/                  UR1                  5       5        S S S 5        / nXi4 H  nUc  M  UR	                  U5        M     ["        R2                  " U ["        R4                  U5      U l        X‡4 H  nUc  M  [        R8                  " U5        M      g ! [        S 5        f = f! , (       d  f       N‘= f! / nXi4 H  nUc  M  UR	                  U5        M     ["        R2                  " U ["        R4                  U5      U l        X‡4 H  nUc  M  [        R8                  " U5        M      f = f)Nr   )Úresource_tracker)Ú
tracker_fdÚpipe_handleÚwbF)Úclosefd)Ú r-   Úgetfdr#   r)   r   Úget_preparation_dataÚ_nameÚioÚBytesIOr   r   ÚdumpÚosÚpipeÚget_command_lineÚextendr   Úspawnv_passfdsÚget_executableÚpidÚsentinelÚopenÚwriteÚ	getbufferÚFinalizeÚ	close_fdsÚ	finalizerÚclose)r   r%   r-   r.   Ú	prep_dataÚfpÚparent_rÚchild_wÚchild_rÚparent_wÚcmdÚfÚfds_to_closer   s                 r   Ú_launchÚPopen._launch&   sð  € Ý&Ø%×+Ñ+Ó-ˆ
Ø�	‰	×Ñ˜Ô$Ü×.Ò.¨{×/@Ñ/@ÓAˆ	Ü�ZŠZ‹\ˆÜ˜4Ô ð	%Ü�NŠN˜9Ô)Ü�NŠN˜;Ô+ä˜tÔ$à26Ð6ˆÐ6�7Ð6˜Wð	!Ü "§¢£	ÑˆHÜ "§¢£	ÑˆGÜ×(Ò(°JØ5<ñ>ˆCà�I‰I×Ñ˜gÐ/Ô0Ü×*Ò*¬5×+?Ò+?Ó+AØ+.·	±	ó;ˆDŒHà$ŒMÜ�h ¨eÒ4¸Ø—‘˜Ÿ™›Ô'÷ 5ð ˆLØÓ*�Ø“>Ø ×'Ñ'¨Ö+ñ +ô "Ÿ]š]¨4´·±ÀÓNˆDŒNàÓ(�Ø“>Ü—H’H˜R–Lò )øô+ ˜tÕ$ú÷ 5Õ4ûð ˆLØÓ*�Ø“>Ø ×'Ñ'¨Ö+ñ +ô "Ÿ]š]¨4´·±ÀÓNˆDŒNàÓ(�Ø“>Ü—H’H˜R–Lò )ús>   Á3,G6 Â2B)H Å HÅ;H Ç6HÈ
HÈH È
JÈ%AJÉ0J)r#   rF   r?   r@   )r   r   r   r   Úmethodr   ÚDupFdr   r*   rQ   r   Ú__classcell__)r&   s   @r   r	   r	      s!   ø† Ø€FØ€Eõ&ò÷"!ð "!r   )r6   r9   Úcontextr   r   r2   r   r   r   Ú__all__Úobjectr   r	   r   r   r   Ú<module>rY      s<   ðÛ 	Û 	ç 2Ý Ý Ý àˆ)€ôˆVô ô.!ˆJ×Ñõ .!r   