§
    ¡”j5  ã                   ó^   — d dl mZmZmZmZ d dlZd dlZddlmZ ddl	m
Z
mZmZmZ d„ Zd„ ZdS )é    )Úunicode_literalsÚdivisionÚabsolute_importÚprint_functionNé   )Úunwrap)Úbyte_clsÚbytes_to_listÚstr_clsÚ	type_namec           
      ó(  — | t          t          j        t          j        g¦  «        vrZt	          t          dt          t          j        ¦  «        t          t          j        ¦  «        t          | ¦  «        ¦  «        ¦  «        ‚t          |t          ¦  «        s*t          t          dt          |¦  «        ¦  «        ¦  «        ‚| t          j        k    rdnd}t          |¦  «        |k    r+t	          t          d|t          |¦  «        ¦  «        ¦  «        ‚| t          j        k    rdt          t          |¦  «        ¦  «        z  S t          j        d|¦  «        }i }d}d	}t!          |d
z   ¦  «        D ]2\  }}|dk    r#|� ||z
  }	|	|vr|||	<   t#          ||	¦  «        }d	}Œ.|€|}Œ3d„ |D ¦   «         }
|dk     rd                     |
¦  «        S ||         }||z   }d                     |
d	|…         ¦  «        dz   d                     |
|d	…         ¦  «        z   S )a  
    Windows compatibility shim for socket.inet_ntop().

    :param address_family:
        socket.AF_INET for IPv4 or socket.AF_INET6 for IPv6

    :param packed_ip:
        A byte string of the network form of an IP address

    :return:
        A unicode string of the IP address
    úp
            address_family must be socket.AF_INET (%s) or socket.AF_INET6 (%s),
            not %s
            zA
            packed_ip must be a byte string, not %s
            é   é   zA
            packed_ip must be %d bytes long - is %d
            z%d.%d.%d.%dó	   !HHHHHHHHr   N)éÿÿÿÿc                 ó<   — g | ]}t          |¦  «        d d…         ‘ŒS )é   N)Úhex)Ú.0Úos     ú_/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/asn1crypto/_inet.pyú
<listcomp>zinet_ntop.<locals>.<listcomp>I   s&   € Ð(Ð(Ð(˜A�S�‰VŒV�A�B�BŒZÐ(Ð(Ð(ó    r   ú:ú::)ÚsetÚsocketÚAF_INETÚAF_INET6Ú
ValueErrorr   ÚreprÚ
isinstancer	   Ú	TypeErrorr   ÚlenÚtupler
   ÚstructÚunpackÚ	enumerateÚmaxÚjoin)Úaddress_familyÚ	packed_ipÚrequired_lenÚoctetsÚruns_of_zeroÚlongest_runÚ
zero_indexÚiÚoctetÚlengthÚhexedÚ
zero_startÚzero_ends                r   Ú	inet_ntopr9      s8  € ð �S¥&¤.µ&´/Ð!BÑCÔCÐCÐCÝ�ðõ •”Ñ Ô Ý•”Ñ!Ô!Ý�Ñ Ô ñ
ô 
ñ ô ð 	õ �i¥Ñ*Ô*ð Ý�ðõ �iÑ Ô ñ	
ô 
ñ ô ð 	ð '­&¬.Ò8Ð8�1�1¸b€LÝ
ˆ9�~„~˜Ò%Ð%Ý�ðð Ý�	‰NŒNñ
ô 
ñ ô ð 	ð �œÒ'Ð'Ø�u¥]°9Ñ%=Ô%=Ñ>Ô>Ñ>Ð>åŒ]˜<¨Ñ3Ô3€Fà€LØ€KØ€JÝ˜f u™nÑ-Ô-ð 	ð 	‰ˆˆ5Ø�AŠ:ˆ:ØÐ%Ø˜Z™�Ø Ð-Ð-Ø+5�L Ñ(Ý! +¨vÑ6Ô6�Ø!�
øØÐØˆJøà(Ð( Ð(Ñ(Ô(€Eà�Q‚€Ø�xŠx˜‰ŒÐà˜kÔ*€JØ˜KÑ'€Hà�8Š8�E˜+˜:˜+Ô&Ñ'Ô'¨$Ñ.°·²¸%ÀÀ	À	Ô:JÑ1KÔ1KÑKÐKr   c           
      óZ  — | t          t          j        t          j        g¦  «        vrZt	          t          dt          t          j        ¦  «        t          t          j        ¦  «        t          | ¦  «        ¦  «        ¦  «        ‚t          |t          ¦  «        s*t          t          dt          |¦  «        ¦  «        ¦  «        ‚| t          j        k    r£|                     d¦  «        }t          |¦  «        dk    }|s;g }|D ]6}t          |¦  «        }|dk    s|dk     rd} n|                     |¦  «         Œ7|r*t	          t          dt          |¦  «        ¦  «        ¦  «        ‚t          j        d	g|¢R Ž S d
}|                     d¦  «        }|dk    rd}nŸ|dk    r)|                     d¦  «        }t          |¦  «        dk    }np|                     d¦  «        \  }}|                     d¦  «        }	|                     d¦  «        }
dt          |	¦  «        z
  t          |
