File: //usr/lib/python3.9/site-packages/netaddr/__pycache__/fbsocket.cpython-39.opt-1.pyc
a
��g7 � @ sX d Z ddlmZmZ ddlmZmZ dZ dZ
dd� Zdd � Zd
d� Z
dd
� Zdd� ZdS )z=Fallback routines for Python's standard library socket module� )�unpack�pack)�_bytes_join�_is_str� �
c C s: t | �stdt| � ��t| �dkr,td��dtd| � S )zR
Convert an IP address from 32-bit packed binary format to string format.
zstring type expected, not %s� �*invalid length of packed IP address stringz%d.%d.%d.%dZ4B)r � TypeError�type�len�
ValueError�_unpack)� packed_ip� r �4/usr/lib/python3.9/site-packages/netaddr/fbsocket.py� inet_ntoa s
r c C s" g }g }d }d}t | �D ]N\}}|dkr>|d u r4|}|d7 }n|dkrT|�||f� d }d}|�|� q|dkr~|�||f� t|�dk�r|jdd� d� |d }|D ]}|d |d kr�|}q�|\} }
|d|
� dg ||
| d � }|d dk�r|�dd� |d dk�r|�d� |S ) Nr �0� c S s | d S )Nr r )�xr r r �<lambda>9 � z&_compact_ipv6_tokens.<locals>.<lambda>)�key� ���)� enumerate�appendr �sort�insert)�tokensZ
new_tokensZ positions�start_indexZ
num_tokens�idx�tokenZ
best_positionZposition�lengthZ start_idxr r r �_compact_ipv6_tokens s:
"
r$ c
C s | t krt|�S | tkr�t|�dks,t|�s4td��dd� td|�D �}ttd|��}d}tt |��D ] \}}|}|d| >