"JdUddlZddlZddlZddlZddlmZmZejdfejdfej dfej dfej dfej dfej d fgZeeeefed <ejd Zd ed efdZdS)N)ListTuplezutf-8zutf-16z utf-16-bez utf-16-lezutf-32z utf-32-bez utf-32-leBOMSscoding[:=]\s*([-\w.]+)datareturnc^tD]F\}}||r,|t|d|cSG|dddD]}|dddkrxt |r^t |}|dd}||cS|tj dptj 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 startswithlendecodesplit ENCODING_REsearchgroupslocalegetpreferredencodingsysgetdefaultencoding)rbomencodinglineresults O/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/utils/encoding.py auto_decoders#55 X ??3   5C #**844 4 4 4 5 5!!"1"%)) !9  !3!3D!9!9  ''--F}}q)0099H;;x(( ( ( ( ;;#E**Fc.D.F.F  )codecsrrertypingrrBOM_UTF8 BOM_UTF16 BOM_UTF16_BE BOM_UTF16_LE BOM_UTF32 BOM_UTF32_BE BOM_UTF32_LErbytesstr__annotations__compilerrrrr/s  _g x  +& +& x  +& +&!d5 bj344 er