U e5do1�M@s*ddlZddlZddlZddlZddlZddlmZddlZddddddd d d d d ddddddddddddgZ dd�Z dd�Z z ddl TWnLe k r�dZd Zd!ZdZd"Zd#Zd$Zd%ZeZd&d �Z�d�d'd�ZYnXd e�kr�e Zd e�kr�e ZeZiZe�e�d(d ��Zd)d*�Z �d�d,d-�Z!d.d/�Z"e�#d0�Z$�d�d1d2�Z%�d�d3d�Z&�d�d4d�Z'�d�d6d�Z(d7d �Zd8d9�Z)e*fd:d �Z+d;d�Z,dd?�Z/d@dA�Z0dBd�Z1dCdD�Z2dEdF�Z3�d�dHd�Z4efdId�Z5�d�dJd�ZefdKd�Z6ej7�8dL��r�d�dMd�Z9nRze:Wn<e;k �rLee=�?��D]"\Z@ZAe@�Bdqdr�Z@e=�Ce@eA��q�dsdsdsdtdudvdwdwdxdydzdzd{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 �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�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��ZFzeWne;k � r�YnXe �G�d��eH�d�k�r&eI�d��eI�eF�eI�eI�d��eI�e-�dS(��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�N�)�a�brr�/usr/lib64/python3.8/locale.py�_strcoll!srcCs|Srr)�srrr�_strxfrm'sr )�*�������cCs,dgddddgddddddddddddd�S)Nr"��.)�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)N)Nr)�Cz*_locale emulation only supports "C" localer=)r)�category�valuerrrrWscCst�}tr|�t�|Sr)� _localeconv�_override_localeconv�update)�drrrr ls ccsJd}|D]<}|tkrdS|dkr:|dkr2td��|Vq2|V|}qdS)Nrzinvalid grouping)r� ValueError)r+Z last_interval�intervalrrr�_grouping_intervalszsrFFc Cs�t�}||rdpd}||r dp"d}|s2|dfS|ddkr\|��}|t|�d�}|}nd}d}g}t|�D]B} |r�|dd kr�|}d}q�|�|| d��|d| �}qp|r�|�|�|��||�|�|t|�t|�d fS) Nr9r8r0r+r������ r)� 0123456789r')r �rstrip�lenrF�append�reverse�join) r�monetary�convr8r+�strippedZ right_spacesZ left_spaces�groupsrErrr�_group�s2   �rScCsdd}|r&||dkr&|d7}|d8}qt|�d}|rT||dkrT|d8}|d8}q2|||d�S)NrrHr')rK)rZamountZlposZrposrrr�_strip_padding�s   rTzG%(?:\((?P.*?)\))?(?P[-#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) NrGZeEfFgGrr*�rOr;r2Zdiu)�splitrSr rNrT) �percentr?r+rO� additionalZ formattedZseps�partsr2rrr�_format�s*   �    rZc Cs tt�|��}t�d|�}t|tj�rjg}|D]8}|��ddkrN|�d�q.|�t |��|||��q.n�t|t �sz|f}g}d}|D]r}|��ddkr�|�d�q�|�d�� d�} |�t |��||||f||d|d| ����|d| 7}q�t |�}||S)Nz%srG�%rZ modifiersr!r') �list� _percent_re�finditer�sub� isinstance�_collections_abc�Mapping�grouprLrZ�tuple�count) �f�valr+rOZpercentsZnew_fZnew_valZperc�iZ starcountrrrr�s4      ��cGs^ddl}|jdtdd�t�|�}|r:t|���t|�krJtdt|���t ||||f|��S)Nrz`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]�matchrKrcrD�reprrZ)rWr?r+rOrXrjrmrrrr�s� �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|�d| �}n | dk�rJ|�d | �}n| |}|�dd��d d�S)Nr<r:r"z9Currency formatting is not possible using the 'C' locale.z%%.%ifTrU�<�>r6r,rr/r.r1r5rHr)r-r7r3r4�(�)r'r(r$r&)r rDrZ�abs�replace) rgZsymbolr+Z internationalrPZdigitsrZsmbZprecedesZ separatedZsign_posZsignrrrrs6       cCs td|�S)Nz%.12g)rZ)rgrrrr0scCs:t�}|d}|r|�|d�}|d}|r6|�|d�}|S)Nr8r)r2r*)r rt)�stringrP�tsZddrrr� delocalize4s  rwcCs |t|��Sr)rw)ru�funcrrrr DscCs tt|��Sr)�intrw)rurrrr 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_aliasrt)�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)� ISO8859-15�UTF-8� ISO8859-1r��@)� 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�}|�dd�}|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) N�:r*r�r'r)r(rr~)r�rtrV� locale_aliasr�r�r�) � localenamer�r�r�r�Zlang_encr�Z lookup_nameZdefmodrrrr�s`                   cCs~t|�}d|kr8|�dd�\}}|dkr8d|kr8|dfSd|krVt|�d�dd��S|dkrbdS|d krnd Std |��dS) Nr�r'r�r*� iso-8859-15r(r=)NNr��Nr�zunknown locale: %s)rrVrdrD)r�r�r�rrr�_parse_localename�sr�c Cs\z4|\}}|dkrd}|dkr$|WS|d|WSWn"ttfk rVtd�d�YnXdS)Nr=r*zXLocale must be None, a string, or an iterable of two strings -- language code, encoding.)� TypeErrorrD)Z localetupleZlanguager�rrr�_build_localename�s�r��rrZLANG�LANGUAGEc Cs�zddl}|��\}}Wnttfk r0Yn8Xtjdkr`|r`|dd�dkr`t�t|d��}||fSddl }|j j}|D],}||d�}|r||dkr�|� d�d}q�q|d}t |�S)NrZwin32r(Z0xr�r�r=) �_localeZ_getdefaultlocale� ImportError�AttributeError�sys�platform�windows_localer�ry�os�environrVr�)Zenvvarsr�r�r�r��lookupZvariabler�rrrr s$ cCs(t|�}|tkr d|kr td��t|�S)N�;z category LC_ALL is not supported)� _setlocalerr�r�)r>r�rrrr?s cCs$|rt|t�stt|��}t||�Sr)r`� _builtin_strrr�r�)r>ZlocalerrrrQs  cCst|tt���dSr)r�r�r)r>rrrrbs�wincCstjjr dSddl}|�d�S)Nr�rF)r��flags� utf8_mode� _bootlocaler)� do_setlocaler�rrrrnsZgetandroidapilevelcCsdSr�r)r�rrrr|scCs&tjjr dSt�d}|dkr"d}|S)Nr�r'�ascii)r�r�r�r)r��resrrrr�s  cCs`tjjr dSddl}|rDtt�}zttd�Wntk rBYnX|�d�}|r\tt|�|S)Nr�rr)F)r�r�r�r�rrrr)r�r�Zoldloc�resultrrrr�s  r=r�ZJIS7ZeucJPzKOI8-CZCP1251ZCP1255ZCP1256z ISO8859-2z ISO8859-5r�z ISO8859-10z ISO8859-11z ISO8859-13z ISO8859-14z ISO8859-16z ISO8859-3z ISO8859-4z ISO8859-6z ISO8859-7z ISO8859-8z ISO8859-9ZSJISZTACTISZeucKRr�zKOI8-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)z az_AZ.KOI8-Czaa_DJ.ISO8859-1z aa_ER.UTF-8z aa_ET.UTF-8zaf_ZA.ISO8859-1z agr_PE.UTF-8z ak_GH.UTF-8z am_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-6z ar_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-6z ar_SS.UTF-8zar_SY.ISO8859-6zar_TN.ISO8859-6zar_YE.ISO8859-6z as_IN.UTF-8zast_ES.ISO8859-15z ayc_PE.UTF-8zaz_AZ.ISO8859-9Ez az_IR.UTF-8z be_BY.CP1251zbe_BY.UTF-8@latinz bg_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-8z bi_VU.UTF-8z bn_BD.UTF-8z bn_IN.UTF-8z bo_CN.UTF-8z bo_IN.UTF-8znb_NO.ISO8859-1zbr_FR.ISO8859-1z brx_IN.UTF-8zbs_BA.ISO8859-2z byn_ER.UTF-8zfr_CA.ISO8859-1z en_US.UTF-8zca_ES.ISO8859-1zca_AD.ISO8859-1zca_ES.UTF-8@valenciazca_FR.ISO8859-1zca_IT.ISO8859-1z ce_RU.UTF-8z zh_CN.eucCNz zh_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-8z cv_RU.UTF-8zcy_GB.ISO8859-1zda_DK.ISO8859-1zde_DE.ISO8859-1zde_AT.ISO8859-1zde_BE.ISO8859-1zde_CH.ISO8859-1zde_IT.ISO8859-1z de_LI.UTF-8zde_LU.ISO8859-1z doi_IN.UTF-8znl_NL.ISO8859-1znl_BE.ISO8859-1z dv_MV.UTF-8z dz_BT.UTF-8zee_EE.ISO8859-4zet_EE.ISO8859-1zel_GR.ISO8859-7zel_CY.ISO8859-7zel_GR.ISO8859-15z en_AG.UTF-8zen_AU.ISO8859-1zen_BE.ISO8859-1zen_BW.ISO8859-1zen_CA.ISO8859-1zen_DK.ISO8859-1z en_DL.UTF-8zen_GB.ISO8859-1zen_HK.ISO8859-1zen_IE.ISO8859-1z en_IL.UTF-8zen_IN.ISO8859-1z en_NG.UTF-8zen_NZ.ISO8859-1zen_PH.ISO8859-1z en_SC.UTF-8zen_SG.ISO8859-1zen_US.ISO8859-15zen_ZA.ISO8859-1z en_ZM.UTF-8zen_ZW.ISO8859-1z en_ZS.UTF-8zen_EN.ISO8859-1zeo_XX.ISO8859-3zeo.UTF-8zeo_EO.ISO8859-3z eo_US.UTF-8zes_ES.ISO8859-1zes_AR.ISO8859-1zes_BO.ISO8859-1zes_CL.ISO8859-1zes_CO.ISO8859-1zes_CR.ISO8859-1z es_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-1z fa_IR.UTF-8zfa_IR.ISIRI-3342z ff_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-8z fy_DE.UTF-8z fy_NL.UTF-8zga_IE.ISO8859-1zgl_ES.ISO8859-1zgd_GB.ISO8859-1z gez_ER.UTF-8z gez_ET.UTF-8z gu_IN.UTF-8zgv_GB.ISO8859-1z ha_NG.UTF-8z hak_TW.UTF-8zhe_IL.ISO8859-8zhi_IN.ISCII-DEVz hif_FJ.UTF-8z hne_IN.UTF-8zhsb_DE.ISO8859-2z ht_HT.UTF-8zhu_HU.ISO8859-2z hy_AM.UTF-8zhy_AM.ARMSCII_8zia.UTF-8z ia_FR.UTF-8zis_IS.ISO8859-1zid_ID.ISO8859-1z ig_NG.UTF-8z ik_CA.UTF-8zit_IT.ISO8859-1zit_CH.ISO8859-1ziu_CA.NUNACOM-8z iw_IL.UTF-8z ja_JP.eucJPz ja_JP.SJISzka_GE.GEORGIAN-ACADEMYzka_GE.GEORGIAN-PSz kab_DZ.UTF-8z kk_KZ.ptcp154zkl_GL.ISO8859-1z km_KH.UTF-8z kn_IN.UTF-8z ko_KR.eucKRz kok_IN.UTF-8z ks_IN.UTF-8zks_IN.UTF-8@devanagarizku_TR.ISO8859-9zkw_GB.ISO8859-1z ky_KG.UTF-8z lb_LU.UTF-8zlg_UG.ISO8859-10z li_BE.UTF-8z li_NL.UTF-8z lij_IT.UTF-8zlt_LT.ISO8859-13z ln_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-5z ml_IN.UTF-8z mn_MN.UTF-8z mni_IN.UTF-8z mr_IN.UTF-8zms_MY.ISO8859-1zmt_MT.ISO8859-3z my_MM.UTF-8z nan_TW.UTF-8z nds_DE.UTF-8z nds_NL.UTF-8z ne_NP.UTF-8z nhn_MX.UTF-8z niu_NU.UTF-8z niu_NZ.UTF-8z nl_AW.UTF-8znn_NO.ISO8859-1zno_NO.ISO8859-1zny_NO.ISO8859-1znr_ZA.ISO8859-1znso_ZA.ISO8859-15zoc_FR.ISO8859-1z om_ET.UTF-8zom_KE.ISO8859-1z or_IN.UTF-8z os_RU.UTF-8z pa_IN.UTF-8z pa_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-1z ps_AF.UTF-8z quz_PE.UTF-8z raj_IN.UTF-8zro_RO.ISO8859-2z ru_RU.UTF-8z ru_UA.KOI8-Uz ru_RU.KOI8-Rzrw_RW.ISO8859-1z sa_IN.UTF-8z sat_IN.UTF-8z sc_IT.UTF-8z sd_IN.UTF-8zsd_IN.UTF-8@devanagariz sd_PK.UTF-8z se_NO.UTF-8zsr_RS.UTF-8@latinz sgs_LT.UTF-8zsr_CS.ISO8859-2zsh_HR.ISO8859-2z shn_MM.UTF-8z shs_CA.UTF-8z si_LK.UTF-8z sid_ET.UTF-8zsk_SK.ISO8859-2zsl_SI.ISO8859-2zsl_CS.ISO8859-2z sm_WS.UTF-8zso_DJ.ISO8859-1z so_ET.UTF-8zso_KE.ISO8859-1zso_SO.ISO8859-1zsr_CS.ISO8859-5zsq_AL.ISO8859-2z sq_MK.UTF-8z sr_RS.UTF-8zsr_CS.UTF-8@latinz sr_CS.UTF-8z sr_ME.UTF-8z sr_CS.CP1251zss_ZA.ISO8859-1zst_ZA.ISO8859-1zsv_SE.ISO8859-1zsv_FI.ISO8859-1z sw_KE.UTF-8z sw_TZ.UTF-8z szl_PL.UTF-8z ta_IN.TSCII-0z ta_LK.UTF-8z tcy_IN.UTF-8z te_IN.UTF-8z tg_TJ.KOI8-Czth_TH.ISO8859-11z th_TH.TIS620z the_NP.UTF-8z ti_ER.UTF-8z ti_ET.UTF-8z tig_ER.UTF-8z tk_TM.UTF-8ztl_PH.ISO8859-1ztn_ZA.ISO8859-15z to_TO.UTF-8z tpi_PG.UTF-8ztr_TR.ISO8859-9ztr_CY.ISO8859-9zts_ZA.ISO8859-1ztt_RU.TATAR-CYRztt_RU.UTF-8@iqtelifz ug_CN.UTF-8z uk_UA.KOI8-Uz en_US.utfz unm_US.UTF-8z ur_PK.CP1256z ur_IN.UTF-8z uz_UZ.UTF-8z ve_ZA.UTF-8z vi_VN.TCVNz vi_VN.VISCIIzwa_BE.ISO8859-1z wae_CH.UTF-8z wal_ET.UTF-8z wo_SN.UTF-8zxh_ZA.ISO8859-1z yi_US.CP1255z yo_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_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_byz be_by@latinZbem_zmZber_dzZber_maZbgZbg_bgz bhb_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_idrzZis_isz iso-8859-1r�z 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_inz[email protected]ku_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_ru�miZmi_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_inz[email protected]sd_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�srz sr@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_inz ta_in.tsciiz ta_in.tscii0Zta_lkz tcy_in.utf8ZteZte_inZtgZtg_tjZthZth_thz th_th.tactisz th_th.tis620�thaiZthe_npZti_erZti_etZtig_erZtk_tmZtlZtl_phZtnZtn_zaZto_toZtpi_pgZtrZtr_cyZtr_trrvZts_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.eucz zh_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%i8idi i 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�ixiji5cCs�i}|fdd�}|�|d=td�td�t�\}}td|p@d�td|pNd�t�td �td�|��D]@\}}t|d �t|�\}}td |p�d�td |p�d�t�qpt�td �td�t�|��D]B\}}t|d �t|�\}}td |p�d�td |�pd�t�q�zttd�Wn$td�td�td�YnhXt�td�td�|��D]F\}}t|d �t|�\}}td |�p�d�td |�p�d�t��qldS)NcSs0t���D] \}}|dd�dkr |||<q dS)Nr$ZLC_)�globals�items)� categories�k�vrrr�_init_categories�sz'_print_locale.._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, ""):)r{rr�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)Jr�r�Zencodings.aliases�rera�builtinsrr�� functools�__all__rr r�r�rrrrr�rrrrDrr rr�r r r@rA�wrapsrFrSrT�compiler]rZrrrrw�floatr r r}r�r�r�rr�r�rrrr�� startswithr�CODESET� NameError�hasattrr��sortedr�r�r�rt� setdefaultr�r�r�rL�__name__r{rrrr� sr �        %  -  S" 5     $�6 }����� a��V :