o
    ›hä  ã                   @   s  d Z ddlZejd dkZerCddlZddlZddlmZ	 ej
ZeZdd„ Zdd„ Zd	d
„ Zdd„ Zddd„Zdd„ ZeZeZeZdS ddlZddlmZ zddlm	Z	 W n eyd   ddl	m	Z	 Y nw ejZdd„ Zdd„ Zdd
„ Zdd„ Zedƒ eZeZeZee fZdS )z<Utility functions and definitions for python3 compatibility.é    Né   )ÚBytesIOc                 C   s   t  | ¡d S )Nr   )ÚcodecsÚlatin_1_encode©Ús© r   úA/var/www/html/venv/lib/python3.10/site-packages/bson/py3compat.pyÚb   s   r
   c                 C   s
   t  | ¡S ©N)ÚbytesÚfromhex©Úhr   r   r	   Úbytes_from_hex%   ó   
r   c                 C   ó   t |  ¡ ƒS r   )ÚiterÚitems©Údr   r   r	   Ú	iteritems(   ó   r   c                 C   r   r   )r   Úvaluesr   r   r   r	   Ú
itervalues+   r   r   c                 C   s   | t |ƒƒ |¡‚r   )ÚstrÚwith_traceback)ÚexctypeÚvalueÚtracer   r   r	   Úreraise.   s   r    c                 C   ó   | S r   r   r   r   r   r	   Ú_unicode1   s   r"   )Úimap)ÚStringIOc                 C   r!   r   r   r   r   r   r	   r
   B   s   c                 C   s
   |   d¡S )NÚhex)Údecoder   r   r   r	   r   F   r   c                 C   ó   |   ¡ S r   )r   r   r   r   r	   r   I   ó   c                 C   r'   r   )r   r   r   r   r	   r   L   r(   zNdef reraise(exctype, value, trace=None):
    raise exctype, str(value), trace
r   )!Ú__doc__ÚsysÚversion_infoÚPY3r   Ú_threadÚthreadÚior   r$   ÚmaxsizeÚMAXSIZEÚmapr#   r
   r   r   r   r    r"   r   Ú	text_typeZstring_typeÚintÚinteger_typesÚ	itertoolsÚ	cStringIOÚImportErrorZmaxintÚexecÚunicodeÚ
basestringÚlongr   r   r   r	   Ú<module>   sF   
ÿ