
-X&#                @   s  d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z d d l	 Z	 d d d d d d	 d
 d d d d d d d d d d d d d d d d g Z
 d d   Z d d   Z y d d l TWnc e k
 r4d  Z d! Z d" Z d Z d# Z d$ Z d% Z d& Z e Z d' d
   Z d d( d  Z Yn Xd e   k rMe Z n  d e   k ree Z n  e Z i  Z e	 j  e  d) d
    Z d* d+   Z! d, d- d.  Z" d/ d0   Z# e j$ d1  Z% d, d, d2 d  Z& d, d, d3 d4  Z' d, d5 d  Z( d6 d, d, d7 d  Z) d8 d   Z e* d9 d  Z+ d: d   Z, d; d<   Z- e Z. d= d>   Z/ d? d@   Z0 dA d   Z1 dB dC   Z2 dD dE   Z3 ddH d  Z4 e dI d  Z5 d dJ d  Z e dK d	  Z6 e j7 j8 dL  rd6 dM d  Z9 n; y e: Wn! e; k
 r
d6 dN d  Z9 Yn Xd6 dO d  Z9 i* dP dQ 6dP dR 6dS dT 6dU dV 6dU dW 6dX dY 6dZ d[ 6d\ d] 6d^ d_ 6d` da 6dS db 6dc dd 6de df 6dg dh 6dS di 6dS dj 6dS dk 6dl dm 6dn do 6dp dq 6dr ds 6dg dt 6du dv 6dc dw 6dx dy 6dz d{ 6de d| 6d} d~ 6d d 6d d 6d d 6dU d 6d d 6d d 6dX d 6d d 6d d 6d d 6d d 6d\ d 6d^ d 6d` d 6Z< xB e= e< j>    D]. \ Z? Z@ e? jA d d  Z? e< jB e? e@  qYWi'd d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d6dd6dd6d d6dd6dP dR 6dd	6dP d
6dP d6d d6dd6dP d6dP d6dd6dd6dd6dd6dd6dd6dd6d d6dd6d d!6d"d#6d$d%6d&d'6d&d(6d&d)6d*d+6d,d-6d.d/6d.d06d&d16d&d26d&d36d4d56d4d66d4d76d4d86d9d:6d;d<6d=d>6d?d@6d9dA6dBdC6dDdE6d9dF6dGdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dQdS6dTdU6dVdW6dXdY6dVdZ6d[d\6d dT 6d]d^6d_d`6dadb6dcdd6dedf6dgdh6didj6dkdl6dmdn6dodp6dqdr6dsdt6dudv6dwdx6dydz6dkd{6d d|6d}d~6dd6dd6dd6dd6dkd6dd6dkd6d d6dP d6d d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dTd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d9d6d9d6d?d6d9d6dd6d d6dd6dd6dVd6dd6dd6dd	6d
d6dd6dd6dd6dd6dd6dd6dd6dd6d$d6d$d6d$d6dd6dd6dd6dd 6dd!6d"d#6d$d%6d&d'6d(d)6d*d+6d,d-6d,d.6d/d06d1d26d,d36d,d46d*d56d*d66d d76d}d86d d96d}d:6d d;6d}d<6d=d>6d?d@6d=dA6d=dB6dCdD6dCdE6dCdF6ddG6ddH6dIdJ6dKdL6dKdM6dKdN6dOdP6dOdQ6dKdR6dKdS6dKdT6dKdU6dKdV6dWdX6dWdY6dWdZ6d[d\6dWd]6d^d_6d`da6d`db6dcdd6dedf6dedg6dhdi6dhdj6dhdk6dldm6dhdn6dhdo6dpdq6dpdr6dsdt6dudv6dwdx6dwdy6dzd{6dzd|6d}d~6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d6d d6dd6dd6dd6dd6dd6dd6dId6dd6dKd6dId6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d6dP d6dP d6dd6dd6dd6dd	6d d
6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6d!d"6d!d#6d$d%6d&d'6d(d)6d*d+6d*d,6d-d.6d/d06d$d16d-d26d*d36d4d56d6d76d6d86d9d:6d6d;6d<d=6d<d>6d?d@6dAdB6d?dC6d<dD6d?dE6d?dF6dGdH6dIdJ6dKdL6dMdN6dOdP6dOdQ6ddR6ddS6dTdU6dTdV6dWdX6dYdZ6dYd[6d\d]6d^d_6d-d`6d\da6dbdc6dYdd6d*de6d-df6d*dg6dhdi6d-dj6dOdk6dOdl6dhdm6dYdn6dYdo6dYdp6dqdr6dqds6dtdu6dtdv6dwdx6dydz6dwd{6d|d}6d~d6dwd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d6d d6dd6dd6ZC i dd6dd6dd6dd6d d6dd6dd6dd6dd	6d
d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d"d#6d$d%6d$d&6d'd(6d)d*6d+d,6d-d.6d/d06d/d16d2d36d4d56d6d76d8d$ 6d9d:6d;d<6d=d>6d?d@6dAdB6dCdD6dEdF6dGdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6dYdZ6d[d\6d]d^6d_d`6dadb6dcdd6dedf6dgdh6didj6dkdl6dmdn6dodp6dqdr6dsdt6dqdu6dvdw6dxdy6dzd{6d|d}6d~d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6dd6dd6dd6dd6d	d
6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd 6dd!6dd"6d#d$6d%d&6d'd(6d)d*6d+d,6d-d.6d/d06d-d16d2d36d4d56d6d76d8d96d:d;6d<d=6d>d?6d@dA6dBdC6dDdE6dFdG6dHdI6dJdK6dLdM6dNdO6dPdQ6dRdS6dTdU6dVdW6dXdY6dZd[6d\d]6d^d_6d`da6dbdc6ddde6dfdg6dhdi6djdk6dldm6dndo6dpdq6drds6dtdu6dvdw6dxdy6dzd{6d|d}6d|d~6dd6dd6dd6dd6dd6dd6dd6dd6ZD dd  ZE y e Wn e; k
 rYn Xe
 jF d eG dk reH d eH   eE   eH   eH d eH   e-   n  d S(  a   Locale support.

    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_MAXc             C   s   |  | k |  | k  S)zZ strcoll(string,string) -> int.
        Compares two strings according to the locale.
     )abr   r   6/home/kubikplay/www/django_dtb/lib/python3.4/locale.py_strcoll"   s    r   c             C   s   |  S)z\ strxfrm(string) -> string.
        Returns a string that behaves for cmp locale-aware.
    r   )sr   r   r   _strxfrm(   s    r   )*                     c               C   s   i d g d 6d d 6d d 6d d 6d d 6g  d 6d d	 6d
 d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6S)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_digitsr   r   r   r   r   r	   @   s$    c             C   s   | d k r t  d   n  d S)zd setlocale(integer,string=None) -> string.
            Activates/queries locale processing.
        Nr)   Cz*_locale emulation only supports "C" locale)Nr)   r<   )r   )categoryvaluer   r   r   r   X   s    c              C   s#   t    }  t r |  j t  n  |  S)N)_localeconv_override_localeconvupdate)dr   r   r   r	   m   s    	c             c   sl   d  } x_ |  D]W } | t  k r# d  S| d k rY | d  k rJ t d   n  x | VqM Wn  | V| } q Wd  S)Nr   zinvalid grouping)r   
