o
    h                     @   s   U d dl Z d dlZd dlZd dlZd dlmZmZ e jdfe jdfe j	dfe j
dfe jdfe jdfe jd	fgZeeeef  ed
< edZdedefddZdS )    N)ListTuplezutf-8zutf-16z	utf-16-bez	utf-16-lezutf-32z	utf-32-bez	utf-32-leBOMSs   coding[:=]\s*([-\w.]+)datareturnc                 C   s   t D ]\}}| |r| t|d |  S q| ddd D ]*}|dd dkrLt|rLt|}|dus<J | d d}| |  S q"| t	dpWt
 S )	zCheck a bytes string for a BOM to correctly detect the encoding

    Fallback to locale.getpreferredencoding(False) like open() on Python3N   
   r         #asciiF)r   
startswithlendecodesplitENCODING_REsearchgroupslocalegetpreferredencodingsysgetdefaultencoding)r   bomencodinglineresult r   ^/var/www/html/optinet_system/venv/lib/python3.10/site-packages/pip/_internal/utils/encoding.pyauto_decode   s   

r   )codecsr   rer   typingr   r   BOM_UTF8	BOM_UTF16BOM_UTF16_BEBOM_UTF16_LE	BOM_UTF32BOM_UTF32_BEBOM_UTF32_LEr   bytesstr__annotations__compiler   r   r   r   r   r   <module>   s   
 

