| 
				Server : Apache System : Linux server.mata-lashes.com 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : matalashes ( 1004) PHP Version : 8.1.29 Disable Function : NONE Directory : /lib64/python2.7/site-packages/dns/  | 
Upload File :  | 
�
#�Sc           @   s�   d  Z  d d l Z d d l Z d d l Z e j d � Z d �  Z e j d � Z e j d � Z	 e j d � Z
 d �  Z d Z d �  Z
 d S(   s   IPv6 helper functions.i����Ns
   0+([0-9a-f]+)c         C   s/  t  |  � d k r! t d � � n  |  j d � } g  } d } t  | � } xe | | k  r� | | | d !} t j | � } | d k	 r� | j d � } n  | j | � | d 7} qK Wd } d } d }	 t }
 xv t	 d � D]h } | | d	 k r(|
 r=| } | |	 } | | k r|	 } | } n  t }
 q=q� |
 s� | }	 t
 }
 q� q� W|
 rud } | |	 } | | k ru|	 } | } qun  | d k r| d k r�| d
 k s�| d k r�| d d k r�| d
 k r�d
 }
 n d }
 |
 t j j
 |  d � } q+d j | |  � d
 d j | | | � } n d j | � } | S(   s�   Convert a network format IPv6 address into text.
    @param address: the binary address
    @type address: string
    @rtype: string
    @raises ValueError: the address isn't 16 bytes long
    i   s    IPv6 addresses are 16 bytes longt	   hex_codeci    i   i   i����i   t   0i   i   t   ffffs   ::s   ::ffff:i   t   :N(   t   lent
   ValueErrort   encodet
   _leading_zerot   matcht   Nonet   groupt   appendt   Falset   xranget   Truet   dnst   ipv4t	   inet_ntoat   join(   t   addresst   hext   chunkst   it   lt   chunkt   mt
   best_startt   best_lent   startt
   last_was_zerot   endt   current_lent   prefix(    (    s.   /usr/lib64/python2.7/site-packages/dns/ipv6.pyR      s^    	
	
	s   (.*):(\d+\.\d+\.\d+\.\d+)$s   ::.*s   .*::$c   
      C   sO  |  d k r d }  n  t  j |  � } | d k	 r� t j j | j d � � } d | j d � t | d � t | d � t | d � t | d � f }  n  t j |  � } | d k	 r� |  d }  n( t	 j |  � } | d k	 r� |  d  }  n  |  j
 d	 � } t | � } | d
 k rt j j
 � n  t } g  } x� | D]� } | d k r�| rXt j j
 � n  t } x� t d d
 | d � D] } | j d � qvWq1t | � }	 |	 d
 k r�t j j
 � n  |	 d
 k r�d d
 |	 | } n  | j | � q1W| d
 k  r| rt j j
 � n  d j | � }  y |  j d � SWn t k
 rJt j j
 � n Xd S(   s�   Convert a text format IPv6 address into network format.
    @param text: the textual address
    @type text: string
    @rtype: string
    @raises dns.exception.SyntaxError: the text was not properly formatted
    s   ::s   0::i   s   %s:%02x%02x:%02x%02xi   i    i   i����R   i   t    t   0000i   R   R    N(   t
   _v4_endingR   R	   R   R   t	   inet_atonR
   t   ordt   _colon_colon_startt   _colon_colon_endt   splitR   t	   exceptiont   SyntaxErrorR   R   R
   R   R   t   decodet	   TypeError(
   t   textR   t   bR   R   t
   seen_emptyt	   canonicalt   cR   t   lc(    (    s.   /usr/lib64/python2.7/site-packages/dns/ipv6.pyR$   `   sN    
	)$
t    i
   s   ��c         C   s
   |  j  t � S(   N(   t
   startswitht   _mapped_prefix(   R   (    (    s.   /usr/lib64/python2.7/site-packages/dns/ipv6.pyt	   is_mapped�   s    t
             t             ��(   t   __doc__t   ret
   dns.exceptionR   t   dns.ipv4t   compileR   R   R#   R&