Your IP : 3.15.5.201


Current Path : /lib64/python3.6/__pycache__/
Upload File :
Current File : //lib64/python3.6/__pycache__/locale.cpython-36.opt-1.pyc

3


 \�-�]@sdZddlZddlZddlZddlZddlZddlmZddl	Z	dddddd	d
ddd
dddddddddddddgZ
dd�Zdd�Zyddl
TWnLek
r�d Zd!Zd"ZdZd#Zd$Zd%Zd&ZeZd'd
�Z�d�d(d�ZYnXde�kr�eZde�kr�eZeZiZe	j e�d)d
��Zd*d+�Z!�d�d-d.�Z"d/d0�Z#ej$d1�Z%�d�d2d�Z&�d�d3d4�Z'�d�d5d�Z(�d�d7d�Z)d8d
�Zd9d:�Z*e+fd;d�Z,d<d�Z-d=d>�Z.eZ/d?d@�Z0dAdB�Z1dCd�Z2dDdE�Z3dFdG�Z4�d�dJd�Z5efdKd�Z6�d�dLd�ZefdMd	�Z7ej8j9dN��r�d�dOd�Z:n8ye;Wn"e<k
�r6�d�dPd�Z:YnX�d�dQd�Z:dRdRdSdTdTdUdVdWdXdYdSdZd[d\dSdSdSd]d^d_d`d\dadZdbdcd[dddedfdgdTdhdidUdjdkdldmdndodWdXdYdp�,Z=x2e>e=j?��D]"\Z@ZAe@jBdqdr�Z@e=jCe@eA��q�Wdsdsdsdtdudvdwdwdxdydzdzd{d|d}d~d~dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d~d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dRd�dRdRd{d�dRdRd�d�d�d�d�d�d�d�d{d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d{d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d{d�d�d�d�d�d�d�d{d�d{dRd{d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d̐d�d�d�d�d�d�d�d�d�d�d�d�d�d	�d	�d
�dd��d�d
�d
�d
�d
�d
�d�d
�d�d�d�d�d�d�d�d�dd�d�d�d��d�d�d�dd͐d�d�d�d�d�d�d�d�d�d�d�d�d�dd�d�d��d�d�d �d �d �d!�d"�d#�d$�d%�d&�d&�d'�d(�d&�d&�d%�d%d{d�d{d�d{d�d)�d*�d)�d)�d+�d+�d+�d�d�d,�d-�d-�d-�d.�d.�d-�d-�d-�d-�d-�d/�d/�d/�d0�d/�d1�d2�d3�d3�d4�d5�d5�d6�d6�d6�d7�d6�d6�d8�d8�d9�d:�d;�d;�d<�d<�d=�d>�d?�d@�dA�dB�dC�dD�dD�dE�dE�dD�dB�dB�dF�dF�dG�dH�dI�dI�dJ�dK�dL�dM�dN�dN�dO�dP�dQ�dQ�dR�dR�dS�dT�dU�dU�dV�dV�dW�dW�dX�dYd�d��dZ�d[�d\�d]�d^�d_dǐd`d�dǐda�da�db�dc�db�db�db�db�dd�dd�de�de�dc�dc�da�df�df�dg�dh�di�di�dj�dk�dk�dl�dm�dn�do�dp�dq�dp�dr�dr�ds�ds�ds�dt�dudRdR�dv�dv�dw�dt�du�dt�dx�dy�dz�dz�dz�d{�d{�d|�dz�d}�d~�d~�d�d��d��d��d��d��d��d��d��d��d��d��d�d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d�d�d�d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d�d��d��d��d��d��d��d��d��d��d��dddddÐdÐdĐdĐdŐdƐdǐdȐdȐdɐdɐdʐdːd�d��d͐d�d��dϐdϐdАdѐd�d�d��dҐdҐdӐ�LZD�dԐdՐd֐dאdؐdِdڐdېdܐdݐdސdߐd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d��d��d��d��d��d��d��d��d��d��d��d�d�d�d�d�d�d�d�d�d	�d
�d�d�d
�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d �d!�d"�d#�d$�d%�d&�d'�d(�d)�d*�d+�d,�d-�d-�d.�d/�d0�d1�d2�d3�d4�d5�d6�d7�d8�d9�d:�d;�d<�d=�d>�d?�d@�dA�dB�dC�dD�dE�dF�dG�dH�dI�dJ�dK�dL�dM�dN�dO�dP�dQ�dR�dS�dT�dU�dV�dW�dX�dY�dZ�d[�d\�d]�d^�d_�d`�da�db�dc�dd�de�df�de�df�dg�dh�di�dj�dk�dl�dm�dl�dn�do�dp�dq�dr�ds�dt�du�dv�dw�dx�dy�dz�d{�d|�d}�d~�d�d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d���ZE�d��d��ZFyeWne<k
�
r�YnXe
jG�d��eH�d�k�reI�d��eI�eF�eI�eI�d��eI�e.�dS(�a�Locale support module.

The module provides low-level access to the C lib's locale APIs and adds high
level number formatting APIs as well as a locale aliasing engine to complement
these.

The aliasing engine includes support for many commonly used locale names and
maps them to values suitable for passing to the C lib's setlocale() function. It
also includes default encodings for all supported locale names.

�N)�str�	getlocale�getdefaultlocale�getpreferredencoding�Error�	setlocale�resetlocale�
localeconv�strcoll�strxfrmr�atof�atoi�format�
format_string�currency�	normalize�LC_CTYPE�
LC_COLLATE�LC_TIME�LC_MONETARY�
LC_NUMERIC�LC_ALL�CHAR_MAXcCs||k||kS)zZ strcoll(string,string) -> int.
        Compares two strings according to the locale.
    �)�a�brr�/usr/lib64/python3.6/locale.py�_strcoll!srcCs|S)z\ strxfrm(string) -> string.
        Returns a string that behaves for cmp locale-aware.
    r)�srrr�_strxfrm'sr)�*�������cCs,dgddddgddddddddddddd�S)zd localeconv() -> dict.
            Returns numeric and monetary locale-specific parameters.
        r!��.)�grouping�currency_symbol�n_sign_posn�
