o
    ‰ÖhÖ
  ã                   @   sÄ   d Z ddlmZ ddlZddlZG dd„ dejjƒZG dd„ dej	j
ƒZded	efd
d„Zded	efdd„Zded	efdd„Zded	efdd„Zded	efdd„ZejZejZejZejZejZdS )zDNS Opcodes.é    )ÚTypeNc                   @   sB   e Zd ZdZdZdZdZdZedd„ ƒZ	ede
e fd	d
„ƒZdS )ÚOpcoder   é   é   é   é   c                 C   s   dS )Né   © ©Úclsr	   r	   úL/var/www/html/pro-man-master/venv/lib/python3.10/site-packages/dns/opcode.pyÚ_maximum&   ó   zOpcode._maximumÚreturnc                 C   s   t S )N)ÚUnknownOpcoder
   r	   r	   r   Ú_unknown_exception_class*   r   zOpcode._unknown_exception_classN)Ú__name__Ú
__module__Ú__qualname__ÚQUERYÚIQUERYÚSTATUSÚNOTIFYÚUPDATEÚclassmethodr   r   Ú	Exceptionr   r	   r	   r	   r   r      s    
r   c                   @   s   e Zd ZdZdS )r   zAn DNS opcode is unknown.N)r   r   r   Ú__doc__r	   r	   r	   r   r   /   s    r   Útextr   c                 C   ó
   t  | ¡S )z¨Convert text into an opcode.

    *text*, a ``str``, the textual opcode

    Raises ``dns.opcode.UnknownOpcode`` if the opcode is unknown.

    Returns an ``int``.
    )r   Ú	from_text)r   r	   r	   r   r   3   ó   

r   Úflagsc                 C   s   t | d@ d? ƒS )zpExtract an opcode from DNS message flags.

    *flags*, an ``int``, the DNS flags.

    Returns an ``int``.
    é x  é   )r   ©r!   r	   r	   r   Ú
from_flags@   s   r%   Úvaluec                 C   s   | d> d@ S )z™Convert an opcode to a value suitable for ORing into DNS message
    flags.

    *value*, an ``int``, the DNS opcode value.

    Returns an ``int``.
    r#   r"   r	   ©r&   r	   r	   r   Úto_flagsK   s   	r(   c                 C   r   )z¥Convert an opcode to text.

    *value*, an ``int`` the opcode value,

    Raises ``dns.opcode.UnknownOpcode`` if the opcode is unknown.

    Returns a ``str``.
    )r   Úto_textr'   r	   r	   r   r)   W   r    r)   c                 C   s   t | ƒtjkS )zmIs the opcode in flags UPDATE?

    *flags*, an ``int``, the DNS message flags.

    Returns a ``bool``.
    )r%   r   r   r$   r	   r	   r   Ú	is_updated   s   r*   )r   Útypingr   Údns.enumÚdnsÚdns.exceptionÚenumÚIntEnumr   Ú	exceptionÚDNSExceptionr   Ústrr   Úintr%   r(   r)   Úboolr*   r   r   r   r   r   r	   r	   r	   r   Ú<module>   s    
