U
ÀÒ.e( ã @ s– d dl Z d dlZd dlZd dlZd dlmZ erDd dlmZmZm Z e j
dfe jdfe jdfe j
dfe jdfe jd fe jd
fgZe d¡Zdd
„ ZdS )é N)ÚMYPY_CHECK_RUNNING)ÚListÚTupleÚTextzutf-8zutf-16z utf-16-bez utf-16-lezutf-32z utf-32-bez utf-32-les coding[:=]\s*([-\w.]+)c C s¢ t D ],\}}| |¡r| t|ƒd… |¡ S q| d¡dd… D ]D}|dd… dkrDt |¡rDt |¡ ¡ d d¡}| |¡ S qD| t d¡pžt
¡ ¡S ) zŠCheck a bytes string for a BOM to correctly detect the encoding
Fallback to locale.getpreferredencoding(False) like open() on Python3Nó
é r é ó #ÚasciiF)ÚBOMSÚ
startswithÚlenÚdecodeÚsplitÚENCODING_REÚsearchÚgroupsÚlocaleZgetpreferredencodingÚsysÚgetdefaultencoding)ÚdataZbomÚencodingÚline© r ú@/usr/lib/python3.8/site-packages/pip/_internal/utils/encoding.pyÚauto_decode s
ÿr )Úcodecsr Úrer Zpip._internal.utils.typingr Útypingr r r ÚBOM_UTF8Ú BOM_UTF16ÚBOM_UTF16_BEÚBOM_UTF16_LEÚ BOM_UTF32ÚBOM_UTF32_BEÚBOM_UTF32_LEr Úcompiler r r r r r Ú