¦  «        z
  }|	dg|z  z   |
z   }|sNg }|D ]7}t          |d¦  «        }|dk    s|dk     rd} n|                     |¦  «         Œ8t          j        dg|¢R Ž S t	          t          dt          |¦  «        ¦  «        ¦  «        ‚)a  
    Windows compatibility shim for socket.inet_ntop().

    :param address_family:
        socket.AF_INET for IPv4 or socket.AF_INET6 for IPv6

    :param ip_string:
        A unicode string of an IP address

    :return:
        A byte string of the network form of the IP address
    r   zD
            ip_string must be a unicode string, not %s
            ú.r   éÿ   r   Tz‡
                ip_string must be a dotted string with four integers in the
                range of 0 to 255, got %s
                s   !BBBBFr   r   r   é   Ú0r   iÿÿ  r   z?
        ip_string must be a valid ipv6 string, got %s
        )r   r   r   r    r!   r   r"   r#   r   r$   r   Úsplitr%   ÚintÚappendr'   ÚpackÚcount)r,   Ú	ip_stringr/   ÚerrorÚintsr   ÚomittedÚbeginÚendÚbegin_octetsÚ
end_octetsÚmissings               r   Ú	inet_ptonrM   T   sÕ  € ð �S¥&¤.µ&´/Ð!BÑCÔCÐCÐCÝ�ðõ •”Ñ Ô Ý•”Ñ!Ô!Ý�Ñ Ô ñ
ô 
ñ ô ð 	õ �i¥Ñ)Ô)ð Ý�ðõ �iÑ Ô ñ	
ô 
ñ ô ð 	ð �œÒ'Ð'Ø—’ Ñ%Ô%ˆÝ�F‘”˜qÒ ˆØð 	ØˆDØð ð �Ý˜‘F”F�Ø�s’7�7˜a !še˜eØ �EØ�EØ—’˜A‘”��àð 	Ý�Vðõ �Y‘”ñô ñ ô ð õ Œ{˜8Ð+ dÐ+Ð+Ð+Ð+à€EØ�oŠo˜dÑ#Ô#€GØ�‚{€{ØˆˆØ	�AŠˆØ—’ Ñ%Ô%ˆÝ�F‘”˜qÒ ˆˆà—_’_ TÑ*Ô*‰
ˆˆsØ—{’{ 3Ñ'Ô'ˆØ—Y’Y˜s‘^”^ˆ
Ø•c˜,Ñ'Ô'Ñ'­#¨j©/¬/Ñ9ˆØ # ¨¡Ñ1°JÑ>ˆàð 	0ØˆØð 	ð 	ˆAÝ�A�r‘
”
ˆAØ�5Šyˆy˜A šE˜EØ�Ø�Ø�KŠK˜‰NŒNˆNˆNåŒ{˜<Ð/¨$Ð/Ð/Ð/Ð/å
•Vð	õ 	ˆY‰Œñ	ô ñ ô ð r   )Ú
__future__r   r   r   r   r   r'   Ú_errorsr   Ú_typesr	   r
   r   r   r9   rM   © r   r   ú<module>rR      s¥   ðà RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ Rà €€€Ø €€€à Ð Ð Ð Ð Ð Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?ðFLð FLð FLðRVð Vð Vð Vð Vr   