3 \�-�]@sddlZddlZddlZddlZddlZddlmZddlZddddddd d d d d ddddddddddddgZ dd�Z dd�Z y ddl TWnLe k r�dZd Zd!ZdZd"Zd#Zd$Zd%ZeZd&d �Z�d�d'd�ZYnXd e�kr�e Zd e�kr�e ZeZiZeje�d(d ��Zd)d*�Z �d�d,d-�Z!d.d/�Z"ej#d0�Z$�d�d1d�Z%�d�d2d3�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�dId�Z4efdJd�Z5�d�dKd�ZefdLd�Z6ej7j8dM��r�d�dNd�Z9n8ye:Wn"e;k �r2�d�dOd�Z9YnX�d�dPd�Z9dQdQdRdSdSdTdUdVdWdXdRdYdZd[dRdRdRd\d]d^d_d[d`dYdadbdZdcdddedfdSdgdhdTdidjdkdldmdndVdWdXdo�,Z��D]"\Z?Z@e?jAdpdq�Z?e�d?�d@�dA�dB�dC�dC�dD�dD�dC�dA�dA�dE�dE�dF�dG�dH�dH�dI�dJ�dK�dL�dM�dM�dN�dO�dP�dP�dQ�dQ�dR�dS�dT�dT�dU�dU�dV�dV�dW�dXd�d��dY�dZ�d[�d\�d]�d^dÆ�d_d�dÆ�d`�d`�da�db�da�da�da�da�dc�dc�dd�dd�db�db�d`�de�de�df�dg�dh�dh�di�dj�dj�dk�dl�dm�dn�do�dp�do�dq�dq�dr�dr�dr�ds�dtdQdQ�du�du�dv�ds�dt�ds�dw�dx�dy�dy�dy�dz�dz�d{�dy�d|�d}�d}�d~�d�d��d��d��d��d��d��d��d��d��d��d�d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d�d�d�d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d�d��d��d��d��d��d��d��d��d��d��d��d��d��d��dÂ�dÂ�dÃ�dÃ�dÄ�dÅ�dÆ�dÇ�dÇ�dÈ�dÈ�dÉ�dÊ�d�d��dÌ�d�d��dÎ�dÎ�dÏ�dÐ�d�d�d��dÑ�dÑ�dÒ��LZC�dÓ�dÔ�dÕ�dÖ�d×�dØ�dÙ�dÚ�dÛ�dÜ�dÝ�dÞ�dß�d��d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d��d��d��d��d��d��d��d��d��d��d��d��d�d�d�d�d�d�d�d�d�d �d �d �d �d �d�d�d�d�d�d�d�d�d�d�d�d�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�dd�de�df�dg�dh�di�dj�dk�dl�dk�dm�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���ZD�d��d��ZEyeWne;k � r�YnXe jF�d��eG�d�k�r eH�d��eH�eE�eH�eH�d��eH�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.6/locale.py�_strcoll!srcCs|S)Nr)�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)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�|d d 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_spacesZ left_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.*?)\))?(?P[-#0-9 +*.hlL]*?)[eEfFgGdiouxXcrs%]cGsHtj|�}| s$t|j��t|�kr4tdt|���t||||f|��S)NzHformat() 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�j d�}|jt |j�|||df||d|d|����|d|7}q�Wt |�}||S) Nz%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)Nr;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)Nz%.12g)r)rgrrrr+scCs:t�}|d}|r|j|d�}|d}|r6|j|d�}|S)Nr7r(r1r))r rn)�stringrO�tsZddrrr� delocalize/s  rqcCs |t|��S)N)rq)ro�funcrrrr ?scCs tt|��S)N)�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�}|jdd�}|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) N�:r)r�r&r(r'ryrx)rrnr[� locale_aliasr~r�r�) � localenamer�r�r�r�Zlang_encr�Z lookup_nameZdefmodrrrr{s`                   cCsrt|�}d|kr8|jdd�\}}|dkr8d|kr8|dfSd|krVt|jd�dd��S|dkrbd Std|��dS) Nr�r&r�r)z iso-8859-15r'r<zunknown locale: %s)NN)rr[rdrC)r�r�r�rrr�_parse_localename�sr�c CsVy0|\}}|dkrd}|dkr"|S|d|SWn ttfk rPtd��YnXdS)Nr<r)zXLocale must be None, a string, or an iterable of two strings -- language code, encoding.)� TypeErrorrC)Z localetupleZlanguager�rrr�_build_localename�sr��LANG�LANGUAGEc Cs�yddl}|j�\}}Wnttfk r0Yn8Xtjdkr`|r`|dd�dkr`tjt|d��}||fSddl }|j j}x6|D]*}||d�}|r~|dkr�|j d�d}Pq~Wd}t |�S)NrZwin32r'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)N�;z category LC_ALL is not supported)� _setlocalerr�r�)r=r�rrrr5s cCs&|rt|t� rtt|��}t||�S)N)ra� _builtin_strrr�r�)r=ZlocalerrrrGs  cCst|tt���dS)N)r�r�r)r=rrrrXs�wincCsddl}|jd�S)NrF)� _bootlocaler)� do_setlocaler�rrrrdscCst�d}|dkrd}|S)Nr&�ascii)r)r��resrrrrns c CsTddl}|r8tt�}yttd�Wntk r6YnX|jd�}|rPtt|�|S)Nrr(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-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_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_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_idrtZis_isz iso-8859-1z iso-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_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_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_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_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.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�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)NcSs4x.t�j�D] \}}|dd�dkr |||<q WdS)Nr#ZLC_)�globals�items)� categories�k�vrrr�_init_categories�sz'_print_locale.._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, ""):)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)Ir�r{Zencodings.aliases�rerb�builtinsrr�� functools�__all__rrr�r�rrrrr�rrrrCrr rr�r r 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� s2            " -  S 5    " }  :