�`^c@s�dZddlZddlmZddlZiZdZdgZdZejZ de
efd��YZd �Z
d
�Zeje�dS(s, Standard "encodings" Package
Standard Python encoding modules are stored in this package
directory.
Codec modules must have names corresponding to normalized encoding
names as defined in the normalize_encoding() function below, e.g.
'utf-8' must be implemented by the module 'utf_8.py'.
Each codec module must export the following interface:
* getregentry() -> codecs.CodecInfo object
The getregentry() API must a CodecInfo object with encoder, decoder,
incrementalencoder, incrementaldecoder, streamwriter and streamreader
atttributes which adhere to the Python Codec Interface Standard.
In addition, a module may optionally also define the following
APIs which are then used by the package's codec search function:
* getaliases() -> sequence of encoding name strings to use as aliases
Alias names returned by getaliases() must be normalized encoding
names as defined by normalize_encoding().
Written by Marc-Andre Lemburg (mal@lemburg.com).
(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
i�N(taliasess--unknown--t*s . 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz tCodecRegistryErrorcBseZRS((t__name__t
__module__(((s(/sys/lib/python2.7/encodings/__init__.pyR.scCsLttd�r0t|t�r0|jd�}ndj|jt�j��S(s� Normalize an encoding name.
Normalization works as follows: all non-alphanumeric
characters except the dot used for Python package names are
collapsed and replaced with a single underscore, e.g. ' -;#'
becomes '_'. Leading and trailing underscores are removed.
Note that encoding names should be ASCII only; if they do use
non-ASCII characters, these must be Latin-1 compatible.
tunicodeslatin-1t_( thasattrt__builtin__t
isinstanceRtencodetjoint translatet_norm_encoding_maptsplit(tencoding((s(/sys/lib/python2.7/encodings/__init__.pytnormalize_encoding1sc
Cs8tj|t�}|tk r"|St|�}tj|�pUtj|jdd��}|dk rs||g}n |g}xb|D]T}|s�d|kr�q�ny td|dtdd�}Wnt k
r�q�XPq�Wd}y
|j
}Wntk
rd}nX|dkr"dt|<dS|�}t|t
j�s�dt|�koZdkns{td |j|jf�nt|dd
�sWt|dd
�sW|ddk r�t|dd
�sW|d
dk r�|d
d
�sWt|�dkr!|ddk r!t|dd
�sWt|�dkrs|ddk rst|dd
�rstd|j|jf�nt|�dks�|ddkr�|ddt|�|jjdd�df7}nt
j|�}n|t|<y|j�}Wntk
r n+Xx'|D]} | tkr|t| <qqW|S(Nt.Rs
encodings.tfromlisttleveliiis#module "%s" (%s) failed to registert__call__iiiis'incompatible codecs in module "%s" (%s)i(N(t_cachetgett_unknownRt_aliasestreplacetNonet
__import__t_import_tailtImportErrortgetregentrytAttributeErrorR tcodecst CodecInfotlenRRt__file__RRt
getaliases(
Rtentryt
norm_encodingtaliased_encodingtmodnamestmodnametmodRtcodecaliasestalias((s(/sys/lib/python2.7/encodings/__init__.pytsearch_functionGsl
"$$66"5
(t__doc__R t encodingsRRRRRR
RtLookupErrortSystemErrorRRR-tregister(((s(/sys/lib/python2.7/encodings/__init__.pyt<module>s V
|