
    ,h	                     h    d Z ddlZddlmZ ddlZdedefdZdeeef   defdZ	deeef   defd	Z
y)
zIPv4 helper functions.    N)Unionaddressreturnc                 |    t        |       dk7  rt        j                  j                  d| d   | d   | d   | d   fz  S )zConvert an IPv4 address in binary form to text form.

    *address*, a ``bytes``, the IPv4 address in binary form.

    Returns a ``str``.
       z%u.%u.%u.%ur            )lendns	exceptionSyntaxError)r   s    J/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/dns/ipv4.py	inet_ntoar      sD     7|qmm'''GAJ
GAJ
KKK    textc                 F   t        | t              s| j                         }n| }|j                  d      }t	        |      dk7  rt
        j                  j                  |D ]f  }|j                         st
        j                  j                  t	        |      dkD  s<|d   t        d      k(  sNt
        j                  j                   	 |D cg c]  }t        |       }}t        j                  dg| S c c}w # t        $ r t
        j                  j                  w xY w)zConvert an IPv4 address in text form to binary form.

    *text*, a ``str`` or ``bytes``, the IPv4 address in textual form.

    Returns a ``bytes``.
       .r   r   r   0BBBB)
isinstancebytesencodesplitr   r   r   r   isdigitordintstructpack	Exception)r   btextpartspartbs        r   	inet_atonr%   '   s     dE"KKE
5zQmm''' ,||~--+++t9q=T!WC0--+++,(#()4SY)){{6&A&& * (mm'''(s   	C< C7C< 7C< <$D c                 z    t         j                  j                  t         j                  j                  |             S )zVerify that *address* is a valid text form IPv4 address and return its
    canonical text form.

    *text*, a ``str`` or ``bytes``, the IPv4 address in textual form.

    Raises ``dns.exception.SyntaxError`` if the text is not valid.
    )r   ipv4r   r%   )r   s    r   canonicalizer(   C   s(     88chh00677r   )__doc__r   typingr   dns.exceptionr   r   strr   r%   r(    r   r   <module>r.      sa   $    
Lu 
L 
L(E#u*% (% (8
8uS%Z( 
8S 
8r   