p_cs_precedes�
n_cs_precedes�mon_grouping�n_sep_by_space�
decimal_point�
negative_sign�
positive_sign�p_sep_by_space�int_curr_symbol�p_sign_posn�
thousands_sep�mon_thousands_sep�frac_digits�mon_decimal_point�int_frac_digitsrrrrrr	?s$cCs|dkrtd��dS)zd setlocale(integer,string=None) -> string.
            Activates/queries locale processing.
        Nr(�Cz*_locale emulation only supports "C" locale)Nr(r<)r)�category�valuerrrrWscCst�}tr|jt�|S)N)�_localeconv�_override_localeconv�update)�drrrr	ls
ccsPd}xF|D]>}|tkrdS|dkr>|dkr2td��x
|Vq4W|V|}q
WdS)Nrzinvalid grouping)r�
ValueError)r*Z
last_interval�intervalrrr�_grouping_intervalszs

rEFc
Cs�t�}||rdpd}||r dp"d}|s2|dfS|d
dkr\|j�}|t|�d�}|}nd}d}g}xNt|�D]B}	|s�|dd	kr�|}d}P|j||	d��|d|	�}qrW|r�|j|�|j�||j|�|t|�t|�dfS)Nr8r7r/r*rr&� r(�
0123456789���rH)r	�rstrip�lenrE�append�reverse�join)
r�monetary�convr7r*�strippedZright_spacesZleft_spaces�groupsrDrrr�_group�s0
rRcCsld}x$|r(||dkr(|d7}|d8}qWt|�d}x$|rZ||dkrZ|d8}|d8}q8W|||d�S)NrrFr&)rJ)rZamountZlposZrposrrr�_strip_padding�srSzG%(?:\((?P<key>.*?)\))?(?P<modifiers>[-#0-9 +*.hlL]*?)[eEfFgGdiouxXcrs%]cGsHtj|�}|s$t|j��t|�kr4tdt|���t||||f|��S)z�Returns the locale-aware substitution of a %? specifier
    (percent).

    additional is for format strings which contain one or more
    '*' modifiers.zHformat() must be given exactly one %%char format specifier, %s not valid)�_percent_re�matchrJ�grouprC�repr�_format)�percentr>r*rN�
additionalrUrrrr�s

c	Gs�|r||f|}n||}|d	dkr~d}|jd�}|rRt|d|d�\|d<}t�|r^dp`d}|j|�}|r�t||�}n2|d
dkr�d}|r�t||d�\}}|r�t||�}|S)Nr&ZeEfFgGrr))rNr:r1ZdiurHrH)�splitrRr	rMrS)	rYr>r*rNrZZ	formattedZseps�partsr1rrrrX�s(


rXc	Csttj|��}tjd|�}t|tj�rlg}x�|D]6}|j�ddkrP|jd�q0|jt	|j�||��q0Wn�t|t
�s||f}g}d}xz|D]r}|j�d	dkr�|jd�q�|jd�jd�}|jt|j�|||df||d|d|����|d|7}q�Wt
|�}||S)
z�Formats a string in the same way that the % formatting would use,
    but takes the current locale into account.
    Grouping is applied if the third parameter is true.z%sr&�%rZ	modifiersr FrHrH)
�listrT�finditer�sub�
isinstance�collections�MappingrVrKr�tuple�countrX)	�f�valr*ZpercentsZnew_fZnew_valZperc�iZ	starcountrrrr�s0


TcCsft�}||rdpd}|dkr&td��td|t|�|dd�}d|d	}|r�||rXd
pZd}||dkrld
pnd}||dkr�dp�d}	|r�||	r�dp�d|}n||	r�dp�d|}||dkr�dp�d}
||dkr�dp�d}|
dkr�d|d}n`|
dk�r||}nL|
dk�r||}n8|
dk�r2|jd|�}n |
dk�rJ|jd	|�}n||}|jdd�jd	d�S)zIFormats val according to the currency settings
    in the current locale.r;r9r!z9Currency formatting is not possible using the 'C' locale.z%%.%ifT)rN�<�>r5r+rr.r-r0r4rFr(r,r6r2r3�(�)r&r'r#r%)r	rCr�abs�replace)rgZsymbolr*Z
internationalrOZdigitsrZsmbZprecedesZ	separatedZsign_posZsignrrrr�s6





cCs
td|�S)z8Convert float to string, taking the locale into account.z%.12g)r)rgrrrr+scCs:t�}|d}|r|j|d�}|d}|r6|j|d�}|S)zHParses a string as a normalized number according to the locale settings.r7r(r1r))r	rn)�stringrO�tsZddrrr�
delocalize/srqcCs|t|��S)z<Parses a string as a float according to the locale settings.)rq)ro�funcrrrr?scCstt|��S)zAConverts a string to an integer according to the locale settings.)�intrq)rorrrr
CscCsBttd�tddd�}t|dt|��td�}t|dt|��dS)Nr(z%di�[r&�isg��Q�	@)rrr�printr
rr)�s1rrr�_testGs

