U
    <æ{f  ã                   @   s   d Z G dd„ dƒZdS )z&Serial Number Arthimetic from RFC 1982c                   @   sv   e Zd Zdeedœdd„Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚSerialé    ©ÚvalueÚbitsc                 C   s   |d|  | _ || _d S )Né   r   )Úselfr   r   © r   úI/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/dns/serial.pyÚ__init__   s    zSerial.__init__c                 C   s   d| j › d| j› dS )Nzdns.serial.Serial(z, ú)r   )r   r   r   r	   Ú__repr__   s    zSerial.__repr__c                 C   s>   t |tƒrt|| jƒ}nt |tƒr.|j| jkr2tS | j|jkS ©N©Ú
isinstanceÚintr   r   ÚNotImplementedr   ©r   Úotherr   r   r	   Ú__eq__   s
    
zSerial.__eq__c                 C   s>   t |tƒrt|| jƒ}nt |tƒr.|j| jkr2tS | j|jkS r   r   r   r   r   r	   Ú__ne__   s
    
zSerial.__ne__c                 C   sŽ   t |tƒrt|| jƒ}nt |tƒr.|j| jkr2tS | j|jk r\|j| j d| jd  k r\dS | j|jkr†| j|j d| jd  kr†dS dS d S ©Nr   é   TFr   r   r   r   r	   Ú__lt__   s    
&ÿzSerial.__lt__c                 C   s   | |kp| |k S r   r   r   r   r   r	   Ú__le__*   s    zSerial.__le__c                 C   sŽ   t |tƒrt|| jƒ}nt |tƒr.|j| jkr2tS | j|jk r\|j| j d| jd  kr\dS | j|jkr†| j|j d| jd  k r†dS dS d S r   r   r   r   r   r	   Ú__gt__-   s    
&ÿzSerial.__gt__c                 C   s   | |kp| |kS r   r   r   r   r   r	   Ú__ge__;   s    zSerial.__ge__c                 C   sl   | j }t|tƒr|j }nt|tƒr(|}nt‚t|ƒd| jd  d krJt‚||7 }|d| j  }t|| jƒS ©Nr   r   ©r   r   r   r   Ú
ValueErrorÚabsr   ©r   r   ÚvÚdeltar   r   r	   Ú__add__>   s    

zSerial.__add__c                 C   sj   | j }t|tƒr|j }nt|tƒr(|}nt‚t|ƒd| jd  d krJt‚||7 }|d| j  }|| _ | S r   r   r    r   r   r	   Ú__iadd__L   s    

zSerial.__iadd__c                 C   sl   | j }t|tƒr|j }nt|tƒr(|}nt‚t|ƒd| jd  d krJt‚||8 }|d| j  }t|| jƒS r   r   r    r   r   r	   Ú__sub__[   s    

zSerial.__sub__c                 C   sj   | j }t|tƒr|j }nt|tƒr(|}nt‚t|ƒd| jd  d krJt‚||8 }|d| j  }|| _ | S r   r   r    r   r   r	   Ú__isub__i   s    

zSerial.__isub__N)r   )Ú__name__Ú
__module__Ú__qualname__r   r
   r   r   r   r   r   r   r   r#   r$   r%   r&   r   r   r   r	   r      s   r   N)Ú__doc__r   r   r   r   r	   Ú<module>   s   