ValueError)r(   Zlast_intervalintervalr   r   r   _grouping_intervals{   s    rE   Fc       
      C   sH  t    } | | r d p d } | | r. d p1 d } | sE |  d f S|  d
 d k r |  j   } |  t |  d   } | }  n d } d } g  } xd t |  D]V }	 |  s |  d d	 k r |  } d }  Pn  | j |  |	 d    |  d  |	  }  q W|  r| j |   n  | j   | | j |  | t |  t |  d f S)Nr8   r7   r.   r(   r   r&    r)   Z
0123456789rG   )r	   rstriplenrE   appendreversejoin)
r   monetaryconvr7   r(   ZstrippedZright_spacesZleft_spacesgroupsrD   r   r   r   _group   s0    	
	
rP   c             C   s   d } x. | r6 |  | d k r6 | d 7} | d 8} q	 Wt  |   d } x. | rw |  | d k rw | d 8} | d 8} qJ W|  | | d  S)Nr   rF   r&   )rI   )r   ZamountZlposZrposr   r   r   _strip_padding   s    

rQ   zG%(?:\((?P<key>.*?)\))?(?P<modifiers>[-#0-9 +*.hlL]*?)[eEfFgGdiouxXcrs%]c             G   sc   t  j |   } | s4 t | j    t |   k rM t d t |     n  t |  | | | |  S)zReturns 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matchrI   grouprC   repr_format)percentr>   r(   rM   
additionalrS   r   r   r   r      s
    %c       	      G   s  | r |  | f | } n
 |  | } |  d	 d k r d } | j  d  } | rr t | d d | \ | d <} n  t   | r d p d } | j |  } | rt | |  } qnR |  d
 d k rd } | r t | d | \ } } n  | rt | |  } qn  | S)Nr&   ZeEfFgGr   r0   rM   r:   r1   ZdiurG   rG   )splitrP   r	   rL   rQ   )	rW   r>   r(   rM   rX   Z	formattedZsepsZpartsr1   r   r   r   rV      s(    
#rV   c       	      C   so  t  t j |    } t j d |   } t | t j  r g  } x| D]K } | j   d d k rr | j d  qF | j t	 | j   | |   qF Wn t | t
  s | f } n  g  } d } x | D] } | j   d	 d k r | j d  q | j d  j d  } | j t | j   | | | d | | d | d |    | d | 7} q Wt
 |  } | | S)
zFormats 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&   %r   Z	modifiersr    FrG   rG   )listrR   finditersub
isinstancecollectionsMappingrT   rJ   r   tuplecountrV   )	fvalr(   ZpercentsZnew_fZnew_valZperciZ	starcountr   r   r   r      s0    & Tc             C   s  t    } | | r d p d } | d k r: t d   n  t d | t |   | d d } d | d	 } | r | | r d
 p d } | |  d k  r d p d } | |  d k  r d p d }	 | r | |	 r d p d | } q | |	 r d p d | } n  | |  d k  rd pd }
 | |  d k  r/d p2d } |
 d k rSd | d } n~ |
 d k rl| | } ne |
 d k r| | } nL |
 d k r| j d |  } n+ |
 d k r| j d	 |  } n
 | | } | j d d  j d	 d  S)zIFormats val according to the currency settings
    in the current locale.r;   r9   r!   z9Currency formatting is not possible using the 'C' locale.z%%.%ifrM   T<>r5   r*   r   r-   r,   r/   r4   rF   r)   r+   r6   r2   r3   ()r&   r'   r#   r%   )r	   rC   r   absreplace)rd   Zsymbolr(   ZinternationalrN   Zdigitsr   ZsmbZprecedesZ	separatedZsign_posZsignr   r   r   r      s6    	"