rwcCs�d|kr|d|jd��}n|}tj|�}tjjj|j�|�}|}|j�}|tkr\t|}n(|jdd�}|jdd�}|tkr�t|}|d|S)Nr)�_r(�-)�index�	encodings�normalize_encoding�aliases�get�lower�locale_encoding_aliasrn)�code�encoding�langname�
norm_encodingrrr�_replace_encodingYs

r�cCsR|dkrFd|kr|dS|jd�\}}}|dkr4|S|dkrFt|d�S|d|S)	N�euror)z.ISO8859-15�
ISO8859-15�UTF-8z	ISO8859-1�@)r�r�)�	partitionr�)r��modifierrxr�rrr�_append_modifierps
r�c	Cs�|j�}d|kr|jdd�}d|kr6|jdd�\}}nd}d|krZ|jd�dd�\}}n|}d}|}|r�|jdd�}|jd	d�}|d|7}|}|r�|d|7}tj|d�}|dk	r�|S|�rtj|d�}|dk	�rd|kr�t||�S|jdd�dj�|k�r|S|�r�|}|�r"|d|7}tj|d�}|dk	�rnd|k�rLt||�S|jdd�\}}t||�d|S|�r�tj|d�}|dk	�r�d|k�r�t||�}t||�S|jdd�\}}|j�|k�r�t||�d|S|S)
a� Returns a normalized locale code for the given locale
        name.

        The returned locale code is formatted for use with
        setlocale().

        If normalization fails, the original name is returned
        unchanged.

        If the given encoding is not known, the function defaults to
        the default encoding for the locale code just like setlocale()
        does.

    �:r)r�r&r(Nr'ryrx)rrnr[�locale_aliasr~r�r�)	�
localenamer�r�r�r�Zlang_encr�Zlookup_nameZdefmodrrrr{s`








cCsrt|�}d|kr8|jdd�\}}|dkr8d|kr8|dfSd|krVt|jd�dd��S|dkrbd
Std	|��dS)a� Parses the locale code for localename and returns the
        result as tuple (language code, encoding).

        The localename is normalized and passed through the locale
        alias engine. A ValueError is raised in case the locale name
        cannot be parsed.

        The language code corresponds to RFC 1766.  code and encoding
        can be None in case the values cannot be determined or are
        unknown to this implementation.

    r�r&r�r)ziso-8859-15Nr'r<zunknown locale: %s)NN)rr[rdrC)r�r�r�rrr�_parse_localename�sr�cCsVy0|\}}|dkrd}|dkr"|S|d|SWn ttfk
rPtd��YnXdS)z� Builds a locale code from the given tuple (language code,
        encoding).

        No aliasing or normalizing takes place.

    Nr<r)zXLocale must be None, a string, or an iterable of two strings -- language code, encoding.)�	TypeErrorrC)ZlocaletupleZlanguager�rrr�_build_localename�sr��LANG�LANGUAGEcCs�yddl}|j�\}}Wnttfk
r0Yn8Xtjdkr`|r`|dd�dkr`tjt|d��}||fSddl	}|j
j}x6|D]*}||d�}|r~|dkr�|jd�d}Pq~Wd}t|�S)	a� Tries to determine the default locale settings and returns
        them as tuple (language code, encoding).

        According to POSIX, a program which has not called
        setlocale(LC_ALL, "") runs using the portable 'C' locale.
        Calling setlocale(LC_ALL, "") lets it use the default locale as
        defined by the LANG variable. Since we don't want to interfere
        with the current locale setting we thus emulate the behavior
        in the way described above.

        To maintain compatibility with other platforms, not only the
        LANG variable is tested, but a list of variables given as
        envvars parameter. The first found to be defined will be
        used. envvars defaults to the search path used in GNU gettext;
        it must always contain the variable name 'LANG'.

        Except for the code 'C', the language code corresponds to RFC
        1766.  code and encoding can be None in case the values cannot
        be determined.

    rNZwin32r'Z0xr�r�r<)
�_localeZ_getdefaultlocale�ImportError�AttributeError�sys�platform�windows_localer~rs�os�environr[r�)Zenvvarsr�r�r�r��lookupZvariabler�rrrrs$

cCs(t|�}|tkr d|kr td��t|�S)ap Returns the current setting for the given locale category as
        tuple (language code, encoding).

        category may be one of the LC_* value except LC_ALL. It
        defaults to LC_CTYPE.

        Except for the code 'C', the language code corresponds to RFC
        1766.  code and encoding can be None in case the values cannot
        be determined.

    �;z category LC_ALL is not supported)�
