MAJOR=4 MINOR=26 DEVNAME=tty26 $ˆl–äY>” je¶…8 Cq§nµ1hßÀ „Zd_¿ÃÂ,¨a ´ièBã@sngd¢ZddlmZddlZddlZddlmZddlmZdZ dZ dZ d Z d Z d Zd Ze e dfe e dfe e dfe e dfe e dfe e dfe e dfe e dfe e dfe e dfe e dfe e dfd e e dfe e dfe ddfe ddfe ddfe e dfe e dfdœZdddddddddddddddddddddddd dœZdd dd!œZd,d"d#„Zd$d%„Zd&d'„Zd(d)„ZGd*d+„d+ƒZdS)-)ÚCharsetÚ add_aliasÚ add_charsetÚ add_codecé)ÚpartialN)Úerrors)Úencode_7or8bitééééúus-asciiz unknown-8bitÚ)NNNú iso-2022-jpúutf-8)ú iso-8859-1ú iso-8859-2ú iso-8859-3ú iso-8859-4ú iso-8859-9ú iso-8859-10ú iso-8859-13ú iso-8859-14ú iso-8859-15ú iso-8859-16z windows-1252Zvisciir Úbig5Úgb2312úeuc-jpÚ shift_jisrzkoi8-rrrrrrrrrrrrzks_c_5601-1987rzeuc-kr)Úlatin_1zlatin-1Zlatin_2zlatin-2Zlatin_3zlatin-3Zlatin_4zlatin-4Zlatin_5zlatin-5Zlatin_6zlatin-6Zlatin_7zlatin-7Zlatin_8zlatin-8Zlatin_9zlatin-9Zlatin_10zlatin-10Úcp949Úeuc_jpÚeuc_krÚasciiÚ eucgb2312_cnÚbig5_tw)rrr cCs"|tkrtdƒ‚|||ft|<dS)a>Add character set properties to the global registry. charset is the input character set, and must be the canonical name of a character set. Optional header_enc and body_enc is either charset.QP for quoted-printable, charset.BASE64 for base64 encoding, charset.SHORTEST for the shortest of qp or base64 encoding, or None for no encoding. SHORTEST is only valid for header_enc. It describes how message headers and message bodies in the input charset are to be encoded. Default is no encoding. Optional output_charset is the character set that the output should be in. Conversions will proceed from input charset, to Unicode, to the output charset when the method Charset.convert() is called. The default is to output in the same character set as the input. Both input_charset and output_charset must have Unicode codec entries in the module's charset-to-codec mapping; use add_codec(charset, codecname) to add codecs the module does not know about. See the codecs module's documentation for more information. z!SHORTEST not allowed for body_encN)ÚSHORTESTÚ ValueErrorÚCHARSETS)ÚcharsetZ header_encZbody_encÚoutput_charset©r+ú%/usr/lib64/python3.9/email/charset.pyrmsrcCs |t|<dS)z�Add a character set alias. alias is the alias name, e.g. latin-1 canonical is the character set's canonical name, e.g. iso-8859-1 N)ÚALIASES)ÚaliasZ canonicalr+r+r,r‰srcCs |t|<dS)a$Add a codec that map characters in the given charset to/from Unicode. charset is the canonical name of a character set. codecname is the name of a Python codec, as appropriate for the second argument to the unicode() built-in, or to the encode() method of a Unicode string. N)Ú CODEC_MAP)r)Z codecnamer+r+r,r’srcCs"|tkr| dd¡S| |¡SdS)Nr#Úsurrogateescape)Ú UNKNOWN8BITÚencode)ÚstringÚcodecr+r+r,Ú_encodeŸs r5c@s\eZdZdZefdd„Zdd„Zdd„Zdd „Zd d „Z d d „Z dd„Z dd„Z dd„Z dS)ra@ Map character sets to their email properties. This class provides information about the requirements imposed on email for a specific character set. It also provides convenience routines for converting between character sets, given the availability of the applicable codecs. Given a character set, it will do its best to provide information on how to use that character set in an email in an RFC-compliant way. Certain character sets must be encoded with quoted-printable or base64 when used in email headers or bodies. Certain character set