c             C   s   t  d |   S)z9Convert float to integer, taking the locale into account.z%.12g)r   )rd   r   r   r   r   ,  s    c             C   sZ   t    d } | r( |  j | d  }  n  t    d } | rP |  j | d  }  n  | |   S)z<Parses a string as a float according to the locale settings.r7   r)   r1   r0   )r	   rk   )stringfunctsZddr   r   r   r   0  s    c             C   s   t  |  t  S)zAConverts a string to an integer according to the locale settings.)r   int)r   r   r   r   r   =  s    c              C   s[   t  t d  t d d d  }  t |  d t |    t d  }  t |  d t |    d  S)Nr)   z%di[r&   isgQ	@)r   r   r   printr   r   r   )s1r   r   r   _testA  s
    rs   c             C   s   d |  k r( |  d  |  j  d   } n |  } t j |  } t j j j | j   |  } | } | j   } | t k r t | } n= | j d d  } | j d d  } | t k r t | } n  | d | S)Nr0   _r)   -)index	encodingsnormalize_encodingaliasesgetlowerlocale_encoding_aliasrk   )codeencodinglangnamenorm_encodingr   r   r   _replace_encodingS  s    	r   c             C   sp   | d k rd d |  k r  |  d S|  j  d  \ } } } | d k rH |  S| d k rd t |  d  Sn  |  d | S)	Neuror0   z.ISO8859-15
ISO8859-15UTF-8z	ISO8859-1@)r   r   )	partitionr   )r}   modifierrt   r~   r   r   r   _append_modifierj  s    r   c       	      C   s  |  j    } d | k r- | j d d  } n  d | k rT | j d d  \ } } n d } d | k r | j d  d d  \ } } n | } d } | } | r | j d d  } | j d	 d  } | d | 7} n  | } | r | d | 7} n  t j | d  } | d k	 r| S| r}t j | d  } | d k	 r}d | k rQt | |  S| j d d  d j    | k rz| Sq}n  | r| } | r| d | 7} n  t j | d  } | d k	 rd | k rt | |  S| j d d  \ } } t | |  d | S| rt j | d  } | d k	 rd | k rPt | |  } t | |  S| j d d  \ } } | j    | k rt | |  d | Sqqn  |  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.

    :r0   r   r&   r)   Nr'   ru   rt   )r{   rk   rY   locale_aliasrz   r   r   )	