_setlocalerr�r�)r=r�rrrr5s
cCs&|rt|t�rtt|��}t||�S)a^ Set the locale for the given category.  The locale can be
        a string, an iterable of two strings (language code and encoding),
        or None.

        Iterables are converted to strings using the locale aliasing
        engine.  Locale strings are passed directly to the C lib.

        category may be given as one of the LC_* values.

    )ra�_builtin_strrr�r�)r=ZlocalerrrrGscCst|tt���dS)z� Sets the locale for category to the default setting.

        The default setting is determined by calling
        getdefaultlocale(). category defaults to LC_ALL.

    N)r�r�r)r=rrrrXs�wincCsddl}|jd�S)z1Return the charset that the user is likely using.rNF)�_bootlocaler)�do_setlocaler�rrrrdscCst�d}|dkrd}|S)zbReturn the charset that the user is likely using,
            by looking at environment variables.r&N�ascii)r)r��resrrrrns
cCsTddl}|r8tt�}yttd�Wntk
r6YnX|jd�}|rPtt|�|S)zdReturn the charset that the user is likely using,
            according to the system configuration.rNr(F)r�rrrr)r�r�Zoldloc�resultrrrrws

r<z	ISO8859-1ZJIS7ZeucJPzKOI8-CZCP1251ZCP1255ZCP1256z	ISO8859-2z	ISO8859-5z
ISO8859-15z
ISO8859-10z
ISO8859-11z
ISO8859-13z
ISO8859-14z
ISO8859-16z	ISO8859-3z	ISO8859-4z	ISO8859-6z	ISO8859-7z	ISO8859-8z	ISO8859-9ZSJISZTACTISZeucKRzUTF-8zKOI8-RzKOI8-TzKOI8-UZRK1048),�437�c�enZjisZjis7ZajecZkoi8cZmicrosoftcp1251Zmicrosoftcp1255Zmicrosoftcp1256Z88591Z88592Z88595Z885915r��latin_1�	iso8859_1�
iso8859_10�
iso8859_11�
iso8859_13�
iso8859_14�
iso8859_15�
iso8859_16�	iso8859_2�	iso8859_3�	iso8859_4�	iso8859_5�	iso8859_6�	iso8859_7�	iso8859_8�	iso8859_9�
iso2022_jp�	shift_jis�tactis�euc_jp�euc_kr�utf_8�koi8_rZkoi8_tZkoi8_u�kz1048�cp1251�cp1255�cp1256rxr(zaz_AZ.KOI8-Czaa_DJ.ISO8859-1zaa_ER.UTF-8zaa_ET.UTF-8zaf_ZA.ISO8859-1zagr_PE.UTF-8zak_GH.UTF-8zam_ET.UTF-8zen_US.ISO8859-1zan_ES.ISO8859-15zanp_IN.UTF-8zar_AA.ISO8859-6zar_AE.ISO8859-6zar_BH.ISO8859-6zar_DZ.ISO8859-6zar_EG.ISO8859-6zar_IN.UTF-8zar_IQ.ISO8859-6zar_JO.ISO8859-6zar_KW.ISO8859-6zar_LB.ISO8859-6zar_LY.ISO8859-6zar_MA.ISO8859-6zar_OM.ISO8859-6zar_QA.ISO8859-6zar_SA.ISO8859-6zar_SD.ISO8859-6zar_SS.UTF-8zar_SY.ISO8859-6zar_TN.ISO8859-6zar_YE.ISO8859-6zas_IN.UTF-8zast_ES.ISO8859-15zayc_PE.UTF-8zaz_AZ.ISO8859-9Ezaz_IR.UTF-8zbe_BY.CP1251zbe_BY.UTF-8@latinzbg_BG.UTF-8zbem_ZM.UTF-8zber_DZ.UTF-8zber_MA.UTF-8zbg_BG.CP1251zbhb_IN.UTF-8zbho_IN.UTF-8zbho_NP.UTF-8zbi_VU.UTF-8zbn_BD.UTF-8zbn_IN.UTF-8zbo_CN.UTF-8zbo_IN.UTF-8znb_NO.ISO8859-1zbr_FR.ISO8859-1zbrx_IN.UTF-8zbs_BA.ISO8859-2zbyn_ER.UTF-8zfr_CA.ISO8859-1zen_US.UTF-8zca_ES.ISO8859-1zca_AD.ISO8859-1zca_ES.UTF-8@valenciazca_FR.ISO8859-1zca_IT.ISO8859-1zce_RU.UTF-8zzh_CN.eucCNzzh_TW.eucTWzchr_US.UTF-8zckb_IQ.UTF-8zcmn_TW.UTF-8zcrh_UA.UTF-8zhr_HR.ISO8859-2zcs_CZ.ISO8859-2zcsb_PL.UTF-8zcv_RU.UTF-8zcy_GB.ISO8859-1zda_DK.ISO8859-1zde_DE.ISO8859-1zde_AT.ISO8859-1zde_BE.ISO8859-1zde_CH.ISO8859-1zde_IT.ISO8859-1zde_LI.UTF-8zde_LU.ISO8859-1zdoi_IN.UTF-8znl_NL.ISO8859-1znl_BE.ISO8859-1zdv_MV.UTF-8zdz_BT.UTF-8zee_EE.ISO8859-4zet_EE.ISO8859-1zel_GR.ISO8859-7zel_CY.ISO8859-7zel_GR.ISO8859-15zen_AG.UTF-8zen_AU.ISO8859-1zen_BE.ISO8859-1zen_BW.ISO8859-1zen_CA.ISO8859-1zen_DK.ISO8859-1zen_DL.UTF-8zen_GB.ISO8859-1zen_HK.ISO8859-1zen_IE.ISO8859-1zen_IL.UTF-8zen_IN.ISO8859-1zen_NG.UTF-8zen_NZ.ISO8859-1zen_PH.ISO8859-1zen_SC.UTF-8zen_SG.ISO8859-1zen_US.ISO8859-15zen_ZA.ISO8859-1zen_ZM.UTF-8zen_ZW.ISO8859-1zen_ZS.UTF-8zen_EN.ISO8859-1zeo_XX.ISO8859-3zeo.UTF-8zeo_EO.ISO8859-3zeo_US.UTF-8zes_ES.ISO8859-1zes_AR.ISO8859-1zes_BO.ISO8859-1zes_CL.ISO8859-1zes_CO.ISO8859-1zes_CR.ISO8859-1zes_CU.UTF-8zes_DO.ISO8859-1zes_EC.ISO8859-1zes_GT.ISO8859-1zes_HN.ISO8859-1zes_MX.ISO8859-1zes_NI.ISO8859-1zes_PA.ISO8859-1zes_PE.ISO8859-1zes_PR.ISO8859-1zes_PY.ISO8859-1zes_SV.ISO8859-1zes_US.ISO8859-1zes_UY.ISO8859-1zes_VE.ISO8859-1zet_EE.ISO8859-15zeu_ES.ISO8859-1zeu_FR.ISO8859-1zfa_IR.UTF-8zfa_IR.ISIRI-3342zff_SN.UTF-8zfi_FI.ISO8859-15zfil_PH.UTF-8zfi_FI.ISO8859-1zfo_FO.ISO8859-1zfr_FR.ISO8859-1zfr_BE.ISO8859-1zfr_CH.ISO8859-1zfr_LU.ISO8859-1zfur_IT.UTF-8zfy_DE.UTF-8zfy_NL.UTF-8zga_IE.ISO8859-1zgl_ES.ISO8859-1zgd_GB.ISO8859-1zgez_ER.UTF-8zgez_ET.UTF-8zgu_IN.UTF-8zgv_GB.ISO8859-1zha_NG.UTF-8zhak_TW.UTF-8zhe_IL.ISO8859-8zhi_IN.ISCII-DEVzhif_FJ.UTF-8zhne_IN.UTF-8zhsb_DE.ISO8859-2zht_HT.UTF-8zhu_HU.ISO8859-2zhy_AM.UTF-8zhy_AM.ARMSCII_8zia.UTF-8zia_FR.UTF-8zis_IS.ISO8859-1zid_ID.ISO8859-1zig_NG.UTF-8zik_CA.UTF-8zit_IT.ISO8859-1zit_CH.ISO8859-1ziu_CA.NUNACOM-8ziw_IL.UTF-8zja_JP.eucJPz
ja_JP.SJISzka_GE.GEORGIAN-ACADEMYzka_GE.GEORGIAN-PSzkab_DZ.UTF-8z
kk_KZ.ptcp154zkl_GL.ISO8859-1zkm_KH.UTF-8zkn_IN.UTF-8zko_KR.eucKRzkok_IN.UTF-8zks_IN.UTF-8zks_IN.UTF-8@devanagarizku_TR.ISO8859-9zkw_GB.ISO8859-1zky_KG.UTF-8zlb_LU.UTF-8zlg_UG.ISO8859-10zli_BE.UTF-8zli_NL.UTF-8zlij_IT.UTF-8zlt_LT.ISO8859-13zln_CD.UTF-8zlo_LA.MULELAO-1zlo_LA.IBM-CP1133zlv_LV.ISO8859-13zlzh_TW.UTF-8zmag_IN.UTF-8zmai_IN.UTF-8zmai_NP.UTF-8zmfe_MU.UTF-8zmg_MG.ISO8859-15zmhr_RU.UTF-8zmi_NZ.ISO8859-1zmiq_NI.UTF-8zmjw_IN.UTF-8zmk_MK.ISO8859-5zml_IN.UTF-8zmn_MN.UTF-8zmni_IN.UTF-8zmr_IN.UTF-8zms_MY.ISO8859-1zmt_MT.ISO8859-3zmy_MM.UTF-8znan_TW.UTF-8znds_DE.UTF-8znds_NL.UTF-8zne_NP.UTF-8znhn_MX.UTF-8zniu_NU.UTF-8zniu_NZ.UTF-8znl_AW.UTF-8znn_NO.ISO8859-1zno_NO.ISO8859-1zny_NO.ISO8859-1znr_ZA.ISO8859-1znso_ZA.ISO8859-15zoc_FR.ISO8859-1zom_ET.UTF-8zom_KE.ISO8859-1zor_IN.UTF-8zos_RU.UTF-8zpa_IN.UTF-8zpa_PK.UTF-8zpap_AN.UTF-8zpap_AW.UTF-8zpap_CW.UTF-8zpd_US.ISO8859-1zpd_DE.ISO8859-1zph_PH.ISO8859-1zpl_PL.ISO8859-2zpt_PT.ISO8859-1zpt_BR.ISO8859-1zpp_AN.ISO8859-1zps_AF.UTF-8zquz_PE.UTF-8zraj_IN.UTF-8zro_RO.ISO8859-2zru_RU.UTF-8zru_UA.KOI8-Uzru_RU.KOI8-Rzrw_RW.ISO8859-1zsa_IN.UTF-8zsat_IN.UTF-8zsc_IT.UTF-8zsd_IN.UTF-8zsd_IN.UTF-8@devanagarizsd_PK.UTF-8zse_NO.UTF-8zsr_RS.UTF-8@latinzsgs_LT.UTF-8zsr_CS.ISO8859-2zsh_HR.ISO8859-2zshn_MM.UTF-8zshs_CA.UTF-8zsi_LK.UTF-8zsid_ET.UTF-8zsk_SK.ISO8859-2zsl_SI.ISO8859-2zsl_CS.ISO8859-2zsm_WS.UTF-8zso_DJ.ISO8859-1zso_ET.UTF-8zso_KE.ISO8859-1zso_SO.ISO8859-1zsr_CS.ISO8859-5zsq_AL.ISO8859-2zsq_MK.UTF-8zsr_RS.UTF-8zsr_CS.UTF-8@latinzsr_CS.UTF-8zsr_ME.UTF-8zsr_CS.CP1251zss_ZA.ISO8859-1zst_ZA.ISO8859-1zsv_SE.ISO8859-1zsv_FI.ISO8859-1zsw_KE.UTF-8zsw_TZ.UTF-8zszl_PL.UTF-8z
ta_IN.TSCII-0zta_LK.UTF-8ztcy_IN.UTF-8zte_IN.UTF-8ztg_TJ.KOI8-Czth_TH.ISO8859-11zth_TH.TIS620zthe_NP.UTF-8zti_ER.UTF-8zti_ET.UTF-8ztig_ER.UTF-8ztk_TM.UTF-8ztl_PH.ISO8859-1ztn_ZA.ISO8859-15zto_TO.UTF-8ztpi_PG.UTF-8ztr_TR.ISO8859-9ztr_CY.ISO8859-9zts_ZA.ISO8859-1ztt_RU.TATAR-CYRztt_RU.UTF-8@iqtelifzug_CN.UTF-8zuk_UA.KOI8-Uz	en_US.utfzunm_US.UTF-8zur_PK.CP1256zur_IN.UTF-8zuz_UZ.UTF-8zve_ZA.UTF-8z
vi_VN.TCVNzvi_VN.VISCIIzwa_BE.ISO8859-1zwae_CH.UTF-8zwal_ET.UTF-8zwo_SN.UTF-8zxh_ZA.ISO8859-1zyi_US.CP1255zyo_NG.UTF-8zyue_HK.UTF-8zyuw_PG.UTF-8zzh_CN.gb2312z
zh_TW.big5zzh_HK.big5hkscszzh_SG.GB2312z	zh_SG.GBKzzu_ZA.ISO8859-1(LZa3Za3_azz
a3_az.koicZaa_djZaa_erZaa_etZafZaf_zaZagr_peZak_ghZamZam_etZamericanZan_esZanp_in�arZar_aaZar_aeZar_bhZar_dzZar_egZar_inZar_iqZar_joZar_kwZar_lbZar_lyZar_maZar_omZar_qaZar_saZar_sdZar_ssZar_syZar_tnZar_ye�arabic�asZas_inZast_esZayc_peZazZaz_azzaz_az.iso88599eZaz_irZbezbe@latinz
be_bg.utf8Zbe_byzbe_by@latinZbem_zmZber_dzZber_maZbgZbg_bgzbhb_in.utf8Zbho_inZbho_npZbi_vuZbn_bdZbn_inZbo_cnZbo_inZbokmalubokmål�brZbr_frZbrx_inZbsZbs_baZ	bulgarianZbyn_err�zc-frenchzc.asciizc.enz
c.iso88591zc.utf8Zc_czc_c.cZcaZca_adZca_eszca_es@valenciaZca_frZca_itZcatalanZce_ruZcextendz	chinese-sz	chinese-tZchr_usZckb_iqZcmn_twZcrh_uaZcroatianZcsZcs_csZcs_czZcsb_plZcv_ruZcyZcy_gbZczZcz_czZczechZdaZda_dkZdanishZdanskZdeZde_atZde_beZde_chZde_deZde_itz
de_li.utf8Zde_luZdeutschZdoi_inZdutchzdutch.iso88591Zdv_mvZdz_btZeeZee_eeZeestiZelZel_cyZel_grz
el_gr@euror�Zen_agZen_auZen_beZen_bwZen_caZen_dkz
en_dl.utf8Zen_gbZen_hkZen_ieZen_ilZen_inZen_ngZen_nzZen_phz
en_sc.utf8Zen_sgZen_ukZen_uszen_us@euro@euroZen_zaZen_zmZen_zwz
en_zw.utf8Zeng_gbZenglishzenglish.iso88591Z
english_ukzenglish_united-stateszenglish_united-states.437Z
english_usZeozeo.utf8Zeo_eoz
eo_us.utf8Zeo_xxZesZes_arZes_boZes_clZes_coZes_crZes_cuZes_doZes_ecZes_esZes_gtZes_hnZes_mxZes_niZes_paZes_peZes_prZes_pyZes_svZes_usZes_uyZes_veZestonianZetZet_eeZeuZeu_esZeu_frZfaZfa_irzfa_ir.isiri3342Zff_snZfiZfi_fiZfil_phZfinnishZfoZfo_fo�frZfr_beZfr_caZfr_chZfr_frZfr_luu	françaisZfre_frZfrenchzfrench.iso88591Z
french_franceZfur_itZfy_deZfy_nlZgaZga_ieZgalegoZgalicianZgdZgd_gbZger_deZgermanzgerman.iso88591Zgerman_germanyZgez_erZgez_etZglZgl_es�greekZgu_inZgvZgv_gbZha_ngZhak_twZheZhe_il�hebrew�hiZhi_inzhi_in.isciidevZhif_fjZhneZhne_inZhrZhr_hrZhrvatskiZhsb_deZht_htZhuZhu_huZ	hungarianZhy_amzhy_am.armscii8ZiaZia_frZ	icelandic�idZid_idZig_ngZik_ca�inZin_idrtZis_isz
iso-8859-1ziso-8859-15z	iso8859-1z
iso8859-15�
iso_8859_1�iso_8859_15�itZit_chZit_itZitalianZiuZiu_caziu_ca.nunacom8ZiwZiw_ilz
iw_il.utf8ZjaZja_jpz	ja_jp.euczja_jp.mscodez	ja_jp.pckZjapanZjapanesezjapanese-euczjapanese.eucZjp_jpZkaZka_gezka_ge.georgianacademyzka_ge.georgianpszka_ge.georgianrsZkab_dzZkk_kzZklZkl_glZkm_khZknZkn_inZkoZko_krz	ko_kr.eucZkok_in�koreanz
korean.eucZksZks_inzks_in@devanagari.utf8Zku_tr�kwZkw_gbZkyZky_kgZlb_luZlg_ugZli_beZli_nlZlij_itZ
lithuanianZln_cd�loZlo_lazlo_la.cp1133zlo_la.ibmcp1133zlo_la.mulelao1�ltZlt_ltZlvZlv_lvZlzh_twZmag_inZmaiZmai_inZmai_npZmfe_muZmg_mgZmhr_ruZmiZmi_nzZmiq_niZmjw_inZmkZmk_mkZmlZml_inZmn_mnZmni_inZmrZmr_inZmsZms_myZmtZmt_mtZmy_mmZnan_twZnbZnb_noZnds_deZnds_nlZne_npZnhn_mxZniu_nuZniu_nz�nlZnl_awZnl_beZnl_nlZnnZnn_no�noz
no@nynorskZno_nozno_no.iso88591@bokmalzno_no.iso88591@nynorskZ	norwegianZnrZnr_zaZnsoZnso_zaZnyZny_noZnynorskZocZoc_frZom_etZom_ke�orZor_inZos_ruZpaZpa_inZpa_pkZpap_anZpap_awZpap_cwZpdZpd_deZpd_usZphZph_phZplZpl_plZpolishZ
portugueseZportuguese_brazil�posixz
posix-utf2ZppZpp_anZps_afZptZpt_brZpt_ptZquz_peZraj_inZroZro_roZromanianZruZru_ruZru_uaZrumanianZrussianZrwZrw_rwZsa_inZsat_inZsc_itZsdZsd_inzsd_in@devanagari.utf8Zsd_pkZse_noZ
serbocroatianZsgs_ltZshzsh_ba.iso88592@bosniaZsh_hrzsh_hr.iso88592Zsh_spZsh_yuZshn_mmZshs_caZsiZsi_lkZsid_etZsinhalaZskZsk_skZslZsl_csZsl_siZslovakZsloveneZ	slovenianZsm_wsZso_djZso_etZso_keZso_soZspZsp_yuZspanishZ
spanish_spainZsqZsq_alZsq_mk�srzsr@cyrilliczsr@latnZsr_cszsr_cs.iso88592@latnz
sr_cs@latnZsr_meZsr_rsz
sr_rs@latnZsr_spZsr_yuzsr_yu.cp1251@cyrilliczsr_yu.iso88592zsr_yu.iso88595zsr_yu.iso88595@cyrilliczsr_yu.microsoftcp1251@cyrillicz
sr_yu.utf8zsr_yu.utf8@cyrilliczsr_yu@cyrillicZssZss_za�stZst_zaZsvZsv_fiZsv_seZsw_keZsw_tzZswedishZszl_plZtaZta_inzta_in.tsciizta_in.tscii0Zta_lkztcy_in.utf8ZteZte_inZtgZtg_tjZthZth_thzth_th.tactiszth_th.tis620�thaiZthe_npZti_erZti_etZtig_erZtk_tmZtlZtl_phZtnZtn_zaZto_toZtpi_pgZtrZtr_cyZtr_trrpZts_zaZttZtt_ruztt_ru.tatarcyrz
tt_ru@iqtelifZturkishZug_cnZukZuk_uaZunivZ	universalzuniversal.utf8@ucs4Zunm_usZurZur_inZur_pkZuzZuz_uzzuz_uz@cyrillicZveZve_zaZviZvi_vnz
vi_vn.tcvnzvi_vn.tcvn5712zvi_vn.visciizvi_vn.viscii111ZwaZwa_beZwae_chZwal_etZwo_snZxhZxh_zaZyiZyi_usZyo_ngZyue_hkZyuw_pgZzhZzh_cnz
zh_cn.big5z	zh_cn.eucZzh_hkzzh_hk.big5hkZzh_sgz	zh_sg.gbkZzh_twz	zh_tw.euczzh_tw.euctwZzuZzu_zaZaf_ZAZsq_ALZgsw_FRZam_ETZar_SAZar_IQZar_EGZar_LYZar_DZZar_MAZar_TNZar_OMZar_YEZar_SYZar_JOZar_LBZar_KWZar_AEZar_BHZar_QAZhy_AMZas_INZaz_AZZba_RUZeu_ESZbe_BYZbn_INZbs_BAZbr_FRZbg_BGZca_ESZzh_CHSZzh_TWZzh_CNZzh_HKZzh_SGZzh_MOZzh_CHTZco_FRZhr_HRZhr_BAZcs_CZZda_DKZgbz_AFZdiv_MVZnl_NLZnl_BEZen_USZen_GBZen_AUZen_CAZen_NZZen_IEZen_ZAZen_JAZen_CBZen_BZZen_TTZen_ZWZen_PHZen_INZen_MYZet_EEZfo_FOZfil_PHZfi_FIZfr_FRZfr_BEZfr_CAZfr_CHZfr_LUZfr_MCZfy_NLZgl_ESZka_GEZde_DEZde_CHZde_ATZde_LUZde_LIZel_GRZkl_GLZgu_INZha_NGZhe_ILZhi_INZhu_HUZis_ISZid_IDZiu_CAZga_IEZit_ITZit_CHZja_JPZkn_INZkk_KZZkh_KHZqut_GTZrw_RWZkok_INZko_KRZky_KGZlo_LAZlv_LVZlt_LTZdsb_DEZlb_LUZmk_MKZms_MYZms_BNZml_INZmt_MTZmi_NZZarn_CLZmr_INZmoh_CAZmn_MNZmn_CNZne_NPZnb_NOZnn_NOZoc_FRZor_INZps_AFZfa_IRZpl_PLZpt_BRZpt_PTZpa_INZquz_BOZquz_ECZquz_PEZro_ROZrm_CHZru_RUZsmn_FIZsmj_NOZsmj_SEZse_NOZse_SEZse_FIZsms_FIZsma_NOZsma_SEZsa_INZsr_SPZsr_BAZsi_LKZns_ZAZtn_ZAZsk_SKZsl_SIZes_ESZes_MXZes_GTZes_CRZes_PAZes_DOZes_VEZes_COZes_PEZes_ARZes_ECZes_CLZes_URZes_PYZes_BOZes_SVZes_HNZes_NIZes_PRZes_USZsw_KEZsv_SEZsv_FIZsyr_SYZtg_TJZtmz_DZZta_INZtt_RUZte_INZth_THZbo_BTZbo_CNZtr_TRZtk_TMZug_CNZuk_UAZwen_DEZur_PKZur_INZuz_UZZvi_VNZcy_GBZwo_SNZxh_ZAZsah_RUZii_CNZyo_NGZzu_ZA)�i6ii�i^iiiiiiii i$i(i,i0i4i8i<i@i+iMi,i,imi-i#iEi ii~iir%iiiiii|i�iiiii�ieiii	i	i	i	i	i	i	i	 i	$i	(i	,i	0i	4i	@i	Di	Hi%i8idiiiiiiiibiVi7iiiiiiioiGihi
i9iii!i]i]i<iiiiKi?iSi�i�iWii@iTi&i'i.ini/i>i>iLi:i�iziNi|iPiPiaiii�iHici)iiiiFikikikiiii;$i;i;i;i;i;i; i;i;iOiiiii[ili2ii$i
i
i
i
i
i
i
i
 i
