�
c��]� � � � d dl Z d dlZ ej � Zd dlmZmZm Z e j d d dk sedk7 r(d dlmZm
Z
e j d dkD reZd
d�Zdd�Zd � Zyd
d
�Zdd�Zd� Zy# eef$ r dZY �`w xY w)� N�CPython)�oct2int�null�ensureString� )� r )�a2b_hex�b2a_hexc � � | syt t t | � � d� }|r%t | d � dz r|dt | � dz z z
S |S )Nr � � � � )�longr
r r �len)�octets�signed�values �7/usr/lib/python3/dist-packages/pyasn1/compat/integer.py�
from_bytesr sN � ����W�\�&�1�2�B�7���g�f�Q�i�(�4�/��A��V��q��0�1�1��� c � � | dk r&|rt | � }d|z }| |z |z }nt d� �| dk( r|dk( rt S d}| }t |� dd }|j d� r|d d }t |� dz rd|z }| |k7 s|rIt |� dz }t
||� }||kD rd ||z
dz
d
z dz z |z }n|r||z
dkD rt d� �t |d d d
� } |r| dz r| dk\ rd |z }n
| dk rd|z }t |� }
|
S )Nr r z&can't convert negative int to unsignedr �L����0� �00r � zint too big to convertr r
�ff) � bitLength�
OverflowErrorr �hex�endswithr �max�intr )r r �length�bits�maxValue�
valueToEncode�hexValue� hexLength� padLength�
firstOctet�octets_values r �to_bytesr/ $ sR � ��1�9�� ��'�� ��9��!&��!1�X� =�
� $�$M�N�N�
�a�Z�F�a�K��K��D�!�M��}�%�a�b�)�����S�!����}�H��x�=�1���X�~�H� �M�!�V��H�
��)�I��F�D�)�I��9�$��I� �$9�A�$=�!�#C�a�#G�H�8�S���I��.��2�#�$<�=�=���"�1��r�*�
���D� ��A�:�#�h��H�����(�?���x�(���r c � � t t | � � }t |� dz
}|j d� r|dz }|dz r|dz
}|dz }|S )Nr r r r )r" |