Ë
    :vžj¢  ã                  ó$  — d Z ddlmZ ddlmZ ddlmZ  G d„ de«      Z G d„ de	«      Z
 G d	„ d
e
«      Z G d„ de
«      Z G d„ de
«      Z G d„ de«      Z G d„ de«      Z G d„ dee«      Zddd„Zdada G d„ de«      Z	 d	 	 	 	 	 dd„Zg d¢Zy)z 0MQ Error classes and functions.é    )Úannotations)ÚEINTR)ÚLiteralc                  ó&   ‡ — e Zd ZdZddˆ fd„Zˆ xZS )ÚDraftFDWarningzRWarning for using experimental FD on draft sockets.

    .. versionadded:: 27
    c                ó,   •— |sd}t         ‰| �  |«       y )Na!  pyzmq's back-fill socket.FD support on thread-safe sockets is experimental, and may be removed. This warning will go away automatically if/when libzmq implements socket.FD on thread-safe sockets. You can suppress this warning with `warnings.simplefilter('ignore', zmq.error.DraftFDWarning))ÚsuperÚ__init__)ÚselfÚmsgÚ	__class__s     €úZ/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/zmq/error.pyr
   zDraftFDWarning.__init__   s    ø€ Ùðqð ô
 	‰Ñ˜Õó    )Ú )r   ÚstrÚreturnÚNone©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   Ú__classcell__©r   s   @r   r   r      s   ø„ ñ÷
ò r   r   c                  ó   — e Zd ZdZy)ÚZMQBaseErrorz.Base exception class for 0MQ errors in Python.N©r   r   r   r   © r   r   r   r      s   „ Ú8r   r   c                  óD   — e Zd ZU dZdZded<   ded<   d
dd„Zdd„Zdd	„Zy)ÚZMQErrorzàWrap an errno style error.

    Parameters
    ----------
    errno : int
        The ZMQ errno or None.  If None, then ``zmq_errno()`` is called and
        used.
    msg : str
        Description of the error or None.
    Nú
int | NoneÚerrnor   Ústrerrorc                ó¸   — ddl m}m} |€ |«       }t        |t        «      r|| _        |€ ||«      | _        y|| _        y|€t        |«      | _        y|| _        y)a  Wrap an errno style error.

        Parameters
        ----------
        errno : int
            The ZMQ errno or None.  If None, then ``zmq_errno()`` is called and
            used.
        msg : string
            Description of the error or None.
        r   )r#   Ú	zmq_errnoN)Úzmq.backendr#   r%   Ú
isinstanceÚintr"   r   )r   r"   r   r#   r%   s        r   r
   zZMQError.__init__.   sR   € ÷ 	4àˆ=Ù“KˆEÜ�eœSÔ!ØˆDŒJØˆ{Ù (¨£�•à #�•àˆ{Ü # E£
�•à #�•r   c                ó   — | j                   S ©N)r#   ©r   s    r   Ú__str__zZMQError.__str__N   s   € Ø�}‰}Ðr   c                óL   — | j                   j                  › dt        | «      › d�S )Nz('ú'))r   r   r   r+   s    r   Ú__repr__zZMQError.__repr__Q   s$   € Ø—.‘.×)Ñ)Ð*¨"¬S°«Y¨K°rÐ:Ð:r   )NN)r"   r!   r   z
str | None©r   r   )	r   r   r   r   r"   Ú__annotations__r
   r,   r/   r   r   r   r    r       s(   … ñ	ð €Eˆ:ÓØƒMô$ó@ô;r   r    c                  ó   — e Zd ZdZy)ÚZMQBindErrorznAn error for ``Socket.bind_to_random_port()``.

    See Also
    --------
    .Socket.bind_to_random_port
    Nr   r   r   r   r3   r3   U   ó   „ òr   r3   c                  ó   — e Zd ZdZy)ÚNotDonez°Raised when timeout is reached while waiting for 0MQ to finish with a Message

    See Also
    --------
    .MessageTracker.wait : object for tracking when ZeroMQ is done
    Nr   r   r   r   r6   r6   ^   r4   r   r6   c                  ó4   ‡ — e Zd ZdZ	 	 d	 	 	 	 	 dˆ fd„Zˆ xZS )ÚContextTerminatedz6Wrapper for zmq.ETERM

    .. versionadded:: 13.0
    c                ó0   •— ddl m} t        ‰| �  |«       y )Nr   )ÚETERM)Úzmqr:   r	   r
   )r   r"   r   r:   r   s       €r   r
   zContextTerminated.__init__m   s   ø€ õ
 	ä‰Ñ˜Õr   ©Úignoredr=   ©r"   zint | Literal['ignored']r   r   r   r   r   r   s   @r   r8   r8   g   s6   ø„ ñð +4Øð à'ð ð ð ð 
÷	 ñ  r   r8   c                  ó4   ‡ — e Zd ZdZ	 	 d	 	 	 	 	 dˆ fd„Zˆ xZS )ÚAgainz7Wrapper for zmq.EAGAIN

    .. versionadded:: 13.0
    c                ó0   •— ddl m} t        ‰| �  |«       y )Nr   )ÚEAGAIN)r;   rB   r	   r
   )r   r"   r   rB   r   s       €r   r
   zAgain.__init__}   s   ø€ õ
 	ä‰Ñ˜Õ r   r<   r>   r   r   s   @r   r@   r@   w   s6   ø„ ñð +4Øð!à'ð!ð ð!ð 