$i
(i
,i
0i
4i
8i
<i
@i
Di
Hi
Li
Pi
TiAiiiZi(i_iIiDiJiiQiQiiBi�i"i.i i iCiCi*iRi�i4i�ixiji5c
Cs�i}|fdd�}|�|d=td�tdd�t�\}}td|pDd�td	|pRd�t�td
�tdd�xL|j�D]@\}}t|d�t|�\}}td|p�d�td
|p�d�t�qzWt�td�tdd�t�xP|j�D]D\}}t|d�t|�\}}td|�pd�td
|�p"d�t�q�Wyttd�Wn$td�td�td�YnpXt�td�tdd�xR|j�D]F\}}t|d�t|�\}}td|�p�d�td
|�p�d�t��q�WdS)z Test function.
    cSs4x.t�j�D] \}}|dd�dkr|||<qWdS)Nr#ZLC_)�globals�items)�
categories�k�vrrr�_init_categories�sz'_print_locale.<locals>._init_categoriesrz4Locale defaults as determined by getdefaultlocale():ry�Hz
Language: z(undefined)z
Encoding: zLocale settings on startup:z...z
   Language: z
   Encoding: z,Locale settings after calling resetlocale():r(zNOTE:z9setlocale(LC_ALL, "") does not support the default localez&given in the OS environment variables.z4Locale settings after calling setlocale(LC_ALL, ""):N)rurr�rrrr)r�r�Zlang�enc�namer=rrr�
_print_locale{sV





r��LC_MESSAGES�__main__zLocale aliasing:zNumber formatting:)N)F)FF)FF)F)TFF�rrr�r�)r�)N)T)T)T)J�__doc__r�r{Zencodings.aliases�rerb�builtinsrr��	functools�__all__rrr�r�rrrrr�rrrrCrr	rr�rr
r?r@�wrapsrErRrS�compilerTrrXrrrq�floatrr
rwr�r�r�rr�r�rrrr��
startswithr�CODESET�	NameErrorr��sortedr�r�r�rn�
setdefaultr�r�r�rK�__name__rurrrr�<module>s4


	



"-S5
	"}: