Ë
    ^ãj\  ã                   ó  — d Z ddlZddlZddlZddlZddlmZ ddlmZ ej                  Z
ej                  ZddlmZ  ed„  ee«      D «       «      ZdD ]  Z	 ee eee«      <   Œ ej*                  d	cZZej0                  j3                  d
«      Zer eee«      ecZZerd	hn e«       Zerdhn e«       ZdZddedhZddddddddeddddddhZ dgZ!d„ Z"d„ Z#d„ Z$e
fd„Zd„ Z%d „ Z&d!„ Z'd"„ Z(e&dfd#„Z) G d$„ d%«      Z*y# e$ r Y Œ°w xY w)&ze
This module contains utilities added by billiard, to keep
"non-core" functionality out of ``.util``.é    Né   )ÚRestartFreqExceeded)Ú	monotonic©ÚBytesIOc              #   ód   K  — | ](  }|j                  d «      sŒt        t        |«      |f–— Œ* y­w)ÚSIGN)Ú
startswithÚgetattrÚsignal)Ú.0Úns     úQ/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/billiard/common.pyú	<genexpr>r      s,   è ø€ ò Ø !°A·L±LÀÕ4G„WŒV�QÓ˜Ôñùs   ‚0™0)ÚSIGHUPÚSIGABRTÚSIGTERMÚREMAP_SIGTERMÚSIGQUITéF   r   ÚSIGUSR1ÚSIGTRAPr   ÚSIGEMTÚSIGSYSÚSIGPIPEÚSIGALRMÚSIGXCPUÚSIGXFSZÚ	SIGVTALRMÚSIGPROFÚSIGUSR2Fc                  ó   — t         d   S )aÔ  Has this process's own terminate-signal handler already fired?

    A `SystemExit` seen after that point was raised by
    :func:`_shutdown_cleanup`, not by whatever the process happened to be
    running, and means the process is on its way out.

    Strictly about *this* process having already run the handler -- a
    process that has been sent a terminate signal but has not yet handled
    it answers False, which is why this is not named ``terminating()``.
    r   ©Ú_should_have_exited© ó    r   Úterminate_handler_firedr'   M   s   € ô ˜qÑ!Ð!r&   c                  ó   — dt         d<   y)a¹  Forget that a terminate handler ran -- for use after :func:`fork`.

    The flag is a module global and so is inherited across ``fork()``. A
    fresh child has not run a terminate handler, whatever it inherited from
    a parent that had, and must say so before it runs any user code: a
    stale True makes :func:`_shutdown_cleanup` take its "something is very
    wrong" :func:`os._exit` branch on the child's first terminate signal.
    Fr   Nr#   r%   r&   r   Úclear_terminate_handler_firedr)   [   s   € ð #Ô˜Òr&   c                 ó°   — | xs ddk  r	 dj                  |  t        |     «      S dj                  | «      S # t        $ r dj                  |  «      cY S w xY w)Nr   zsignal {0} ({1})z
signal {0}zexitcode {0})ÚformatÚSIGMAPÚKeyError)Ústatuss    r   Úhuman_statusr/   g   se   € ØŠ�!�qÒð	0Ø%×,Ñ,¨f¨W´f¸f¸W±oÓFÐFð × Ñ  Ó(Ð(øô ò 	0Ø×&Ñ&¨ wÓ/Ò/ð	0ús   ‹7 ·AÁAc                 ó$   —  |t        | «      «      S ©Nr   )ÚsÚloads     r   Úpickle_loadsr4   p   s   € á”˜“
ÓÐr&   c                 óp   — 	 t        j                   | |«       y # t        t        t        t        f$ r Y y w xY wr1   )r   ÚOSErrorÚAttributeErrorÚ
ValueErrorÚRuntimeError)ÚsignumÚhandlers     r   Úmaybe_setsignalr<   u   s0   € ðÜ�‰�f˜gÕ&øÜ”^¤Z´Ð>ò Ùðús   ‚ ™5´5c                 óÀ   — t         d   rt        j                  t        «       t	        | t
        j                  «       dt         d<   t        j                  d| z
   «       y )Nr   Té   )	r$   ÚosÚ_exitÚEX_SOFTWAREr<   r   ÚSIG_DFLÚsysÚexit)r:   Úframes     r   Ú_shutdown_cleanuprF   |   sC   € ô ˜1ÒÜ
�‰”ÔÜ�FœFŸN™NÔ+Ø!Ô˜ÑÜ‡H�Hˆs�V‰|ˆ_Õr&   c                 ó$   — t        t        | d «      S r1   )r   r   )Úsigs    r   r:   r:   ‡   s   € Ü”6˜3 Ó%Ð%r&   c                 óH   — | t         v xs |d uxr |t        j                  k7  S r1   )ÚTERMSIGS_FORCEr   ÚSIG_IGN)rH   Úcurrents     r   Ú_should_override_term_signalrM   ‹   s*   € àŒ~Ðò 	<Ø	˜Ð	Ò	: ¬F¯N©NÑ!:ðr&   c                 ó  — |rt         nt        D ]<  }t        |«      }|sŒt        |t	        j
                  |«      «      sŒ1t        || «       Œ> t        D ]*  }t        |«      }|sŒt        |t        j                  «       Œ, y r1   )	ÚTERMSIGS_FULLÚTERMSIGS_DEFAULTr:   rM   r   Ú	getsignalr<   ÚTERMSIGS_IGNORErK   )r;   ÚfullrH   Únums       r   Úreset_signalsrU   ’   sl   € Ù $�}Ô*:ò .ˆÜ�S‹kˆÚÜ+¨C´×1AÑ1AÀ#Ó1FÕGÜ  WÕ-ð	.ô
 ò 1ˆÜ�S‹kˆÚÜ˜C¤§¡Õ0ñ1r&   c                   ó   — e Zd ZeZd„ Zdd„Zy)Úrestart_statec                 ó@   — ||c| _         | _        d\  | _        | _        y )N)r   N)ÚmaxRÚmaxTÚRÚT)ÚselfrY   rZ   s      r   Ú__init__zrestart_state.__init__¡   s   € Ø# TÐˆŒ	�4”9Ø ‰ˆŒ�•r&   Nc                 óª  — |€
t        «       n|}| j                  }| j                  r,|| j                  z
  | j                  k\  r|dc| _        | _        nY| j                  rM| j                  | j                  k\  r4| j                  r(d| _        | j                  |›d| j                  ›d�«      ‚| j                  €|| _        | xj                  dz  c_        y )Nr   z in r2   r   )r   r[   r\   rZ   rY   r   )r]   Únowr[   s      r   Ústepzrestart_state.step¥   sž   € Ø ˜[ŒiŒk¨cˆØ�F‰FˆØ�6Š6�c˜DŸF™F‘l d§i¡iÒ/à  !ˆNˆDŒF�D•FØ�YŠY˜4Ÿ6™6 T§Y¡YÒ.ð
 �vŠvØ�”Ø×.Ñ.ºaÀÇÃÐ/KÓLÐLà�6‰6ˆ>ØˆDŒFØ�Š�!‰Žr&   r1   )Ú__name__Ú
__module__Ú__qualname__r   r^   ra   r%   r&   r   rW   rW   ž   s   „ Ø-Ðò!ôr&   rW   )+Ú__doc__r?   r   rC   ÚpickleÚ
exceptionsr   Útimer   r3   Úpickle_loadÚloadsr4   Úior   ÚdictÚdirr,   Ú
_alias_sigr   r7   r   ÚTERM_SIGNALÚTERM_SIGNAMEÚenvironÚgetr   ÚsetrR   rJ   rA   rP   rO   r$   r'   r)   r/   r<   rF   r:   rM   rU   rW   r%   r&   r   ú<module>rt      s„  ðñ.ó 
Û Û 
ã å +Ý à�k‰k€Ø�|‰|€õ ñ 
ñ Ù%(¨£[ôó 
€ð (ò €Jðà.8ˆ‰w�v˜zÓ*Ò+ðð #ŸN™N¨IÐ €ˆ\Ø—
‘
—‘˜Ó/€Ùá�˜Ó&¨ð €K�ñ "/�9‘+±C³E€Ù -�)‘±3³5€à€ð ØØØð	Ð ð ØØØØØØØØØØØØØØð€ð, �gÐ ò"ò	#ò)ð %ó ò
òò&òð ,°%ó 	1÷ò øðC ò Ùðús   ÁC=Ã=DÄD