§
    ñyIf\  ã                   óp   — d Z ddlZddlmZ ddlmZ ddlmZ d„ Zde	fd„Z
de	fd	„Zde	fd
„Zdeddfd„ZdS )a
  Astroid hooks for the signal library.

The signal module generates the 'Signals', 'Handlers' and 'Sigmasks' IntEnums
dynamically using the IntEnum._convert() classmethod, which modifies the module
globals. Astroid is unable to handle this type of code.

Without these hooks, the following are erroneously triggered by Pylint:
    * E1101: Module 'signal' has no 'Signals' member (no-member)
    * E1101: Module 'signal' has no 'Handlers' member (no-member)
    * E1101: Module 'signal' has no 'Sigmasks' member (no-member)

These enums are defined slightly differently depending on the user's operating
system and platform. These platform differences should follow the current
Python typeshed stdlib `signal.pyi` stub file, available at:

* https://github.com/python/typeshed/blob/master/stdlib/signal.pyi

Note that the enum.auto() values defined here for the Signals, Handlers and
Sigmasks IntEnums are just dummy integer values, and do not correspond to the
actual standard signal numbers - which may vary depending on the system.
é    N)Úregister_module_extender)Úparse)ÚAstroidManagerc                  ót   — t          t          ¦   «         t          ¦   «         z   t          ¦   «         z   ¦  «        S )zDGenerates the AST for 'Signals', 'Handlers' and 'Sigmasks' IntEnums.)r   Ú_signals_enumÚ_handlers_enumÚ_sigmasks_enum© ó    úN/var/www/piapp/venv/lib/python3.11/site-packages/astroid/brain/brain_signal.pyÚ_signals_enums_transformr   #   s*   € å•‘”¥>Ñ#3Ô#3Ñ3µnÑ6FÔ6FÑFÑGÔGÐGr   Úreturnc                  ó„   — d} t           j        dk    r| dz  } t           j        dk    r| dz  } t           j        dvr| dz  } | S )z3Generates the source code for the Signals int enum.a6  
    import enum
    class Signals(enum.IntEnum):
        SIGABRT   = enum.auto()
        SIGEMT    = enum.auto()
        SIGFPE    = enum.auto()
        SIGILL    = enum.auto()
        SIGINFO   = enum.auto()
        SIGINT    = enum.auto()
        SIGSEGV   = enum.auto()
        SIGTERM   = enum.auto()
    Úwin32a	  
        SIGALRM   = enum.auto()
        SIGBUS    = enum.auto()
        SIGCHLD   = enum.auto()
        SIGCONT   = enum.auto()
        SIGHUP    = enum.auto()
        SIGIO     = enum.auto()
        SIGIOT    = enum.auto()
        SIGKILL   = enum.auto()
        SIGPIPE   = enum.auto()
        SIGPROF   = enum.auto()
        SIGQUIT   = enum.auto()
        SIGSTOP   = enum.auto()
        SIGSYS    = enum.auto()
        SIGTRAP   = enum.auto()
        SIGTSTP   = enum.auto()
        SIGTTIN   = enum.auto()
        SIGTTOU   = enum.auto()
        SIGURG    = enum.auto()
        SIGUSR1   = enum.auto()
        SIGUSR2   = enum.auto()
        SIGVTALRM = enum.auto()
        SIGWINCH  = enum.auto()
        SIGXCPU   = enum.auto()
        SIGXFSZ   = enum.auto()
        z)
        SIGBREAK  = enum.auto()
        )Údarwinr   z©
        SIGCLD    = enum.auto()
        SIGPOLL   = enum.auto()
        SIGPWR    = enum.auto()
        SIGRTMAX  = enum.auto()
        SIGRTMIN  = enum.auto()
        ©ÚsysÚplatform)Úsignals_enums    r   r   r   (   sl   € ð€Lõ „|�wÒÐØð ñ 	ˆõ4 „|�wÒÐØð ñ 	ˆõ „|Ð.Ð.Ð.Øð ñ 	ˆð Ðr   c                  ó   — dS )z4Generates the source code for the Handlers int enum.zs
    import enum
    class Handlers(enum.IntEnum):
        SIG_DFL = enum.auto()
        SIG_IGN = eunm.auto()
    r
   r
   r   r   r   r   `   s   € ðð r   c                  ó*   — t           j        dk    rdS dS )z4Generates the source code for the Sigmasks int enum.r   z¡
    import enum
    class Sigmasks(enum.IntEnum):
        SIG_BLOCK   = enum.auto()
        SIG_UNBLOCK = enum.auto()
        SIG_SETMASK = enum.auto()
        Ú r   r
   r   r   r	   r	   j   s    € å
„|�wÒÐðð ð ˆ2r   Úmanagerc                 ó2   — t          | dt          ¦  «         d S )NÚsignal)r   r   )r   s    r   Úregisterr   w   s   € Ý˜W hÕ0HÑIÔIÐIÐIÐIr   )Ú__doc__r   Úastroid.brain.helpersr   Úastroid.builderr   Úastroid.managerr   r   Ústrr   r   r	   r   r
   r   r   ú<module>r"      sè   ðð
ð ð. €
€
€
à :Ð :Ð :Ð :Ð :Ð :Ø !Ð !Ð !Ð !Ð !Ð !Ø *Ð *Ð *Ð *Ð *Ð *ðHð Hð Hð
5�sð 5ð 5ð 5ð 5ðp˜ð ð ð ð ð
˜ð 
ð 
ð 
ð 
ðJ�nð J¨ð Jð Jð Jð Jð Jð Jr   