§
    Hºi  ã            	       óN  — d Z ddlZddlZddlZddlZddlZej                             d¦  «        Z	ej                             d¦  «        Z
e	e
fdedej        j        dej        j        dej        j        fd	„Ze	e
fd
ej        j        dej        j        dej        j        defd„ZdS )zDNS Reverse Map Names.é    Nzin-addr.arpa.z	ip6.arpa.ÚtextÚ	v4_originÚ	v6_originÚreturnc                 ó&  — 	 t           j                             | ¦  «        }t           j                             |¦  «        rd„ |dd…         D ¦   «         }|}n?d„ t	          t          j        |¦  «                             ¦   «         ¦  «        D ¦   «         }|}n;# t          $ r. d„ t           j	                             | ¦  «        D ¦   «         }|}Y nw xY wt           j
                             d                     t          |¦  «        ¦  «        |¬¦  «        S )a©  Convert an IPv4 or IPv6 address in textual form into a Name object whose
    value is the reverse-map domain name of the address.

    *text*, a ``str``, is an IPv4 or IPv6 address in textual form
    (e.g. '127.0.0.1', '::1')

    *v4_origin*, a ``dns.name.Name`` to append to the labels corresponding to
    the address if the address is an IPv4 address, instead of the default
    (in-addr.arpa.)

    *v6_origin*, a ``dns.name.Name`` to append to the labels corresponding to
    the address if the address is an IPv6 address, instead of the default
    (ip6.arpa.)

    Raises ``dns.exception.SyntaxError`` if the address is badly formed.

    Returns a ``dns.name.Name``.
    c                 ó,   — g | ]}t          |¦  «        ‘ŒS © ©Ústr©Ú.0Úbytes     úT/home/mmwave/public_html/mmwave/venv/lib/python3.11/site-packages/dns/reversename.pyú
<listcomp>z from_address.<locals>.<listcomp>:   s   € Ð3Ð3Ð3 4•S˜‘Y”YÐ3Ð3Ð3ó    é   Nc                 ó   — g | ]}|‘ŒS r	   r	   )r   Úxs     r   r   z from_address.<locals>.<listcomp>=   s   € ÐCÐCÐC˜1�QÐCÐCÐCr   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r	   r
   r   s     r   r   z from_address.<locals>.<listcomp>@   s   € Ð@Ð@Ð@˜t•�T‘”Ð@Ð@Ð@r   ú.)Úorigin)ÚdnsÚipv6Ú	inet_atonÚ	is_mappedr   ÚbinasciiÚhexlifyÚdecodeÚ	ExceptionÚipv4ÚnameÚ	from_textÚjoinÚreversed)r   r   r   Úv6Úpartsr   s         r   Úfrom_addressr'      s  € ð0
ÝŒX×Ò Ñ%Ô%ˆÝŒ8×Ò˜bÑ!Ô!ð 	Ø3Ð3¨2¨b¨c¨c¬7Ð3Ñ3Ô3ˆEØˆFˆFàCÐC¥¥HÔ$4°RÑ$8Ô$8×$?Ò$?Ñ$AÔ$AÑ BÔ BÐCÑCÔCˆEØˆFøøÝð ð ð Ø@Ð@¥s¤x×'9Ò'9¸$Ñ'?Ô'?Ð@Ñ@Ô@ˆØˆˆˆðøøøõ Œ8×Ò˜cŸhšh¥x°¡¤Ñ7Ô7ÀÐÑGÔGÐGs   ‚BB Â5CÃCr!   c           	      ó>  — |                       |¦  «        rx|                      |¦  «        } d                     t          | j        ¦  «        ¦  «        }t
          j                             t
          j                             |¦  «        ¦  «        S |                       |¦  «        rÝ|                      |¦  «        } t          t          | j        ¦  «        ¦  «        }g }t          dt          |¦  «        d¦  «        D ]5}|                     d                     |||dz   …         ¦  «        ¦  «         Œ6d                     |¦  «        }t
          j                             t
          j                             |¦  «        ¦  «        S t
          j                             d¦  «        ‚)a  Convert a reverse map domain name into textual address form.

    *name*, a ``dns.name.Name``, an IPv4 or IPv6 address in reverse-map name
    form.

    *v4_origin*, a ``dns.name.Name`` representing the top-level domain for
    IPv4 addresses, instead of the default (in-addr.arpa.)

    *v6_origin*, a ``dns.name.Name`` representing the top-level domain for
    IPv4 addresses, instead of the default (ip6.arpa.)

    Raises ``dns.exception.SyntaxError`` if the name does not have a
    reverse-map form.

    Returns a ``str``.
    ó   .r   é   r   ó   :z"unknown reverse-map address family)Úis_subdomainÚ
relativizer#   r$   Úlabelsr   r    Ú	inet_ntoar   ÚlistÚrangeÚlenÚappendr   Ú	exceptionÚSyntaxError)r!   r   r   r   r.   r&   Úis          r   Ú
to_addressr7   E   sN  € ð, ×Ò˜Ñ#Ô#ð NØ�Š˜yÑ)Ô)ˆØ�yŠy� $¤+Ñ.Ô.Ñ/Ô/ˆåŒx×!Ò!¥#¤(×"4Ò"4°TÑ":Ô":Ñ;Ô;Ð;Ø	×	Ò	˜9Ñ	%Ô	%ð 
NØ�Š˜yÑ)Ô)ˆÝ•h˜tœ{Ñ+Ô+Ñ,Ô,ˆØˆÝ�q�#˜f™+œ+ qÑ)Ô)ð 	6ð 	6ˆAØ�LŠL˜Ÿš &¨¨Q°©U¨Ô"3Ñ4Ô4Ñ5Ô5Ð5Ð5Ø�yŠy˜ÑÔˆåŒx×!Ò!¥#¤(×"4Ò"4°TÑ":Ô":Ñ;Ô;Ð;åŒm×'Ò'Ð(LÑMÔMÐMr   )Ú__doc__r   Údns.exceptionr   Údns.ipv4Údns.ipv6Údns.namer!   r"   Úipv4_reverse_domainÚipv6_reverse_domainr   ÚNamer'   r7   r	   r   r   ú<module>r@      s*  ðð$ Ð à €€€à Ð Ð Ð Ø €€€Ø €€€Ø €€€à”h×(Ò(¨Ñ9Ô9Ð Ø”h×(Ò(¨Ñ5Ô5Ð ð
  3Ø2ð#Hð #HØ
ð#HàŒxŒ}ð#Hð ŒxŒ}ð#Hð 	„X„]ð	#Hð #Hð #Hð #HðP  3Ø2ð%Nð %NØ
Œ(Œ-ð%NàŒxŒ}ð%Nð ŒxŒ}ð%Nð 	ð	%Nð %Nð %Nð %Nð %Nð %Nr   