????
Your IP : 3.17.177.21
B
� fo1�M@s4dZddlZddlZddlZddlZddlZddlmZddl Z dddddd d
ddd
dddddddddddddgZ
dd�Zdd�Zyddl
TWnLek
r�d Zd!Zd"ZdZd#Zd$Zd%Zd&ZeZd'd
�Z�d�d(d�ZYnXde�kr�eZde�kr�eZeZiZe � e�d)d
��Zd*d+�Z!�d�d-d.�Z"d/d0�Z#e�$d1�Z%�d�d2d3�Z&�d�d4d�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�dId�Z5efdJd�Z6�d�dKd�ZefdLd �Z7ej8�9dM��r�d�dNd�Z:nRye;Wn<e<k
�rPe=edO��r@�d�dPd�Z:n�d�dQd�Z:YnX�d�dRd�Z:dSdSdTdUdUdVdWdXdYdZdTd[d\d]dTdTdTd^d_d`dad]dbd[dcddd\dedfdgdhdUdidjdVdkdldmdndodpdXdYdZdq�,Z>x2e?e>�@��D]"\ZAZBeA�Cdrds�ZAe>�DeAeB��q�Wdtdtdtdudvdwdxdxdydzd{d{d|d}d~ddd�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�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dSd�dSdSd|d�dSdSd�d�d�d�d�d�d�d�d|d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d|d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d|d�d�d�d�d�d�d�d|d�d|dSd|d�d�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�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.�d0�d0�d0�d1�d0�d2�d3�d4�d4�d5�d6�d6�d7�d7�d7�d8�d7�d7�d9�d9�d:�d;�d<�d<�d=�d=�d>�d?�d@�dA�dB�dC�dD�dE�dE�dF�dF�dE�dC�dC�dG�dG�dH�dI�dJ�dJ�dK�dL�dM�dN�dO�dO�dP�dQ�dR�dR�dS�dS�dT�dU�dV�dV�dW�dW�dX�dX�dY�dZd�d��d[�d\�d]�d^�d_�d`dȐdad�dȐdb�db�dc�dd�dc�dc�dc�dc�de�de�df�df�dd�dd�db�dg�dg�dh�di�dj�dj�dk�dl�dl�dm�dn�do�dp�dq�dr�dq�ds�ds�dt�dt�dt�du�dvdSdS�dw�dw�dx�du�dv�du�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��d��d��d��d��d��d��d��d��d��d��d��d�d�d�d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d�d��d��d��d��d��d��d��d��dddÐdÐdÐdÐdĐdĐdŐdŐdƐdǐdȐdɐdɐdʐdʐdːd̐d�d��dΐd�d��dАdАdѐdҐd�d�d��dӐdӐdԐ�LZE�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
�d�d�d
�d�d�d�d�d�d�d�d�d�d�d�d�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�dg�df�dg�dh�di�dj�dk�dl�dm�dn�dm�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��d���ZF�d��d��ZGyeWne<k
�
r�YnXe
�H�d��eI�d�k�r0eJ�d��eJ�eG�eJ�eJ�d��eJ�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�+/opt/alt/python37/lib64/python3.7/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" localer<)r)�category�valuerrrrWscCst�}tr|�t�|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|ddkr\|��}|t|�d�}|}nd}d}g}xLt|�D]@} |r�|dd kr�|}d}P|�|| d��|d| �}qrW|r�|�|�|��||�|�|t|�t|�d
fS)Nr8r7r/r*r���� r(�
0123456789r&)r �rstrip�lenrE�append�reverse�join)
r�monetary�convr7r*�strippedZright_spacesZleft_spaces�groupsrDrrr�_group�s0
rRcCsld}x$|r(||dkr(|d7}|d8}qWt|�d}x$|rZ||dkrZ|d8}|d8}q8W|||d�S)NrrGr&)rJ)rZamountZlposZrposrrr�_strip_padding�srSzG%(?:\((?P<key>.*?)\))?(?P<modifiers>[-#0-9 +*.hlL]*?)[eEfFgGdiouxXcrs%]c Gs�|r||f|}n||}|ddkr~d}|�d�}|rRt|d|d�\|d<}t�|r^dp`d}|�|�}|r�t||�}n2|ddkr�d}|r�t||d�\}}|r�t||�}|S) NrFZeEfFgGrr))rNr:r1Zdiu)�splitrRr rMrS) �percentr>r*rN�
additionalZ formattedZseps�partsr1rrr�_format�s(
rXc
Cstt�|��}t�d|�}t|tj�rng}x�|D]8}|��ddkrP|�d�q0|�t |��|||��q0Wn�t|t
�s~|f}g}d}xz|D]r}|��ddkr�|�d�q�|�d��d�} |�t |��||||f||d|d| ����|d| 7}q�Wt
|�}||S)aFormats 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.
Conversion uses monetary thousands separator and grouping strings if
forth parameter monetary is true.z%srF�%rZ modifiersr r&)�list�_percent_re�finditer�sub�
isinstance�_collections_abc�Mapping�grouprKrX�tuple�count)
�f�valr*rNZpercentsZnew_fZnew_valZperc�iZ starcountrrrr�s0
cGs^ddl}|jdtdd�t�|�}|r:t|���t|�krJtdt|���t ||||f|��S)z&Deprecated, use format_string instead.rNz`This method will be removed in a future version of Python. Use 'locale.format_string()' instead.r')�
stacklevelzHformat() must be given exactly one %%char format specifier, %s not valid)
�warnings�warn�DeprecationWarningr[�matchrJrarC�reprrX)rUr>r*rNrVrhrkrrrr�s
TcCsft�}||rdpd}|dkr&td��td|t|�|dd�}d|d }|r�||rXd
pZd}||dkrld
pnd}||dkr�dp�d} |r�|| r�dp�d|}n|| r�dp�d|}||dkr�dp�d}
||dkr�dp�d}|
dkr�d|d}n`|
dk�r||}nL|
dk�r||}n8|
dk�r2|�d|�}n |
dk�rJ|�d |�}n||}|�dd��d 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-r0r4rGr(r,r6r2r3�(�)r&r'r#r%)r rCrX�abs�replace)reZsymbolr*Z
internationalrOZdigitsrZsmbZprecedesZ separatedZsign_posZsignrrrrs6
cCs
td|�S)z8Convert float to string, taking the locale into account.z%.12g)rX)rerrrr0scCs:t�}|d}|r|�|d�}|d}|r6|�|d�}|S)zHParses a string as a normalized number according to the locale settings.r7r(r1r))r rr)�stringrO�tsZddrrr�
delocalize4srucCs|t|��S)z<Parses a string as a float according to the locale settings.)ru)rs�funcrrrrDscCstt|��S)zAConverts a string to an integer according to the locale settings.)�intru)rsrrrr
HscCsBttd�tddd�}t|dt|��td�}t|dt|��dS)Nr(z%di�[r&�isg��Q� @)rrr�printr
rr)�s1rrr�_testLs
r{cCs�d|kr|d|�d��}n|}t�|�}tjj�|��|�}|}|��}|tkr\t|}n(|�dd�}|�dd�}|tkr�t|}|d|S)Nr)�_r(�-)�index� encodings�normalize_encoding�aliases�get�lower�locale_encoding_aliasrr)�code�encoding�langname�
norm_encodingrrr�_replace_encoding^s
r�cCsR|dkrFd|kr|dS|�d�\}}}|dkr4|S|dkrFt|d�S|d|S)N�euror)z.ISO8859-15)z
ISO8859-15zUTF-8z ISO8859-1z
ISO8859-15�@)� partitionr�)r��modifierr|r�rrr�_append_modifierus
r�c Cs�|��}d|kr|�dd�}d|kr6|�dd�\}}nd}d|krZ|�d�dd�\}}n|}d}|}|r�|�dd�}|�d d�}|d|7}|}|r�|d|7}t�|d�}|dk r�|S|�rt�|d�}|dk �rd|kr�t||�S|�dd�d��|k�r|S|�r�|}|�r"|d|7}t�|d�}|dk �rnd|k�rLt||�S|�dd�\}}t||�d|S|�r�t�|d�}|dk �r�d|k�r�t||�}t||�S|�dd�\}}|��|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'r}r|)r�rrrT�locale_aliasr�r�r�) �
localenamer�r�r�r�Zlang_encr�Zlookup_nameZdefmodrrrr�s`
cCs~t|�}d|kr8|�dd�\}}|dkr8d|kr8|dfSd|krVt|�d�dd��S|dkrbd S|d
krndStd|��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<)NNzUTF-8)NzUTF-8zunknown locale: %s)rrTrbrC)r�r�r�rrr�_parse_localename�sr�c CsXy0|\}}|dkrd}|dkr"|S|d|SWn"ttfk
rRtd�d�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��rrZLANG�LANGUAGEc Cs�yddl}|��\}}Wnttfk
r0Yn8Xtjdkr`|r`|dd�dkr`t�t|d��}||fSddl }|j
j}x6|D]*}||d�}|r~|dkr�|�d�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�rw�os�environrTr�)Zenvvarsr�r�r�r��lookupZvariabler�rrrr
s$
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�rrrr?s
cCs$|rt|t�stt|��}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.
)r^�_builtin_strrr�r�)r=ZlocalerrrrQscCst|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=rrrrbs�wincCstjjrdSddl}|�d�S)z1Return the charset that the user is likely using.zUTF-8rNF)r��flags� utf8_mode�_bootlocaler)�do_setlocaler�rrrrnsZgetandroidapilevelcCsdS)NzUTF-8r)r�rrrr|scCs&tjjrdSt�d}|dkr"d}|S)zfReturn the charset that the user is likely using,
by looking at environment variables.zUTF-8r&N�ascii)r�r�r�r)r�Zresrrrr�s
cCs`tjjrdSddl}|rDtt�}yttd�Wntk
rBYnX|�d�}|r\tt|�|S)zdReturn the charset that the user is likely using,
according to the system configuration.zUTF-8rNr(F)r�r�r�r�rrrr)r�r�Zoldloc�resultrrrr�s
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�cp1256r|r(zaz_AZ.KOI8-Czaa_DJ.ISO8859-1zaa_ER.UTF-8zaa_ET.UTF-8zaf_ZA.ISO8859-1zagr_PE.UTF-8zak_GH.UTF-8zam_ET.UTF-8zen_US.ISO8859-1zan_ES.ISO8859-15zanp_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-15zayc_PE.UTF-8zaz_AZ.ISO8859-9Ezaz_IR.UTF-8zbe_BY.CP1251zbe_BY.UTF-8@latinzbg_BG.UTF-8zbem_ZM.UTF-8zber_DZ.UTF-8zber_MA.UTF-8zbg_BG.CP1251zbhb_IN.UTF-8zbho_IN.UTF-8zbho_NP.UTF-8zbi_VU.UTF-8zbn_BD.UTF-8zbn_IN.UTF-8zbo_CN.UTF-8zbo_IN.UTF-8znb_NO.ISO8859-1zbr_FR.ISO8859-1zbrx_IN.UTF-8zbs_BA.ISO8859-2zbyn_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.eucTWzchr_US.UTF-8zckb_IQ.UTF-8zcmn_TW.UTF-8zcrh_UA.UTF-8zhr_HR.ISO8859-2zcs_CZ.ISO8859-2zcsb_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-1zdoi_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-15zfil_PH.UTF-8zfi_FI.ISO8859-1zfo_FO.ISO8859-1zfr_FR.ISO8859-1zfr_BE.ISO8859-1zfr_CH.ISO8859-1zfr_LU.ISO8859-1zfur_IT.UTF-8zfy_DE.UTF-8zfy_NL.UTF-8zga_IE.ISO8859-1zgl_ES.ISO8859-1zgd_GB.ISO8859-1zgez_ER.UTF-8zgez_ET.UTF-8zgu_IN.UTF-8zgv_GB.ISO8859-1zha_NG.UTF-8zhak_TW.UTF-8zhe_IL.ISO8859-8zhi_IN.ISCII-DEVzhif_FJ.UTF-8zhne_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-PSzkab_DZ.UTF-8z
kk_KZ.ptcp154zkl_GL.ISO8859-1zkm_KH.UTF-8zkn_IN.UTF-8zko_KR.eucKRzkok_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-8zlij_IT.UTF-8zlt_LT.ISO8859-13zln_CD.UTF-8zlo_LA.MULELAO-1zlo_LA.IBM-CP1133zlv_LV.ISO8859-13zlzh_TW.UTF-8zmag_IN.UTF-8zmai_IN.UTF-8zmai_NP.UTF-8zmfe_MU.UTF-8zmg_MG.ISO8859-15zmhr_RU.UTF-8zmi_NZ.ISO8859-1zmiq_NI.UTF-8zmjw_IN.UTF-8zmk_MK.ISO8859-5zml_IN.UTF-8zmn_MN.UTF-8zmni_IN.UTF-8zmr_IN.UTF-8zms_MY.ISO8859-1zmt_MT.ISO8859-3zmy_MM.UTF-8znan_TW.UTF-8znds_DE.UTF-8znds_NL.UTF-8zne_NP.UTF-8znhn_MX.UTF-8zniu_NU.UTF-8zniu_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-8zpap_AN.UTF-8zpap_AW.UTF-8zpap_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-8zquz_PE.UTF-8zraj_IN.UTF-8zro_RO.ISO8859-2zru_RU.UTF-8zru_UA.KOI8-Uzru_RU.KOI8-Rzrw_RW.ISO8859-1zsa_IN.UTF-8zsat_IN.UTF-8zsc_IT.UTF-8zsd_IN.UTF-8zsd_IN.UTF-8@devanagarizsd_PK.UTF-8zse_NO.UTF-8zsr_RS.UTF-8@latinzsgs_LT.UTF-8zsr_CS.ISO8859-2zsh_HR.ISO8859-2zshn_MM.UTF-8zshs_CA.UTF-8zsi_LK.UTF-8zsid_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-8zsr_CS.CP1251zss_ZA.ISO8859-1zst_ZA.ISO8859-1zsv_SE.ISO8859-1zsv_FI.ISO8859-1zsw_KE.UTF-8zsw_TZ.UTF-8zszl_PL.UTF-8z
ta_IN.TSCII-0zta_LK.UTF-8ztcy_IN.UTF-8zte_IN.UTF-8ztg_TJ.KOI8-Czth_TH.ISO8859-11zth_TH.TIS620zthe_NP.UTF-8zti_ER.UTF-8zti_ET.UTF-8ztig_ER.UTF-8ztk_TM.UTF-8ztl_PH.ISO8859-1ztn_ZA.ISO8859-15zto_TO.UTF-8ztpi_PG.UTF-8ztr_TR.ISO8859-9ztr_CY.ISO8859-9zts_ZA.ISO8859-1ztt_RU.TATAR-CYRztt_RU.UTF-8@iqtelifzug_CN.UTF-8zuk_UA.KOI8-Uz en_US.utfzunm_US.UTF-8zur_PK.CP1256zur_IN.UTF-8zuz_UZ.UTF-8zve_ZA.UTF-8z
vi_VN.TCVNzvi_VN.VISCIIzwa_BE.ISO8859-1zwae_CH.UTF-8zwal_ET.UTF-8zwo_SN.UTF-8zxh_ZA.ISO8859-1zyi_US.CP1255zyo_NG.UTF-8zyue_HK.UTF-8zyuw_PG.UTF-8zzh_CN.gb2312z
zh_TW.big5zzh_HK.big5hkscszzh_SG.GB2312z zh_SG.GBKzzu_ZA.ISO8859-1(LZa3Za3_azz
a3_az.koicZaa_djZaa_erZaa_etZafZaf_zaZagr_peZak_ghZamZam_etZamericanZan_esZanp_inZarZar_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_idrxZis_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.euczja_jp.mscodez ja_jp.pckZjapanZjapanesezjapanese-euczjapanese.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_lazlo_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_noZnoz
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.tsciizta_in.tscii0Zta_lkztcy_in.utf8ZteZte_inZtgZtg_tjZthZth_thzth_th.tactiszth_th.tis620�thaiZthe_npZti_erZti_etZtig_erZtk_tmZtlZtl_phZtnZtn_zaZto_toZtpi_pgZtrZtr_cyZtr_trrtZts_zaZttZtt_ruztt_ru.tatarcyrz
tt_ru@iqtelifZturkishZug_cnZukZuk_uaZunivZ universalzuniversal.utf8@ucs4Zunm_usZurZur_inZur_pkZuzZuz_uzzuz_uz@cyrillicZveZve_zaZviZvi_vnz
vi_vn.tcvnzvi_vn.tcvn5712zvi_vn.visciizvi_vn.viscii111ZwaZwa_beZwae_chZwal_etZwo_snZxhZxh_zaZyiZyi_usZyo_ngZyue_hkZyuw_pgZzhZzh_cnz
zh_cn.big5z zh_cn.eucZzh_hkzzh_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^iiiiiiii i$i(i,i0i4i8i<i@i+iMi,i,imi-i#iEi ii~iir%iiiiii|i�iiiii�ieiii i i i i i i i i $i (i ,i 0i 4i @i Di Hi%i8idiiiiiiiibiVi7iiiiiiioiGihi
i9iii!i]i]i<iiiiKi?iSi�i�iWii@iTi&i'i.ini/i>i>iLi:i�iziNi|iPiPiaiii�iHici)iiiiFikikikiiii;$i;i;i;i;i;i; i;i;iOiiiii[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�ixiji5cCs�i}|fdd�}|�|d=td�td�t�\}}td|p@d�td|pNd�t�td �td�xL|��D]@\}}t|d
�t|�\}}td|p�d�td|p�d�t�qrWt�td
�td�t�xP|��D]D\}}t|d
�t|�\}}td|�pd�td|�pd�t�q�Wyttd�Wn$td�td�td�YnlXt�td�td�xR|��D]F\}}t|d
�t|�\}}td|�p�d�td|�p�d�t��qxWdS)z Test function.
cSs4x.t���D] \}}|dd�dkr|||<qWdS)Nr#ZLC_)�globals�items)�
categories�k�vrrr�_init_categories�sz'_print_locale.<locals>._init_categoriesrz4Locale defaults as determined by getdefaultlocale():zH------------------------------------------------------------------------z
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)ryrr�rrrr)r�r�Zlang�enc�namer=rrr�
_print_locale�sV
r��LC_MESSAGES�__main__zLocale aliasing:zNumber formatting:)N)F)FF)FF)FF)TFF)r�)N)T)T)T)T)K�__doc__r�rZencodings.aliases�rer_�builtinsrr�� functools�__all__rrr�r�rrrrr�rrrrCrr rr�rr
r?r@�wrapsrErRrS�compiler[rXrrrru�floatrr
r{r�r�r�rr�r�rrrr��
startswithr�CODESET� NameError�hasattrr��sortedr�r�r�rr�
setdefaultr�r�r�rK�__name__ryrrrr�<module>s8
%-S"5
$}: