lJc@s!dZddkZddkZddkZddddddd d d d d dddddgZyddkTWnpej oddZdZdZ dZ dZ dZ dZ dZeZdZddZdZdZnXed Zeed!ZddkZddkZeid"Zed#Zeeed$Zd%Z e!d&Z"d'Z#d(Z$eZ%d)Z&d*Z'd+Z(dgd.Z)e d/Z*dd0Zed1Z+ei,dhjoed5Z-n7ye.Wne/j oed6Z-nXed7Z-hd8d9<d8d:<d;d<<d=d><d=d?<d@dA<d;dB<d;dC<d;dD<dEdF<dGdH<dIdJ<dKdL<dMdN<dOdP<dQdR<dSdT<dUdV<dWdX<dYdZ<d[d\<d]d^<d=d_<d`da<dbdc<d@dd<dedf<dgdh<didj<dkdl<d?d@<dAdB<dAdC<dDdE<dDdF<dGdH<dIdJ<dIdK<dLdM<dNdO<d8dP<dwdQ<dwdR<dSdT<dwdU<dSdV<dSdW<dSdX<dSdY<dZd[<dZd\<dZd]<d^d_<d^d`<dadb<d8dc<d8dd<dedf<dedg<d8dh<d8di<dwdj<d8dk<dwdl<dwdm<dwdn<dodp<dqdr<dqds<dodt<dodu<dvdw<dxdy<dxdz<d{d|<d{d}<d~d<d~d<dd<dd<dd<dd<dd<dd<dd<dd<dvd<dvd<dvd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<d#d<dd<dd<d#d<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd <dd <d d <d d <dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<d d!<d"d#<d"d$<d%d&<d%d'<d(d)<d(d*<d(d+<d,d-<d.d/<d.d0<dd1<dd2<dd3<dd4<dd5<dd6<d%d7<d%d8<d%d9<d:d;<d:d<<d%d=<d%d><d?d@<d?dA<d?dB<dCdD<dEdF<dEdG<dHdI<dHdJ<dKdL<dHdM<dKdN<dOdP<dOdQ<dRdS<dRdT<dRdU<ddV<ddW<ddX<ddY<dZd[<dZd\<dZd]<dZd^<d_d`<d_da<dbdc<dbdd<dbde<dbdf<d_dg<d_dh<d_di<djdk<djdl<dwdm<dSdn<dwdo<dSdp<dwdq<dSdr<dsdt<dudv<dudw<dxdy<dxdz<dsd{<dsd|<dsd}<d~d<d~d<dsd<dsd<dd<dd<dd<dHd<dHd<dHd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<d d <d d <dd <dd <dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd <dd!<d"d#<d"d$<dd%<dd&<d'd(<d'd)<d*d+<d*d,<d*d-<d.d/<d.d0<d.d1<d.d2<d3d4<d3d5<d6d7<d6d8<d8d9<d8d:<d;d<<d;d=<d;d><d3d?<d6d@<d6dA<d6dB<dCdD<dCdE<d3dF<d3dG<d3dH<dIdJ<dKdL<dIdM<dNdO<dNdP<dNdQ<dNdR<dSdT<dSdU<dVdW<dSdX<dYdZ<dVd[<d\d]<d^d_<d\d`<d^da<dNdb<dSdc<ddde<dfdg<dfdh<didj<didk<dfdl<dfdm<dndo<dndp<dndq<drds<dtdu<drdv<drdw<dndx<drdy<drdz<d{d|<d{d}<dvd~<dvd<dvd<dvd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<d?d@<dAdB<dCdD<dEdF<dGdH<dIdJ<dKdL<dMdN<dOdP<dQdR<dSdT<dUdV<dWdX<dYdZ<d[d\<d]d^<d_d`<dadb<dcdd<dedf<dgdh<didj<dkdl<dmdn<dodp<dqdr<dsdt<dudv<dwdx<dydz<d{d|<d}d~<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd <d d <d d <dd<dd<dd<dd<dd<dd<dd<dd<dd<dd<dd <d!d"<d#d$<d%d&<d'd(<d)d*<d+d,<d-d.<d/d0<d1d2<d3d4<d5d6<d7d8<d9d:<d;d<<d=d><d?d@<dAdB<dCdD<dEdF<dGdH<dIdJ<dKdL<dMdN<dOdP<dQdR<dSdT<dUdV<dWdX<dYdZ<d[d\<d[d]<d^d_<d`da dict. Returns numeric and monetary locale-specific parameters. itgroupingttcurrency_symbolt n_sign_posnt p_cs_precedest n_cs_precedest mon_groupingtn_sep_by_spacet.t decimal_pointt negative_signt positive_signtp_sep_by_spacetint_curr_symbolt p_sign_posnt thousands_septmon_thousands_sept frac_digitstmon_decimal_pointtint_frac_digits((((s/sys/lib/python/locale.pyR,s$                cCs|djo tdndS(sd setlocale(integer,string=None) -> string. Activates/queries locale processing. RtCs*_locale emulation only supports "C" localeN(NRR%(tNoneR(tcategorytvalue((s/sys/lib/python/locale.pyRDs  cCs t||S(sb strcoll(string,string) -> int. Compares two strings according to the locale. (tcmp(tatb((s/sys/lib/python/locale.pyRLscCs|S(sd strxfrm(string) -> string. Returns a string that behaves for cmp locale-aware. ((ts((s/sys/lib/python/locale.pyRRsc Cst}||odpd}||odpd}|p|dfSnd}d}d}|ddjo'|id}||}|| }nx|o|o|dtjoPn*|ddjo|d} |d }n|o!|| ||}|d 7}n || }|| }|o'|dd jo||||fSqqW|p|||fSn|o|||}|d 7}n|||fS( NR!R RRiRit it 0123456789(RtfindR( R,tmonetarytconvR Rtresulttsepstspacestsptgroup((s/sys/lib/python/locale.pyt_group^s>     c GsP|ddjotdn|o||f|}n ||}|ddjod}|id}|o$t|dd|\|d<}nt|odpd }|i|}x|oE|id } | djoPn|| || d }|d 8}qWn7|dd jo%|ot|d|d}qLn|S( sReturns the locale-aware substitution of a %? specifier (percent). additional is for format strings which contain one or more '*' modifiers.it%s9format() must be given exactly one %char format specifieriteEfFgGRR0R#RR-itdiu(t ValueErrortsplitR7RtjoinR/( tpercentR(RR0t additionalt formattedR3tpartsRR5((s/sys/lib/python/locale.pyRs, $ sG%(?:\((?P.*?)\))?(?P[-#0-9 +*.hlL]*?)[eEfFgGdiouxXcrs%]c CsWtti|}tid|}t|tot|}d}x|D]{}|idid}t|i|||t ||d|d|!||<||d|d|5|d|7}qPWt|}nqt i |oDx]|D]5}|id} t|i|| ||| RRiRRRRR-RRRRRt(t)iiii(RR;RtabstTruetreplace( ROtsymbolRt internationalR1tdigitsR,tsmbtprecedest separatedtsign_postsign((s/sys/lib/python/locale.pytcurrencys6  "        cCs td|S(s9Convert float to integer, taking the locale into account.s%.12g(R(RO((s/sys/lib/python/locale.pyRscCs^td}|o|i|d}ntd}|o|i|d}n||S(s<Parses a string as a float according to the locale settings.R RRR(RR](tstringtfuncttstdd((s/sys/lib/python/locale.pyRs  cCs t|tS(sAConverts a string to an integer according to the locale settings.(Rtint(R((s/sys/lib/python/locale.pyRscCsUttdtddd}|GdGt|GHtd}|GdGt|GHdS(NRs%di[itisgQ @(RRRRRR(ts1((s/sys/lib/python/locale.pyt_tests   cCs|i}d|jo|idd}nd|jo+|idd \}}|d|}n |}d}|idd}|idd}|d|}ti|d}|dj o|Snti|d}|dj od|jo|id\}}n |}d}|o=ti|}tiii||}t i||}n|}|o|d|Sq|Sn|SdS(s 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. t:RiRt-t_N( tlowerR]R<t locale_aliastgetR&t encodingstnormalize_encodingtaliasestlocale_encoding_alias(t localenametfullnametlangnametencodingt norm_encodingt lookup_nametcodetdefenc((s/sys/lib/python/locale.pyt normalizes>         cCst|}d|joA|id\}}|djod|jo|dfSqZnd|jot|idd Sn|djod Sntd|dS( s 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. t@teuroRs iso-8859-15iR%sunknown locale: %sN(NN(RR<RIR&R;(RyRtmodifier((s/sys/lib/python/locale.pyt_parse_localenameYs    cCsH|\}}|djo d}n|djo|Sn |d|SdS(s Builds a locale code from the given tuple (language code, encoding). No aliasing or normalizing takes place. R%RN(R&(t localetupletlanguageR|((s/sys/lib/python/locale.pyt_build_localenamews     tLANGtLANGUAGEc Csy"ddk}|i\}}Wnttfj onPXtidjo4|o-|d djotit|d}n||fSddk }|i i}xS|D]E}||d}|o)|djo|i dd}nPqqWd }t |S( s 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. iNtwin32it0xiRRoR%(t_localet_getdefaultlocalet ImportErrortAttributeErrortsystplatformtwindows_localeRtRktostenvironR&R<R(tenvvarsRRR|RtlookuptvariableRy((s/sys/lib/python/locale.pytgetdefaultlocales& (     cCs=t|}|tjod|jo tdnt|S(sp 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. t;s category LC_ALL is not supported(t _setlocaleRt TypeErrorR(R'Ry((s/sys/lib/python/locale.pyt getlocales  cCsC|o/t|tdj ott|}nt||S(sE Set the locale for the given category. The locale can be a string, a locale tuple (language code, encoding), or None. Locale tuples are converted to strings the locale aliasing engine. Locale strings are passed directly to the C lib. category may be given as one of the LC_* values. R(ttypeRRR(R'tlocale((s/sys/lib/python/locale.pyRs cCst|ttdS(s Sets the locale for category to the default setting. The default setting is determined by calling getdefaultlocale(). category defaults to LC_ALL. N(RRR(R'((s/sys/lib/python/locale.pyt resetlocalesRtdarwintmaccCsddk}|idS(s1Return the charset that the user is likely using.iNi(RR(t do_setlocaleR((s/sys/lib/python/locale.pytgetpreferredencodings cCs tdS(sbReturn the charset that the user is likely using, by looking at environment variables.i(R(R((s/sys/lib/python/locale.pyRscCsO|o:tt}ttdtt}tt||Sn ttSdS(sdReturn the charset that the user is likely using, according to the system configuration.RN(RR t nl_langinfotCODESET(RtoldlocR2((s/sys/lib/python/locale.pyRs    R%t437tcs ISO8859-1tentJIS7tjistjis7teucJPtajectasciitlatin_1t iso8859_1s ISO8859-10t iso8859_10s ISO8859-11t iso8859_11s ISO8859-13t iso8859_13s ISO8859-14t iso8859_14s ISO8859-15t iso8859_15s ISO8859-2t iso8859_2s ISO8859-3t iso8859_3s ISO8859-4t iso8859_4s ISO8859-5t iso8859_5s ISO8859-6t iso8859_6s ISO8859-7t iso8859_7s ISO8859-8t iso8859_8s ISO8859-9t iso8859_9t iso2022_jptSJISt shift_jistTACTISttactisteuc_jpteucKRteuc_krtUTF8tutf_8sKOI8-Rtkoi8_rsKOI8-Utkoi8_us a3_AZ.KOI8-Cta3ta3_azs a3_az.koi8csaf_ZA.ISO8859-1taftaf_zasaf_za.iso88591s am_ET.UTF-8tamsen_US.ISO8859-1tamericansamerican.iso88591sar_AA.ISO8859-6tartar_aasar_aa.iso88596sar_AE.ISO8859-6tar_aesar_BH.ISO8859-6tar_bhsar_DZ.ISO8859-6tar_dzsar_EG.ISO8859-6tar_egsar_eg.iso88596sar_IQ.ISO8859-6tar_iqsar_JO.ISO8859-6tar_josar_KW.ISO8859-6tar_kwsar_LB.ISO8859-6tar_lbsar_LY.ISO8859-6tar_lysar_MA.ISO8859-6tar_masar_OM.ISO8859-6tar_omsar_QA.ISO8859-6tar_qasar_SA.ISO8859-6tar_sasar_sa.iso88596sar_SD.ISO8859-6tar_sdsar_SY.ISO8859-6tar_sysar_TN.ISO8859-6tar_tnsar_YE.ISO8859-6tar_yetarabicsarabic.iso88596saz_AZ.ISO8859-9Etaztaz_azsaz_az.iso88599es be_BY.CP1251tbetbe_bys be_by.cp1251sbe_by.microsoftcp1251s bg_BG.CP1251tbgtbg_bgs bg_bg.cp1251sbg_BG.ISO8859-5sbg_bg.iso88595s bg_BG.KOI8-Rs bg_bg.koi8rsbg_bg.microsoftcp1251snb_NO.ISO8859-1tbokmalsbokmlsbr_FR.ISO8859-1tbrtbr_frsbr_fr.iso88591sbr_FR.ISO8859-14sbr_fr.iso885914sbr_FR.ISO8859-15sbr_fr.iso885915s br_fr@eurot bulgariansfr_CA.ISO8859-1sc-frenchsc-french.iso88591sc.ens c.iso88591tc_csc_c.csca_ES.ISO8859-1tcatca_essca_es.iso88591sca_ES.ISO8859-15sca_es.iso885915s ca_es@eurotcatalantcextends cextend.ens zh_CN.eucCNs chinese-ss zh_TW.eucTWs chinese-tshr_HR.ISO8859-2tcroatianscs_CZ.ISO8859-2tcstcs_csscs_cs.iso88592tcs_czscs_cz.iso88592scy_GB.ISO8859-1tcytcy_gbscy_gb.iso88591scy_GB.ISO8859-14scy_gb.iso885914scy_GB.ISO8859-15scy_gb.iso885915s cy_gb@eurotcztcz_cztczechsda_DK.ISO8859-1tdatda_dks da_dk.88591sda_DK.ISO8859-15s da_dk.885915sda_dk.iso88591sda_dk.iso885915s da_dk@eurotdanishsdanish.iso88591tdansksde_DE.ISO8859-1tdesde_AT.ISO8859-1tde_atsde_at.iso88591sde_AT.ISO8859-15sde_at.iso885915s de_at@eurosde_BE.ISO8859-1tde_besde_be.iso88591sde_BE.ISO8859-15sde_be.iso885915s de_be@eurosde_CH.ISO8859-1tde_chsde_ch.iso88591sde_CH.ISO8859-15sde_ch.iso885915s de_ch@eurotde_des de_de.88591sde_DE.ISO8859-15s de_de.885915sde_de.885915@eurosde_de.iso88591sde_de.iso885915s de_de@eurosde_LU.ISO8859-1tde_lusde_lu.iso88591sde_LU.ISO8859-15sde_lu.iso885915s de_lu@eurotdeutschsnl_NL.ISO8859-1tdutchsnl_BE.ISO8859-1sdutch.iso88591see_EE.ISO8859-4teetee_eesee_ee.iso88594set_EE.ISO8859-1teestisel_GR.ISO8859-7teltel_grsel_gr.iso88597sel_GR.ISO8859-15s el_gr@euros en.iso88591sen_AU.ISO8859-1ten_ausen_au.iso88591sen_BE.ISO8859-1ten_besen_BE.ISO8859-15s en_be@eurosen_BW.ISO8859-1ten_bwsen_CA.ISO8859-1ten_casen_ca.iso88591sen_GB.ISO8859-1ten_gbs en_gb.88591sen_gb.iso88591sen_GB.ISO8859-15sen_gb.iso885915s en_gb@eurosen_HK.ISO8859-1ten_hksen_IE.ISO8859-1ten_iesen_ie.iso88591sen_IE.ISO8859-15sen_ie.iso885915s en_ie@eurosen_IN.ISO8859-1ten_insen_NZ.ISO8859-1ten_nzsen_nz.iso88591sen_PH.ISO8859-1ten_phsen_SG.ISO8859-1ten_sgten_ukten_uss en_us.88591sen_US.ISO8859-15s en_us.885915sen_us.iso88591sen_us.iso885915sen_us.iso885915@euros en_us@eurosen_us@euro@eurosen_ZA.ISO8859-1ten_zas en_za.88591sen_za.iso88591sen_ZA.ISO8859-15sen_za.iso885915s en_za@eurosen_ZW.ISO8859-1ten_zwteng_gbs eng_gb.8859sen_EN.ISO8859-1tenglishsenglish.iso88591t english_uksenglish_uk.8859senglish_united-statessenglish_united-states.437t english_ussenglish_us.8859senglish_us.asciiseo_XX.ISO8859-3teoseo_EO.ISO8859-3teo_eoseo_eo.iso88593teo_xxseo_xx.iso88593ses_ES.ISO8859-1tesses_AR.ISO8859-1tes_arses_ar.iso88591ses_BO.ISO8859-1tes_boses_bo.iso88591ses_CL.ISO8859-1tes_clses_cl.iso88591ses_CO.ISO8859-1tes_coses_co.iso88591ses_CR.ISO8859-1tes_crses_cr.iso88591ses_DO.ISO8859-1tes_doses_do.iso88591ses_EC.ISO8859-1tes_ecses_ec.iso88591tes_ess es_es.88591ses_es.iso88591ses_ES.ISO8859-15ses_es.iso885915s es_es@euroses_GT.ISO8859-1tes_gtses_gt.iso88591ses_HN.ISO8859-1tes_hnses_hn.iso88591ses_MX.ISO8859-1tes_mxses_mx.iso88591ses_NI.ISO8859-1tes_nises_ni.iso88591ses_PA.ISO8859-1tes_pases_pa.iso88591ses_PA.ISO8859-15ses_pa.iso885915s es_pa@euroses_PE.ISO8859-1tes_peses_pe.iso88591ses_PE.ISO8859-15ses_pe.iso885915s es_pe@euroses_PR.ISO8859-1tes_prses_pr.iso88591ses_PY.ISO8859-1tes_pyses_py.iso88591ses_PY.ISO8859-15ses_py.iso885915s es_py@euroses_SV.ISO8859-1tes_svses_sv.iso88591ses_SV.ISO8859-15ses_sv.iso885915s es_sv@euroses_US.ISO8859-1tes_usses_UY.ISO8859-1tes_uyses_uy.iso88591ses_UY.ISO8859-15ses_uy.iso885915s es_uy@euroses_VE.ISO8859-1tes_veses_ve.iso88591ses_VE.ISO8859-15ses_ve.iso885915s es_ve@eurotestonianset_EE.ISO8859-15tettet_eeset_ee.iso88591set_EE.ISO8859-13set_ee.iso885913set_ee.iso885915set_EE.ISO8859-4set_ee.iso88594s et_ee@euroseu_ES.ISO8859-1teuteu_esseu_es.iso88591seu_ES.ISO8859-15seu_es.iso885915s eu_es@euros fa_IR.UTF-8tfatfa_irsfa_IR.ISIRI-3342sfa_ir.isiri3342sfi_FI.ISO8859-15tfitfi_fisfi_FI.ISO8859-1s fi_fi.88591sfi_fi.iso88591sfi_fi.iso885915s fi_FI.UTF-8sfi_fi.utf8@euros fi_fi@eurotfinnishsfinnish.iso88591sfo_FO.ISO8859-1tfotfo_fosfo_fo.iso88591sfo_FO.ISO8859-15sfo_fo.iso885915s fo_fo@eurosfr_FR.ISO8859-1tfrsfr_BE.ISO8859-1tfr_bes fr_be.88591sfr_be.iso88591sfr_BE.ISO8859-15sfr_be.iso885915s fr_be@eurotfr_cas fr_ca.88591sfr_ca.iso88591sfr_CA.ISO8859-15sfr_ca.iso885915s fr_ca@eurosfr_CH.ISO8859-1tfr_chs fr_ch.88591sfr_ch.iso88591sfr_CH.ISO8859-15sfr_ch.iso885915s fr_ch@eurotfr_frs fr_fr.88591sfr_fr.iso88591sfr_FR.ISO8859-15sfr_fr.iso885915s fr_fr@eurosfr_LU.ISO8859-1tfr_lus fr_lu.88591sfr_lu.iso88591sfr_LU.ISO8859-15sfr_lu.iso885915s fr_lu@eurosfranaistfre_frs fre_fr.8859tfrenchsfrench.iso88591t french_francesfrench_france.8859sga_IE.ISO8859-1tgatga_iesga_ie.iso88591sga_IE.ISO8859-14sga_ie.iso885914sga_IE.ISO8859-15sga_ie.iso885915s ga_ie@eurosgl_ES.ISO8859-1tgalegotgaliciansgd_GB.ISO8859-1tgdtgd_gbsgd_gb.iso88591sgd_GB.ISO8859-14sgd_gb.iso885914sgd_GB.ISO8859-15sgd_gb.iso885915s gd_gb@eurotger_des ger_de.8859tgermansgerman.iso88591tgerman_germanysgerman_germany.8859tgltgl_essgl_es.iso88591sgl_ES.ISO8859-15sgl_es.iso885915s gl_es@eurotgreeksgreek.iso88597sgv_GB.ISO8859-1tgvtgv_gbsgv_gb.iso88591sgv_GB.ISO8859-14sgv_gb.iso885914sgv_GB.ISO8859-15sgv_gb.iso885915s gv_gb@euroshe_IL.ISO8859-8thethe_ils he_IL.CP1255s he_il.cp1255she_il.iso88598she_il.microsoftcp1255siw_IL.ISO8859-8thebrewshebrew.iso88598shi_IN.ISCII-DEVthithi_inshi_in.isciidevthrthr_hrshr_hr.iso88592thrvatskishu_HU.ISO8859-2thuthu_hushu_hu.iso88592t hungariansis_IS.ISO8859-1t icelandicsicelandic.iso88591sid_ID.ISO8859-1tidtid_idtintin_idRltis_issis_is.iso88591sis_IS.ISO8859-15sis_is.iso885915s is_is@euros iso-8859-1s iso-8859-15s iso8859-1s iso8859-15t iso_8859_1t iso_8859_15sit_IT.ISO8859-1titsit_CH.ISO8859-1tit_chsit_ch.iso88591sit_CH.ISO8859-15sit_ch.iso885915s it_ch@eurotit_its it_it.88591sit_it.iso88591sit_IT.ISO8859-15sit_it.iso885915s it_it@eurotitaliansitalian.iso88591siu_CA.NUNACOM-8tiutiu_casiu_ca.nunacom8tiwtiw_ilsiw_il.iso88598s ja_JP.eucJPtjas ja_JP.JIS7sja.jiss ja_JP.SJISsja.sjistja_jps ja_jp.ajecs ja_jp.eucs ja_jp.eucjpsja_jp.iso-2022-jpsja_jp.iso2022jps ja_jp.jiss ja_jp.jis7s ja_jp.mscodes ja_jp.sjiss ja_jp.ujistjapantjapaneses japanese-eucs japanese.eucs japanese.sjistjp_jpska_GE.GEORGIAN-ACADEMYtkatka_geska_ge.georgianacademyska_GE.GEORGIAN-PSska_ge.georgianpsska_ge.georgianrsskl_GL.ISO8859-1tkltkl_glskl_gl.iso88591skl_GL.ISO8859-15skl_gl.iso885915s kl_gl@euros ko_KR.eucKRtkotko_krs ko_kr.eucs ko_kr.euckrtkoreans korean.eucskw_GB.ISO8859-1tkwtkw_gbskw_gb.iso88591skw_GB.ISO8859-14skw_gb.iso885914skw_GB.ISO8859-15skw_gb.iso885915s kw_gb@euroslt_LT.ISO8859-13t lithuanianslo_LA.MULELAO-1tlotlo_laslo_LA.IBM-CP1133s lo_la.cp1133slo_la.ibmcp1133slo_la.mulelao1tlttlt_ltslt_lt.iso885913slt_LT.ISO8859-4slt_lt.iso88594slv_LV.ISO8859-13tlvtlv_lvslv_lv.iso885913slv_LV.ISO8859-4slv_lv.iso88594smi_NZ.ISO8859-1tmitmi_nzsmi_nz.iso88591smk_MK.ISO8859-5tmktmk_mks mk_MK.CP1251s mk_mk.cp1251smk_mk.iso88595smk_mk.microsoftcp1251sms_MY.ISO8859-1tmstms_mysms_my.iso88591smt_MT.ISO8859-3tmttmt_mtsmt_mt.iso88593tnbtnb_nos nb_no.88591snb_no.iso88591snb_NO.ISO8859-15snb_no.iso885915s nb_no@eurotnltnl_bes nl_be.88591snl_be.iso88591snl_BE.ISO8859-15snl_be.iso885915s nl_be@eurotnl_nls nl_nl.88591snl_nl.iso88591snl_NL.ISO8859-15snl_nl.iso885915s nl_nl@eurosnn_NO.ISO8859-1tnntnn_nos nn_no.88591snn_no.iso88591snn_NO.ISO8859-15snn_no.iso885915s nn_no@eurosno_NO.ISO8859-1tnosny_NO.ISO8859-1s no@nynorsktno_nos no_no.88591sno_no.iso88591sno_NO.ISO8859-15sno_no.iso885915s no_no@eurot norwegiansnorwegian.iso88591tnytny_nos ny_no.88591sny_no.iso88591sny_NO.ISO8859-15sny_no.iso885915s ny_no@eurotnynorsksoc_FR.ISO8859-1toctoc_frsoc_fr.iso88591soc_FR.ISO8859-15soc_fr.iso885915s oc_fr@eurospd_US.ISO8859-1tpdspd_DE.ISO8859-1tpd_despd_de.iso88591spd_DE.ISO8859-15spd_de.iso885915s pd_de@eurotpd_usspd_us.iso88591spd_US.ISO8859-15spd_us.iso885915s pd_us@eurosph_PH.ISO8859-1tphtph_phsph_ph.iso88591spl_PL.ISO8859-2tpltpl_plspl_pl.iso88592tpolishspt_PT.ISO8859-1t portuguesesportuguese.iso88591spt_BR.ISO8859-1tportuguese_brazilsportuguese_brazil.8859tposixs posix-utf2spp_AN.ISO8859-1tpptpp_anspp_an.iso88591tpttpt_brs pt_br.88591spt_br.iso88591spt_BR.ISO8859-15spt_br.iso885915s pt_br@eurotpt_pts pt_pt.88591spt_pt.iso88591spt_PT.ISO8859-15spt_pt.iso885915s pt_PT.UTF-8spt_pt.utf8@euros pt_pt@eurosro_RO.ISO8859-2trotro_rosro_ro.iso88592tromaniansru_RU.ISO8859-5trutru_rus ru_RU.CP1251s ru_ru.cp1251sru_ru.iso88595s ru_RU.KOI8-Rs ru_ru.koi8rsru_ru.microsoftcp1251s ru_UA.KOI8-Utru_uas ru_UA.CP1251s ru_ua.cp1251s ru_ua.koi8usru_ua.microsoftcp1251trumaniantrussians se_NO.UTF-8tse_nossh_YU.ISO8859-2t serbocroatiantshssh_HR.ISO8859-2tsh_hrssh_hr.iso88592tsh_sptsh_yussk_SK.ISO8859-2tsktsk_skssk_sk.iso88592ssl_SI.ISO8859-2tslssl_CS.ISO8859-2tsl_cstsl_sissl_si.iso88592tslovaktslovenet slovenianssp_YU.ISO8859-5R5tsp_yutspanishsspanish.iso88591t spanish_spainsspanish_spain.8859ssq_AL.ISO8859-2tsqtsq_alssq_al.iso88592ssr_YU.ISO8859-5tsrs sr@cyrillicssr_SP.ISO8859-2tsr_sptsr_yus sr_YU.CP1251ssr_yu.cp1251@cyrillicssr_YU.ISO8859-2ssr_yu.iso88592ssr_yu.iso88595ssr_yu.iso88595@cyrillicssr_yu.microsoftcp1251@cyrillics sr_YU.UTF-8ssr_yu.utf8@cyrillicssr_yu@cyrillicssv_SE.ISO8859-1tsvssv_FI.ISO8859-1tsv_fissv_fi.iso88591ssv_FI.ISO8859-15ssv_fi.iso885915s sv_fi@eurotsv_ses sv_se.88591ssv_se.iso88591ssv_SE.ISO8859-15ssv_se.iso885915s sv_se@eurotswedishsswedish.iso88591s ta_IN.TSCII-0ttatta_ins ta_in.tsciis ta_in.tscii0s tg_TJ.KOI8-Cttgttg_tjs tg_tj.koi8csth_TH.ISO8859-11tthtth_thsth_th.iso885911s th_TH.TIS620s th_th.tactiss th_th.tis620tthaistl_PH.ISO8859-1ttlttl_phstl_ph.iso88591str_TR.ISO8859-9ttrttr_trstr_tr.iso88599stt_RU.TATAR-CYRtttttt_rus tt_RU.KOI8-Cs tt_ru.koi8cstt_ru.tatarcyrtturkishsturkish.iso88599s uk_UA.KOI8-Utuktuk_uas uk_UA.CP1251s uk_ua.cp1251suk_UA.ISO8859-5suk_ua.iso88595s uk_ua.koi8usuk_ua.microsoftcp1251s en_US.utftunivt universals en_US.UTF-8suniversal.utf8@ucs4s ur_PK.CP1256turtur_pks ur_pk.cp1256sur_pk.microsoftcp1256s uz_UZ.UTF-8tuztuz_uzs vi_VN.TCVNtvitvi_vns vi_vn.tcvnsvi_vn.tcvn5712s vi_VN.VISCIIs vi_vn.visciisvi_vn.viscii111swa_BE.ISO8859-1twatwa_beswa_be.iso88591swa_BE.ISO8859-15swa_be.iso885915s wa_be@euros yi_US.CP1255tyityi_uss yi_us.cp1255syi_us.microsoftcp1255tzhs zh_CN.gb2312tzh_cns zh_TW.big5s zh_cn.big5s zh_cn.eucs zh_CN.gb18030s zh_cn.gb18030s zh_cn.gb2312s zh_CN.gbks zh_cn.gbkszh_HK.big5hkscstzh_hks zh_HK.big5s zh_hk.big5szh_hk.big5hkscstzh_tws zh_tw.big5s zh_tw.euctaf_ZAi6tsq_ALitar_SAitar_IQitar_EGi tar_LYitar_DZitar_MAitar_TNitar_OMi tar_YEi$tar_SYi(tar_JOi,tar_LBi0tar_KWi4tar_AEi8tar_BHi<tar_QAi@thy_AMi+taz_AZi,i,teu_ESi-tbe_BYi#tbn_INiEtbs_BAi itbr_FRi~tbg_BGitca_ESitzh_CHStzh_TWitzh_CNitzh_HKi tzh_SGitzh_MOitzh_CHTi|thr_HRithr_BAitcs_CZitda_DKitgbz_AFitdiv_MVietnl_NLitnl_BEiten_USi ten_GBi ten_AUi ten_CAi ten_NZi ten_IEi ten_ZAi ten_JAi ten_CBi $ten_BZi (ten_TTi ,ten_ZWi 0ten_PHi 4tet_EEi%tfo_FOi8tfil_PHidtfi_FIi tfr_FRi tfr_BEi tfr_CAi tfr_CHi tfr_LUi tfr_MCi tfy_NLibtgl_ESiVtka_GEi7tde_DEitde_CHitde_ATi tde_LUitde_LIitel_GRitgu_INiGthe_ILi thi_INi9thu_HUitis_ISitid_IDi!tiu_CAi]i]tga_IEi<txh_ZAi4tzu_ZAi5tit_ITitit_CHitja_JPitkn_INiKtkk_KZi?tkok_INiWtko_KRitky_KGi@tlv_LVi&tlt_LTi'tlb_LUintmk_MKi/tms_MYi>tms_BNi>tml_INiLtmt_MTi:tmi_NZitarn_CLiztmr_INiNtmoh_CAi|tmn_MNiPtne_NPiatnb_NOitnn_NOitoc_FRitor_INiHtps_AFictfa_IRi)tpl_PLitpt_BRitpt_PTitpa_INiFtquz_BOiktquz_ECiktquz_PEik tro_ROitrm_CHitru_RUitsmn_FIi;$tsmj_NOi;tsmj_SEi;tse_NOi;tse_SEi;tse_FIi; tsms_FIi; tsma_NOi;tsma_SEi;tsa_INiOtsr_SPi tsr_BAiiitns_ZAilttn_ZAi2tsk_SKitsl_SIi$tes_ESi tes_MXi i tes_GTi tes_CRi tes_PAi tes_DOi tes_VEi tes_COi $tes_PEi (tes_ARi ,tes_ECi 0tes_CLi 4tes_URi 8tes_PYi <tes_BOi @tes_SVi Dtes_HNi Htes_NIi Ltes_PRi Ptsw_KEiAtsv_SEitsv_FIitsyr_SYiZtta_INiIttt_RUiDtte_INiJtth_THittr_TRituk_UAi"tur_PKi tur_INi tuz_UZiCiCtvi_VNi*tcy_GBiRc Csh}|d}||d=dGHddGHt\}}dG|pdGHdG|pdGHHd GHddGHxV|iD]H\}}|Gd GHt|\}}d G|pdGHd G|pdGHHqyWHd GHddGHtxV|iD]H\}}|Gd GHt|\}}d G|pdGHd G|pdGHHqWyttdWndGHdGHdGHniXHdGHddGHxV|iD]H\}}|Gd GHt|\}}d G|pdGHd G|pdGHHqzWdS(s Test function. cSsCx<tiD]+\}}|d djo||| sd$    &! -    B   5                                  /                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       :