localenamer}   r   r   r~   Zlang_encr   Zlookup_nameZdefmodr   r   r   r   u  s`    ""
c             C   s   t  |   } d | k rU | j d d  \ } } | d k rU d | k rU | d f Sn  d | k r~ t | j d  d d   S| d k r d
 St d	 |    d S)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   r0   ziso-8859-15Nr'   r<   zunknown locale: %s)NN)r   rY   ra   rC   )r   r}   r   r   r   r   _parse_localename  s    r   c             C   sl   yA |  \ } } | d k r$ d } n  | d k r4 | S| d | SWn$ t  t f k
 rg t  d   Yn Xd S)z Builds a locale code from the given tuple (language code,
        encoding).

        No aliasing or normalizing takes place.

    Nr<   r0   zXLocale must be None, a string, or an iterable of two strings -- language code, encoding.)	TypeErrorrC   )Zlocaletuplelanguager~   r   r   r   _build_localename  s    	r   LANGLANGUAGEc             C   s  y" d d l  } | j   \ } } Wn t t f k
 r< YnQ Xt j d k r | r | d d  d k r t j t | d   } n  | | f Sd d l	 } | j
 j } xO |  D]A } | | d  } | r | d k r | j d  d } n  Pq q 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.

    r   Nwin32r'   0xr   r   r<   )_localeZ_getdefaultlocaleImportErrorAttributeErrorsysplatformwindows_localerz   ro   osenvironrY   r   )Zenvvarsr   r}   r~   r   lookupZvariabler   r   r   r   r     s$    +
c             C   s=   t  |   } |  t k r3 d | k r3 t d   n  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)
_setlocaler   r   r   )r=   r   r   r   r   r   /  s    c             C   s8   | r+ t  | t  r+ t t |   } n  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_strr   r   r   )r=   localer   r   r   r   A  s    c             C   s   t  |  t t     d S)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=   r   r   r   r   R  s    winc             C   s   d d l  } | j d  S)z1Return the charset that the user is likely using.r   NF)_bootlocaler   )do_setlocaler   r   r   r   r   ^  s    c             C   s&   t    d } | d k r" d } n  | S)zbReturn the charset that the user is likely using,
            by looking at environment variables.r&   Nascii)r   )r   Zresr   r   r   r   h  s    	c             C   sp   d d l  } |  rG t t  } y t t d  WqG t k
 rC YqG Xn  | j d  } |  rl t t |  n  | S)zdReturn the charset that the user is likely using,
            according to the system configuration.r   Nr)   F)r   r   r   r   r   )r   r   Zoldlocresultr   r   r   r   q  s    r<   437cz	ISO8859-1ZenZJIS7ZjisZjis7ZeucJPZajeczKOI8-CZkoi8cZCP1251Zmicrosoftcp1251ZCP1255Zmicrosoftcp1255ZCP1256Zmicrosoftcp1256Z88591z	ISO8859-2Z88592z	ISO8859-5Z88595z
ISO8859-15Z885915r   latin_1	iso8859_1z
ISO8859-10
iso8859_10z
ISO8859-11
iso8859_11z
ISO8859-13
iso8859_13z
ISO8859-14
iso8859_14
iso8859_15z
ISO8859-16
iso8859_16	iso8859_2z	ISO8859-3	iso8859_3z	ISO8859-4	iso8859_4	iso8859_5z	ISO8859-6	iso8859_6z	ISO8859-7	iso8859_7z	ISO8859-8	iso8859_8z	ISO8859-9	iso8859_9
iso2022_jpZSJIS	shift_jisZTACTIStactiseuc_jpZeucKReuc_krzUTF-8utf_8zKOI8-Rkoi8_rzKOI8-UZkoi8_ucp1251cp1255cp1256rt   r)   zaz_AZ.KOI8-CZa3Za3_azz
a3_az.koiczaa_DJ.ISO8859-1Zaa_djzaa_ER.UTF-8Zaa_erzaa_ET.UTF-8Zaa_etzaf_ZA.ISO8859-1ZafZaf_zazam_ET.UTF-8ZamZam_etzen_US.ISO8859-1Zamericanzan_ES.ISO8859-15Zan_eszar_AA.ISO8859-6ZarZar_aazar_AE.ISO8859-6Zar_aezar_BH.ISO8859-6Zar_bhzar_DZ.ISO8859-6Zar_dzzar_EG.ISO8859-6Zar_egzar_IN.UTF-8Zar_inzar_IQ.ISO8859-6Zar_iqzar_JO.ISO8859-6Zar_jozar_KW.ISO8859-6Zar_kwzar_LB.ISO8859-6Zar_lbzar_LY.ISO8859-6Zar_lyzar_MA.ISO8859-6Zar_mazar_OM.ISO8859-6Zar_omzar_QA.ISO8859-6Zar_qazar_SA.ISO8859-6Zar_sazar_SD.ISO8859-6Zar_sdzar_SY.ISO8859-6Zar_syzar_TN.ISO8859-6Zar_tnzar_YE.ISO8859-6Zar_yearabiczas_IN.UTF-8ZasZas_inzast_ES.ISO8859-15Zast_eszayc_PE.UTF-8Zayc_pezaz_AZ.ISO8859-9EZazZaz_azzaz_az.iso88599ezbe_BY.CP1251Zbezbe_BY.UTF-8@latinzbe@latinzbg_BG.UTF-8z
be_bg.utf8Zbe_byzbe_by@latinzbem_ZM.UTF-8Zbem_zmzber_DZ.UTF-8Zber_dzzber_MA.UTF-8Zber_mazbg_BG.CP1251ZbgZbg_bgzbho_IN.UTF-8Zbho_inzbn_BD.UTF-8Zbn_bdzbn_IN.UTF-8Zbn_inzbo_CN.UTF-8Zbo_cnzbo_IN.UTF-8Zbo_inznb_NO.ISO8859-1Zbokmalu   bokmålzbr_FR.ISO8859-1ZbrZbr_frzbrx_IN.UTF-8Zbrx_inzbs_BA.ISO8859-2ZbsZbs_baZ	bulgarianzbyn_ER.UTF-8Zbyn_erzfr_CA.ISO8859-1zc-frenchzc.asciizc.enz
c.iso88591zen_US.UTF-8zc.utf8Zc_czc_c.czca_ES.ISO8859-1Zcazca_AD.ISO8859-1Zca_adZca_eszca_ES.ISO8859-15@valenciazca_es@valenciazca_FR.ISO8859-1Zca_frzca_IT.ISO8859-1Zca_itZcatalanZcextendzzh_CN.eucCNz	chinese-szzh_TW.eucTWz	chinese-tzcrh_UA.UTF-8Zcrh_uazhr_HR.ISO8859-2Zcroatianzcs_CZ.ISO8859-2ZcsZcs_csZcs_czzcsb_PL.UTF-8Zcsb_plzcv_RU.UTF-8Zcv_ruzcy_GB.ISO8859-1ZcyZcy_gbZczZcz_czZczechzda_DK.ISO8859-1ZdaZda_dkZdanishZdanskzde_DE.ISO8859-1Zdezde_AT.ISO8859-1Zde_atzde_BE.ISO8859-1Zde_bezde_CH.ISO8859-1Zde_chZde_dezde_LI.UTF-8z
de_li.utf8zde_LU.ISO8859-1Zde_luZdeutschzdoi_IN.UTF-8Zdoi_inznl_NL.ISO8859-1Zdutchznl_BE.ISO8859-1zdutch.iso88591zdv_MV.UTF-8Zdv_mvzdz_BT.UTF-8Zdz_btzee_EE.ISO8859-4ZeeZee_eezet_EE.ISO8859-1Zeestizel_GR.ISO8859-7Zelzel_CY.ISO8859-7Zel_cyZel_grzel_GR.ISO8859-15z
el_gr@eurozen_AG.UTF-8Zen_agzen_AU.ISO8859-1Zen_auzen_BE.ISO8859-1Zen_bezen_BW.ISO8859-1Zen_bwzen_CA.ISO8859-1Zen_cazen_DK.ISO8859-1Zen_dkzen_DL.UTF-8z
en_dl.utf8zen_GB.ISO8859-1Zen_gbzen_HK.ISO8859-1Zen_hkzen_IE.ISO8859-1Zen_iezen_IN.ISO8859-1Zen_inzen_NG.UTF-8Zen_ngzen_NZ.ISO8859-1Zen_nzzen_PH.ISO8859-1Zen_phzen_SG.ISO8859-1Zen_sgZen_ukZen_uszen_US.ISO8859-15zen_us@euro@eurozen_ZA.ISO8859-1Zen_zazen_ZM.UTF-8Zen_zmzen_ZW.ISO8859-1Zen_zwzen_ZS.UTF-8z
en_zw.utf8Zeng_gbzen_EN.ISO8859-1ZenglishZ
english_ukzenglish_united-stateszenglish_united-states.437Z
english_uszeo_XX.ISO8859-3Zeozeo.UTF-8zeo.utf8zeo_EO.ISO8859-3Zeo_eozeo_US.UTF-8z
eo_us.utf8Zeo_xxzes_ES.ISO8859-1Zeszes_AR.ISO8859-1Zes_arzes_BO.ISO8859-1Zes_bozes_CL.ISO8859-1Zes_clzes_CO.ISO8859-1Zes_cozes_CR.ISO8859-1Zes_crzes_CU.UTF-8Zes_cuzes_DO.ISO8859-1Zes_dozes_EC.ISO8859-1Zes_ecZes_eszes_GT.ISO8859-1Zes_gtzes_HN.ISO8859-1Zes_hnzes_MX.ISO8859-1Zes_mxzes_NI.ISO8859-1Zes_nizes_PA.ISO8859-1Zes_pazes_PE.ISO8859-1Zes_pezes_PR.ISO8859-1Zes_przes_PY.ISO8859-1Zes_pyzes_SV.ISO8859-1Zes_svzes_US.ISO8859-1Zes_uszes_UY.ISO8859-1Zes_uyzes_VE.ISO8859-1Zes_veZestonianzet_EE.ISO8859-15ZetZet_eezeu_ES.ISO8859-1ZeuZeu_eszeu_FR.ISO8859-1Zeu_frzfa_IR.UTF-8ZfaZfa_irzfa_IR.ISIRI-3342zfa_ir.isiri3342zff_SN.UTF-8Zff_snzfi_FI.ISO8859-15ZfiZfi_fizfil_PH.UTF-8Zfil_phzfi_FI.ISO8859-1Zfinnishzfo_FO.ISO8859-1ZfoZfo_fozfr_FR.ISO8859-1Zfrzfr_BE.ISO8859-1Zfr_beZfr_cazfr_CH.ISO8859-1Zfr_chZfr_frzfr_LU.ISO8859-1Zfr_luu	   françaisZfre_frZfrenchzfrench.iso88591Zfrench_francezfur_IT.UTF-8Zfur_itzfy_DE.UTF-8Zfy_dezfy_NL.UTF-8Zfy_nlzga_IE.ISO8859-1ZgaZga_iezgl_ES.ISO8859-1ZgalegoZgalicianzgd_GB.ISO8859-1ZgdZgd_gbZger_deZgermanzgerman.iso88591Zgerman_germanyzgez_ER.UTF-8Zgez_erzgez_ET.UTF-8Zgez_etZglZgl_esgreekzgu_IN.UTF-8Zgu_inzgv_GB.ISO8859-1ZgvZgv_gbzha_NG.UTF-8Zha_ngzhe_IL.ISO8859-8ZheZhe_ilhebrewzhi_IN.ISCII-DEVhiZhi_inzhi_in.isciidevzhne_IN.UTF-8ZhneZhne_inZhrZhr_hrZhrvatskizhsb_DE.ISO8859-2Zhsb_dezht_HT.UTF-8Zht_htzhu_HU.ISO8859-2ZhuZhu_huZ	hungarianzhy_AM.UTF-8Zhy_amzhy_AM.ARMSCII_8zhy_am.armscii8zia.UTF-8Ziazia_FR.UTF-8Zia_frzis_IS.ISO8859-1Z	icelandiczid_ID.ISO8859-1idZid_idzig_NG.UTF-8Zig_ngzik_CA.UTF-8Zik_cainZin_idrp   Zis_isz
iso-8859-1ziso-8859-15z	iso8859-1z
iso8859-15
iso_8859_1iso_8859_15zit_IT.ISO8859-1itzit_CH.ISO8859-1Zit_chZit_itZitalianziu_CA.NUNACOM-8ZiuZiu_caziu_ca.nunacom8ZiwZiw_ilziw_IL.UTF-8z
iw_il.utf8zja_JP.eucJPZjaZja_jpz	ja_jp.eucz
ja_JP.SJISzja_jp.mscodez	ja_jp.pckZjapanZjapanesezjapanese-euczjapanese.eucZjp_jpzka_GE.GEORGIAN-ACADEMYZkaZka_gezka_ge.georgianacademyzka_GE.GEORGIAN-PSzka_ge.georgianpszka_ge.georgianrszkk_KZ.RK1048Zkk_kzzkl_GL.ISO8859-1ZklZkl_glzkm_KH.UTF-8Zkm_khzkn_IN.UTF-8ZknZkn_inzko_KR.eucKRZkoZko_krz	ko_kr.euczkok_IN.UTF-8Zkok_inkoreanz
korean.euczks_IN.UTF-8ZksZks_inzks_IN.UTF-8@devanagarizks_in@devanagari.utf8zku_TR.ISO8859-9Zku_trzkw_GB.ISO8859-1ZkwZkw_gbzky_KG.UTF-8ZkyZky_kgzlb_LU.UTF-8Zlb_luzlg_UG.ISO8859-10Zlg_ugzli_BE.UTF-8Zli_bezli_NL.UTF-8Zli_nlzlij_IT.UTF-8Zlij_itzlt_LT.ISO8859-13Z
lithuanianzlo_LA.MULELAO-1loZlo_lazlo_LA.IBM-CP1133zlo_la.cp1133zlo_la.ibmcp1133zlo_la.mulelao1ZltZlt_ltzlv_LV.ISO8859-13ZlvZlv_lvzmag_IN.UTF-8Zmag_inzmai_IN.UTF-8ZmaiZmai_inzmg_MG.ISO8859-15Zmg_mgzmhr_RU.UTF-8Zmhr_ruzmi_NZ.ISO8859-1ZmiZmi_nzzmk_MK.ISO8859-5ZmkZmk_mkzml_IN.UTF-8ZmlZml_inzmn_MN.UTF-8Zmn_mnzmni_IN.UTF-8Zmni_inzmr_IN.UTF-8ZmrZmr_inzms_MY.ISO8859-1ZmsZms_myzmt_MT.ISO8859-3ZmtZmt_mtzmy_MM.UTF-8Zmy_mmznan_TW.UTF-8@latinznan_tw@latinZnbZnb_noznds_DE.UTF-8Znds_deznds_NL.UTF-8Znds_nlzne_NP.UTF-8Zne_npznhn_MX.UTF-8Znhn_mxzniu_NU.UTF-8Zniu_nuzniu_NZ.UTF-8Zniu_nznlznl_AW.UTF-8Znl_awZnl_beZnl_nlznn_NO.ISO8859-1ZnnZnn_nozno_NO.ISO8859-1Znozny_NO.ISO8859-1z
no@nynorskZno_nozno_no.iso88591@bokmalzno_no.iso88591@nynorskZ	norwegianznr_ZA.ISO8859-1ZnrZnr_zaznso_ZA.ISO8859-15ZnsoZnso_zaZnyZny_noZnynorskzoc_FR.ISO8859-1ZocZoc_frzom_ET.UTF-8Zom_etzom_KE.ISO8859-1Zom_kezor_IN.UTF-8orZor_inzos_RU.UTF-8Zos_ruzpa_IN.UTF-8ZpaZpa_inzpa_PK.UTF-8Zpa_pkzpap_AN.UTF-8Zpap_anzpd_US.ISO8859-1Zpdzpd_DE.ISO8859-1Zpd_deZpd_uszph_PH.ISO8859-1ZphZph_phzpl_PL.ISO8859-2ZplZpl_plZpolishzpt_PT.ISO8859-1Z
portuguesezpt_BR.ISO8859-1Zportuguese_brazilposixz
posix-utf2zpp_AN.ISO8859-1ZppZpp_anzps_AF.UTF-8Zps_afZptZpt_brZpt_ptzro_RO.ISO8859-2ZroZro_roZromanianzru_RU.UTF-8ZruZru_ruzru_UA.KOI8-UZru_uaZrumanianzru_RU.ISO8859-5Zrussianzrw_RW.ISO8859-1ZrwZrw_rwzsa_IN.UTF-8Zsa_inzsat_IN.UTF-8Zsat_inzsc_IT.UTF-8Zsc_itzsd_IN.UTF-8ZsdZsd_inzsd_IN.UTF-8@devanagarizsd_in@devanagari.utf8zsd_PK.UTF-8Zsd_pkzse_NO.UTF-8Zse_nozsr_RS.UTF-8@latinZserbocroatianZshzsr_CS.ISO8859-2zsh_ba.iso88592@bosniazsh_HR.ISO8859-2Zsh_hrzsh_hr.iso88592Zsh_spZsh_yuzshs_CA.UTF-8Zshs_cazsi_LK.UTF-8ZsiZsi_lkzsid_ET.UTF-8Zsid_etZsinhalazsk_SK.ISO8859-2ZskZsk_skzsl_SI.ISO8859-2Zslzsl_CS.ISO8859-2Zsl_csZsl_siZslovakZsloveneZ	slovenianzso_DJ.ISO8859-1Zso_djzso_ET.UTF-8Zso_etzso_KE.ISO8859-1Zso_kezso_SO.ISO8859-1Zso_sozsr_CS.ISO8859-5ZspZsp_yuZspanishZspanish_spainzsq_AL.ISO8859-2ZsqZsq_alzsq_MK.UTF-8Zsq_mkzsr_RS.UTF-8srzsr@cyrilliczsr_CS.UTF-8@latinzsr@latnzsr_CS.UTF-8Zsr_cszsr_cs.iso88592@latnz
sr_cs@latnzsr_ME.UTF-8Zsr_meZsr_rsz
sr_rs@latnZsr_spZsr_yuzsr_CS.CP1251zsr_yu.cp1251@cyrilliczsr_yu.iso88592zsr_yu.iso88595zsr_yu.iso88595@cyrilliczsr_yu.microsoftcp1251@cyrillicz
sr_yu.utf8zsr_yu.utf8@cyrilliczsr_yu@cyrilliczss_ZA.ISO8859-1ZssZss_zazst_ZA.ISO8859-1stZst_zazsv_SE.ISO8859-1Zsvzsv_FI.ISO8859-1Zsv_fiZsv_sezsw_KE.UTF-8Zsw_kezsw_TZ.UTF-8Zsw_tzZswedishzszl_PL.UTF-8Zszl_plzta_IN.TSCII-0ZtaZta_inzta_in.tsciizta_in.tscii0zta_LK.UTF-8Zta_lkzte_IN.UTF-8ZteZte_inztg_TJ.KOI8-CZtgZtg_tjzth_TH.ISO8859-11ZthZth_thzth_TH.TIS620zth_th.tactiszth_th.tis620thaizti_ER.UTF-8Zti_erzti_ET.UTF-8Zti_etztig_ER.UTF-8Ztig_erztk_TM.UTF-8Ztk_tmztl_PH.ISO8859-1ZtlZtl_phztn_ZA.ISO8859-15ZtnZtn_zaztr_TR.ISO8859-9Ztrztr_CY.ISO8859-9Ztr_cyZtr_trzts_ZA.ISO8859-1rn   Zts_zaztt_RU.TATAR-CYRZttZtt_ruztt_ru.tatarcyrztt_RU.UTF-8@iqtelifztt_ru@iqtelifZturkishzug_CN.UTF-8Zug_cnzuk_UA.KOI8-UZukZuk_uaZunivZ	universalzuniversal.utf8@ucs4zunm_US.UTF-8Zunm_uszur_PK.CP1256Zurzur_IN.UTF-8Zur_inZur_pkzuz_UZ.UTF-8ZuzZuz_uzzuz_uz@cyrilliczve_ZA.UTF-8ZveZve_zaz
vi_VN.TCVNZviZvi_vnz
vi_vn.tcvnzvi_vn.tcvn5712zvi_VN.VISCIIzvi_vn.visciizvi_vn.viscii111zwa_BE.ISO8859-1ZwaZwa_bezwae_CH.UTF-8Zwae_chzwal_ET.UTF-8Zwal_etzwo_SN.UTF-8Zwo_snzxh_ZA.ISO8859-1ZxhZxh_zazyi_US.CP1255ZyiZyi_uszyo_NG.UTF-8Zyo_ngzyue_HK.UTF-8Zyue_hkZzhzzh_CN.gb2312Zzh_cnz
zh_TW.big5z
zh_cn.big5z	zh_cn.euczzh_HK.big5hkscsZzh_hkzzh_hk.big5hkzzh_SG.GB2312Zzh_sgz	zh_SG.GBKz	zh_sg.gbkZzh_twz	zh_tw.euczzh_tw.euctwzzu_ZA.ISO8859-1ZzuZzu_zaZaf_ZAi6  Zsq_ALi  Zgsw_FRi  Zam_ETi^  Zar_SAi  Zar_IQi  Zar_EGi  Zar_LYi  Zar_DZi  Zar_MAi  Zar_TNi  Zar_OMi   Zar_YEi$  Zar_SYi(  Zar_JOi,  Zar_LBi0  Zar_KWi4  Zar_AEi8  Zar_BHi<  Zar_QAi@  Zhy_AMi+  Zas_INiM  Zaz_AZi,  i,  Zba_RUim  Zeu_ESi-  Zbe_BYi#  Zbn_INiE  Zbs_BAi   i  Zbr_FRi~  Zbg_BGi  Zca_ESi  Zzh_CHSZzh_TWi  Zzh_CNi  Zzh_HKi  Zzh_SGi  Zzh_MOi  Zzh_CHTi|  Zco_FRi  Zhr_HRi  Zhr_BAi  Zcs_CZi  Zda_DKi  Zgbz_AFi  Zdiv_MVie  Znl_NLi  Znl_BEi  Zen_USi	  Zen_GBi	  Zen_AUi	  Zen_CAi	  Zen_NZi	  Zen_IEi	  Zen_ZAi	  Zen_JAi	   Zen_CBi	$  Zen_BZi	(  Zen_TTi	,  Zen_ZWi	0  Zen_PHi	4  Zen_INi	@  Zen_MYi	D  i	H  Zet_EEi%  Zfo_FOi8  Zfil_PHid  Zfi_FIi  Zfr_FRi  Zfr_BEi  Zfr_CAi  Zfr_CHi  Zfr_LUi  Zfr_MCi  Zfy_NLib  Zgl_ESiV  Zka_GEi7  Zde_DEi  Zde_CHi  Zde_ATi  Zde_LUi  Zde_LIi  Zel_GRi  Zkl_GLio  Zgu_INiG  Zha_NGih  Zhe_ILi  Zhi_INi9  Zhu_HUi  Zis_ISi  Zid_IDi!  Ziu_CAi]  i]  Zga_IEi<  Zit_ITi  Zit_CHi  Zja_JPi  Zkn_INiK  Zkk_KZi?  Zkh_KHiS  Zqut_GTi  Zrw_RWi  Zkok_INiW  Zko_KRi  Zky_KGi@  Zlo_LAiT  Zlv_LVi&  Zlt_LTi'  Zdsb_DEi.  Zlb_LUin  Zmk_MKi/  Zms_MYi>  Zms_BNi>  Zml_INiL  Zmt_MTi:  Zmi_NZi  Zarn_CLiz  Zmr_INiN  Zmoh_CAi|  Zmn_MNiP  Zmn_CNiP  Zne_NPia  Znb_NOi  Znn_NOi  Zoc_FRi  Zor_INiH  Zps_AFic  Zfa_IRi)  Zpl_PLi  Zpt_BRi  Zpt_PTi  Zpa_INiF  Zquz_BOik  Zquz_ECik  Zquz_PEik  Zro_ROi  Zrm_CHi  Zru_RUi  Zsmn_FIi;$  Zsmj_NOi;  Zsmj_SEi;  Zse_NOi;  Zse_SEi;  Zse_FIi;  Zsms_FIi;   Zsma_NOi;  Zsma_SEi;  Zsa_INiO  Zsr_SPi  Zsr_BAi  i  i  Zsi_LKi[  Zns_ZAil  Ztn_ZAi2  Zsk_SKi  Zsl_SIi$  Zes_ESi
  Zes_MXi
  i
  Zes_GTi
  Zes_CRi
  Zes_PAi
  Zes_DOi
  Zes_VEi
   Zes_COi
$  Zes_PEi
(  Zes_ARi
,  Zes_ECi
0  Zes_CLi
4  Zes_URi
8  Zes_PYi
<  Zes_BOi
@  Zes_SVi
D  Zes_HNi
H  Zes_NIi
L  Zes_PRi
P  Zes_USi
T  Zsw_KEiA  Zsv_SEi  Zsv_FIi  Zsyr_SYiZ  Ztg_TJi(  Ztmz_DZi_  Zta_INiI  Ztt_RUiD  Zte_INiJ  Zth_THi  Zbo_BTiQ  Zbo_CNiQ  Ztr_TRi  Ztk_TMiB  Zug_CNi  Zuk_UAi"  Zwen_DEi.  Zur_PKi   Zur_INi   Zuz_UZiC  iC  Zvi_VNi*  Zcy_GBiR  Zwo_SNi  Zxh_ZAi4  Zsah_RUi  Zii_CNix  Zyo_NGij  Zzu_ZAi5  c           
   C   sM  i  }  |  d d  } |   |  d =t  d  t  d d  t   \ } } t  d | pY d  t  d	 | pl d  t    t  d
  t  d d  xf |  j   D]X \ } } t  | d  t |  \ } } t  d | p d  t  d | p d  t    q Wt    t  d  t  d d  t   xf |  j   D]X \ } } t  | d  t |  \ } } t  d | ped  t  d | pxd  t    q+Wy t t d  Wn& t  d  t  d  t  d  Yn Xt    t  d  t  d d  xf |  j   D]X \ } } t  | d  t |  \ } } t  d | p'd  t  d | p:d  t    qWd S)z Test function.
    c             S   sG   x@ t    j   D]/ \ } } | d  d  d k r | |  | <q q Wd  S)Nr#   ZLC_)globalsitems)
categorieskvr   r   r   _init_categoriesI  s    z'_print_locale.<locals>._init_categoriesr   z4Locale defaults as determined by getdefaultlocale():ru   H   z
Language: z(undefined)z
Encoding: zLocale settings on startup:z...z   Language: z   Encoding: z,Locale settings after calling resetlocale():r)   zNOTE:z9setlocale(LC_ALL, "") does not support the default localez&given in the OS environment variables.z4Locale settings after calling setlocale(LC_ALL, ""):N)rq   r   r   r   r   r   r   )r   r   langencnamer=   r   r   r   _print_localeD  sV    





r   LC_MESSAGES__main__zLocale aliasing:zNumber formatting:)zLC_ALLzLC_CTYPEzLANGzLANGUAGE)I__doc__r   rw   Zencodings.aliasesrer_   builtinsr   r   Z	functools__all__r   r   r   r   r   r   r   r   r   r   r   r   rC   r   r	   r   r   r   r
   r?   r@   ZwrapsrE   rP   rQ   compilerR   r   rV   r   r   floatr   r   rs   r   r   r   r   r   r   r   r   r   r   
startswithr   CODESET	NameErrorr|   sortedr   r   r   rk   
setdefaultr   r   r   rJ   __name__rq   r   r   r   r   <module>   s  			"-S5
	
r

:

