U
    €Acjç  ã                   @   sz   zd dl mZ W nd ek
rt   d dlmZ er2n>d dlZd dl Z G dd„ dejƒZejj	j
Z
ejj	jZdd„ ZY nX dS )é    )Ú	inet_pton)ÚTYPE_CHECKINGNc                   @   s@   e Zd Zdejfdejfdejd fdejd fdejfgZdS )	ÚSockAddrÚ	sa_familyZ__pad1Ú	ipv4_addré   Ú	ipv6_addré   Z__pad2N)	Ú__name__Ú
__module__Ú__qualname__ÚctypesÚc_shortÚc_ushortÚc_byteÚc_ulongÚ_fields_© r   r   ú5/tmp/pip-unpacked-wheel-vsgw_m2t/hyperlink/_socket.pyr      s   ûr   c                 C   s¢   t ƒ }| d¡}| |_t t |¡¡}ztjdtjdi|  \}}W n t	k
r`   t 
d¡‚Y nX t|| d t |¡t |¡ƒdkr�t 
t ¡ ¡‚t t||ƒ|¡S )NÚascii)r   r   )r   r	   zunknown address familyr   )r   Úencoder   r   Úc_intÚsizeofÚsocketÚAF_INETÚAF_INET6ÚKeyErrorÚerrorÚWSAStringToAddressAÚbyrefÚFormatErrorÚ	string_atÚgetattr)Úaddress_familyZ	ip_stringÚaddrZip_string_bytesZ	addr_sizeÚ	attributeÚsizer   r   r   r      s4    
  þýûùÿ
r   )r   r   ÚImportErrorÚtypingr   r   Ú	Structurer   ÚwindllZws2_32r   ZWSAAddressToStringAr   r   r   r   Ú<module>   s   	