÷	!ñ !r   r@   c                  óP   ‡ — e Zd ZU dZeZded<   	 	 d	 	 	 	 	 dˆ fd„Zdˆ fd„Zˆ xZ	S )	ÚInterruptedSystemCallz¥Wrapper for EINTR

    This exception should be caught internally in pyzmq
    to retry system calls, and not propagate to the user.

    .. versionadded:: 14.7
    r   r#   c                ó,   •— t         ‰| �  t        «       y r*   )r	   r
   r   )r   r"   r   r   s      €r   r
   zInterruptedSystemCall.__init__“   s   ø€ ô
 	‰ÑœÕr   c                ó*   •— t         ‰| �  «       }|dz   S )NzB: This call should have been retried. Please report this to pyzmq.)r	   r,   )r   Úsr   s     €r   r,   zInterruptedSystemCall.__str__š   s   ø€ Ü‰G‰OÓˆØÐWÑWÐWr   r<   r>   r0   )
r   r   r   r   r   r"   r1   r
   r,   r   r   s   @r   rD   rD   ‡   sI   ø… ñð €EØƒMð +4Øð à'ð ð ð ð 
õ	 ÷Xñ Xr   rD   Nc                óÊ   — | dk(  r^|€ddl m}  |«       }|dk(  r|syddlm}m} |t
        k(  rt        |«      ‚||k(  rt        |«      ‚||k(  rt        |«      ‚t        |«      ‚y)zhinternal utility for checking zmq return condition

    and raising the appropriate Exception class
    éÿÿÿÿNr   )r%   )rB   r:   )
r&   r%   r;   rB   r:   r   rD   r@   r8   r    )Úrcr"   Úerror_without_errnor%   rB   r:   s         r   Ú	_check_rcrL   Ÿ   sn   € ð
 
ˆR‚xØˆ=Ý-á“KˆEØ�AŠ:Ñ1Øß%à”EŠ>Ü'¨Ó.Ð.Ø�fŠ_Ü˜“,ÐØ�eŠ^Ü# EÓ*Ð*ä˜5“/Ð!ð! r   c                  óF   — e Zd ZU dZded<   ded<   ded<   d
dd„Zd„ Zd„ Zy	)ÚZMQVersionErrorzgRaised when a feature is not provided by the linked version of libzmq.

    .. versionadded:: 14.2
    r   r   Úmin_versionÚversionc                ó\   — t         €ddlm}  |«       a || _        || _        t         | _        y )Nr   )Úzmq_version)Ú_zmq_versionr;   rR   r   rO   rP   )r   rO   r   rR   s       r   r
   zZMQVersionError.__init__Å   s(   € äÐÝ'á&›=ˆLØˆŒØ&ˆÔÜ#ˆ�r   c                ó    — dt        | «      › d�S )NzZMQVersionError('r.   ©r   r+   s    r   r/   zZMQVersionError.__repr__Ï   s   € Ø"¤3 t£9 +¨RÐ0Ð0r   c                óR   — | j                   › d| j                  › d| j                  › �S )Nz requires libzmq >= z, have )r   rO   rP   r+   s    r   r,   zZMQVersionError.__str__Ò   s)   € Ø—(‘(�Ð/°×0@Ñ0@Ð/AÀÈÏÉÈÐWÐWr   N©ÚFeature)rO   r   r   r   r   r   )r   r   r   r   r1   r
   r/   r,   r   r   r   rN   rN   »   s)   … ñð
 
ƒHØÓØƒLô$ò1óXr   rN   c                ó„   — t         €ddlm}  |«       a t         | k  r$dj                  d„ | D «       «      }t	        ||«      ‚y)zÇCheck for libzmq

    raises ZMQVersionError if current zmq version is not at least min_version

    min_version_info is a tuple of integers, and will be compared against zmq.zmq_version_info().
    Nr   )Úzmq_version_infoÚ.c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr*   rU   )Ú.0Úvs     r   Ú	<genexpr>z!_check_version.<locals>.<genexpr>æ   s   è ø€ Ð@Ñ/?¨!œs 1ŸvÑ/?ùs   ‚)Ú_zmq_version_infor;   rZ   ÚjoinrN   )Úmin_version_infor   rZ   rO   s       r   Ú_check_versionrc   Ö   sF   € ô Ð Ý(á,Ó.ÐÜÐ+Ò+Ø—h‘hÑ@Ñ/?Ó@Ó@ˆÜ˜k¨3Ó/Ð/ð ,r   )	r   r   r3   r    r6   r8   rD   r@   rN   )NT)r"   r!   rK   Úboolr   r   rW   )rb   z3tuple[int] | tuple[int, int] | tuple[int, int, int]r   r   r   r   )r   Ú
__future__r   r"   r   Útypingr   ÚRuntimeWarningr   Ú	Exceptionr   r    r3   r6   r8   r@   ÚInterruptedErrorrD   rL   r`   rS   ÚNotImplementedErrorrN   rc   Ú__all__r   r   r   Ú<module>rl      sÅ   ðÙ &õ #å Ý ô�^ô ô 9�9ô 9ô3;ˆ|ô 3;ôl�<ô ôˆlô ô ˜ô  ô !ˆHô !ô X˜HÐ&6ô Xô0"ð0 Ð Ø€ôXÐ)ô Xð: ð0ØIð0à	ð0ð 
ó0ò(
�r   