U BB`5@s`ddlmZmZmZmZddlZddlZddlmZddl m Z m Z m Z m Z ddZdd ZdS) )unicode_literalsdivisionabsolute_importprint_functionN)unwrap)byte_cls bytes_to_liststr_cls type_namec Csn|ttjtjgkr6ttdttjttjt|t|tsRt tdt ||tjkr`dnd}t ||krttd|t ||tjkrdt t |Std|}i}d}d }t|d D]P\}}|dkr|d k r||} | |kr||| <t|| }d }q|d kr|}qd d |D} |d kr6d| S||} | |} d| d | dd| | d 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 !HHHHHHHHrN)cSsg|]}t|ddqS)N)hex).0or_C:\Users\shjeevan\PycharmProjects\Verisk-XactWare\venv3.8\Lib\site-packages\asn1crypto/_inet.py Iszinet_ntop..r:::)setsocketAF_INETAF_INET6 ValueErrorrrepr isinstancer TypeErrorr lentupler structunpack enumeratemaxjoin) address_familyZ packed_ipZ required_lenoctetsZ runs_of_zeroZ longest_runZ zero_indexioctetlengthZhexedZ zero_startZzero_endrrr inet_ntop sR         r.c Cs|ttjtjgkr6ttdttjttjt|t|tsRt tdt ||tjkr| d}t |dk}|sg}|D].}t |}|dks|dkrd}q||q~|rttdt|tjd|Sd }|d }|d krd}nj|dkr| d }t |dk}nH| d \}}| d } | d } dt | t | } | dg| | }|sg}|D]8}t |d}|dks|dkrd}q||qftjd|Sttdt|dS)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 rTz ip_string must be a dotted string with four integers in the range of 0 to 255, got %s !BBBBFrrr0rirz? ip_string must be a valid ipv6 string, got %s N)r1)r)rrrrrrrr r r!r splitr"intappendr$packcount) r)Z ip_stringr*errorintsrZomittedbeginendZ begin_octetsZ end_octetsmissingrrr inet_ptonTsl           r>) __future__rrrrrr$_errorsr_typesrr r r r.r>rrrrs  I