<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
ž
¬ÿfP  c               @   sp  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 Z d d l Z d d l m	 Z	 d d d d d d	 d
 d d d d d g Z
 e j j e j d d ƒ Z e j d e j e j Bƒ Z d d „  Z d d „  Z dN Z d$ d% „  e e d& ƒ Dƒ Z i d' d 6d( d 6d) d" 6Z dO d* d+ „ Z d, d- „  Z d. d/ „  Z d0 d1 „  Z Gd2 d „  d ƒ Z Gd3 d „  d e ƒ Z d d dP d4 d „ Z  i  Z! d d d dP d d5 d „ Z" d d d d6 d	 „ Z# i  a$ i  a% d7 a& d d8 d
 „ Z' d d9 d „ Z( d d: d; „ Z) d< d „  Z* d= d> „  Z+ d? d „  Z, d@ dA „  Z- dB d „  Z. dC dD „  Z/ dE d „  Z0 dF dG „  Z1 e" Z2 d S(Q   uª  Internationalization and localization support.

This module provides internationalization (I18N) and localization (L10N)
support for your Python programs by providing an interface to the GNU gettext
message catalog library.

I18N refers to the operation by which a program is made aware of multiple
languages.  L10N refers to the adaptation of your program, once
internationalized, to the local language and cultural habits.

i    N(   u   ENOENTu   NullTranslationsu   GNUTranslationsu   Catalogu   findu   translationu   installu
   textdomainu   bindtextdomainu   dgettextu	   dngettextu   gettextu   ngettextu   shareu   localeuÊ  
        (?P<WHITESPACES>[ \t]+)                    | # spaces and horizontal tabs
        (?P<NUMBER>[0-9]+\b)                       | # decimal integer
        (?P<NAME>n\b)                              | # only n is allowed
        (?P<PARENTHESIS>[()])                      |
        (?P<OPERATOR>[-*/%+?:]|[><!]=?|==|&&|\|\|) | # !, *, /, %, +, -, <, >,
                                                     # <=, >=, ==, !=, &&, ||,
                                                     # ? :
                                                     # unary and bitwise ops
                                                     # not allowed
        (?P<INVALID>\w+|.)                           # invalid token
    c             c   st   xh t  j t |  ƒ D]T } | j } | d k r4 q n  | j | ƒ } | d k rb t d | ƒ ‚ n  | Vq Wd Vd  S(   Nu   WHITESPACESu   INVALIDu    invalid token in plural form: %su    (   u   reu   finditeru   _token_patternu	   lastgroupu   groupu
   ValueError(   u   pluralu   mou   kindu   value(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu	   _tokenizeR   s    		u	   _tokenizec             C   s"   |  r t  d |  ƒ St  d ƒ Sd  S(   Nu#   unexpected token in plural form: %su   unexpected end of plural form(   u
   ValueError(   u   value(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   _error]   s    u   _erroru   ||u   &&u   ==u   !=u   <u   >u   <=u   >=u   +u   -u   *u   /u   %c             C   s,   i  |  ]" \ } } | D] } | | “ q q S(    (    (   u   .0u   iu   opsu   op(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu
   <dictcomp>k   s   	 u
   <dictcomp>i   u   oru   andu   //c             C   sQ  d } t  |  ƒ } x& | d k r: | d 7} t  |  ƒ } q W| d k r‡ t |  ƒ \ } } d | | f } | d k rí t d ƒ ‚ qí nf | d k r¦ d	 | | f } nG y t | d
 ƒ } Wn! t k
 rÜ t | ƒ d  ‚ Yn Xd | | f } t  |  ƒ } d } x“ | t k r”t | } | | k  r(Pn  | d k rM| d k rMd | } n  t j | | ƒ } t |  | d ƒ \ }	 } d | | |	 f } | } qW| | k o¬d k n r¾d | } n  | d k rG| d k rGt |  d ƒ \ }
 } | d k rt | ƒ ‚ n  t |  ƒ \ } } d |
 | | f } | d k rGd | } qGn  | | f S(   Nu    u   !u   not u   (u   %s(%s)u   )u%   unbalanced parenthesis in plural formu   nu   %s%si
   u   %s%did   i   i   u   (%s)i   u   %s %s %su   ?i    u   :u   %s if %s else %s(   i   i   (   i   i   (	   u   nextu   _parseu
   ValueErroru   intu   _erroru   Noneu   _binary_opsu	   _c2py_opsu   get(   u   tokensu   priorityu   resultu   nexttoku   subu   valueu   ju   iu   opu   rightu   if_trueu   if_false(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   _parsen   sP    


u   _parsec             C   sE   y t  |  ƒ } Wn. t k
 r@ t d |  j j f ƒ d  ‚ Yn X|  S(   Nu'   Plural value must be an integer, got %s(   u   roundu	   TypeErroru	   __class__u   __name__u   None(   u   nu   i(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   _as_intŸ   s    u   _as_intc             C   s  t  |  ƒ d k r! t d ƒ ‚ n  y» t t |  ƒ ƒ \ } } | rQ t | ƒ ‚ n  d } x[ | D]S } | d k r˜ | d 7} | d k r± t d ƒ ‚ q± q^ | d k r^ | d 8} q^ q^ Wi t d	 6} t d
 | | ƒ | d SWn t k
 rü t d ƒ ‚ Yn Xd S(   u‰   Gets a C expression as used in PO files for plural forms and returns a
    Python function that implements an equivalent expression.
    iè  u"   plural form expression is too longi    u   (i   i   u%   plural form expression is too complexu   )u   _as_intu›   if True:
            def func(n):
                if not isinstance(n, int):
                    n = _as_int(n)
                return int(%s)
            u   funcN(   u   lenu
   ValueErroru   _parseu	   _tokenizeu   _erroru   _as_intu   execu   RuntimeError(   u   pluralu   resultu   nexttoku   depthu   cu   ns(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   c2py§   s(    
u   c2pyc             C   s¬  t  j |  ƒ }  d } d	 } d
 } d } |  j d ƒ } | d k ro |  | d  … } |  d  | … }  | | O} n d } |  j d ƒ } | d k r½ |  | d  … } |  d  | … }  | | O} n d } |  j d ƒ } | d k r|  | d  … } |  d  | … }  | | O} n d } |  }	 g  }
 x~ t | d ƒ D]l } | | @s.|	 } | | @r\| | 7} n  | | @rs| | 7} n  | | @rŠ| | 7} n  |
 j | ƒ q.q.W|
 j ƒ  |
 S(   Ni   i    i   u   @u    u   .u   _i   i   i   (   u   localeu	   normalizeu   findu   rangeu   appendu   reverse(   u   locu   COMPONENT_CODESETu   COMPONENT_TERRITORYu   COMPONENT_MODIFIERu   masku   posu   modifieru   codesetu	   territoryu   languageu   retu   iu   val(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   _expand_langË   sJ    
 
 
 
u   _expand_langc             B   sª   |  Ee  Z d  Z d d d „ Z d d „  Z d d „  Z d d „  Z d	 d
 „  Z d d „  Z	 d d „  Z
 d d „  Z d d „  Z d d „  Z d d „  Z d d d „ Z d S(   u   NullTranslationsc             C   sD   i  |  _  d  |  _ d  |  _ d  |  _ | d  k	 r@ |  j | ƒ n  d  S(   N(   u   _infou   Noneu   _charsetu   _output_charsetu	   _fallbacku   _parse(   u   selfu   fp(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   __init__ö   s    				u   NullTranslations.__init__c             C   s   d  S(   N(    (   u   selfu   fp(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   _parseþ   s    u   NullTranslations._parsec             C   s)   |  j  r |  j  j | ƒ n	 | |  _  d  S(   N(   u	   _fallbacku   add_fallback(   u   selfu   fallback(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   add_fallback  s    	u   NullTranslations.add_fallbackc             C   s   |  j  r |  j  j | ƒ S| S(   N(   u	   _fallbacku   gettext(   u   selfu   message(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   gettext  s    	u   NullTranslations.gettextc             C   s   |  j  r |  j  j | ƒ S| S(   N(   u	   _fallbacku   lgettext(   u   selfu   message(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   lgettext  s    	u   NullTranslations.lgettextc             C   s7   |  j  r |  j  j | | | ƒ S| d k r/ | S| Sd  S(   Ni   (   u	   _fallbacku   ngettext(   u   selfu   msgid1u   msgid2u   n(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   ngettext  s
    	u   NullTranslations.ngettextc             C   s7   |  j  r |  j  j | | | ƒ S| d k r/ | S| Sd  S(   Ni   (   u	   _fallbacku	   lngettext(   u   selfu   msgid1u   msgid2u   n(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu	   lngettext  s
    	u   NullTranslations.lngettextc             C   s   |  j  S(   N(   u   _info(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   info!  s    u   NullTranslations.infoc             C   s   |  j  S(   N(   u   _charset(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   charset$  s    u   NullTranslations.charsetc             C   s   |  j  S(   N(   u   _output_charset(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   output_charset'  s    u   NullTranslations.output_charsetc             C   s   | |  _  d  S(   N(   u   _output_charset(   u   selfu   charset(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   set_output_charset*  s    u#   NullTranslations.set_output_charsetc             C   s²   d d  l  } |  j | j d <t | d ƒ r® d | k rN | j d | j d <n  d | k rm |  j | j d <n  d | k rŒ |  j | j d <n  d | k r® |  j | j d <q® n  d  S(   Ni    u   _u   __contains__u   gettextu   ngettextu   lgettextu	   lngettext(   u   builtinsu   gettextu   __dict__u   hasattru   ngettextu   lgettextu	   lngettext(   u   selfu   namesu   builtins(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   install-  s    u   NullTranslations.installN(   u   __name__u
   __module__u   __qualname__u   Noneu   __init__u   _parseu   add_fallbacku   gettextu   lgettextu   ngettextu	   lngettextu   infou   charsetu   output_charsetu   set_output_charsetu   install(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   NullTranslationsõ   s   c             B   s\   |  Ee  Z d  Z d Z d Z d d „  Z d d „  Z d d „  Z d	 d
 „  Z d d „  Z	 d S(   u   GNUTranslationsl   Þ* l   •$< c              C   s­  t  j } t | d d ƒ } i  |  _ } d d „  |  _ | j ƒ  } t | ƒ } | d | d d … ƒ d } | |  j k r© | d	 | d d
 … ƒ \ } }	 }
 } d } nO | |  j k ræ | d | d d
 … ƒ \ } }	 }
 } d } n t	 d d | ƒ ‚ x®t
 d |	 ƒ D]} | | | |
 |
 d … ƒ \ } } | | } | | | | | d … ƒ \ } } | | } | | k  r£| | k  r£| | | … } | | | … } n t	 d d | ƒ ‚ | d k rîd } } x | j d j d ƒ ƒ D]} | j ƒ  j ƒ  } | sqän  d | k r`| j d d ƒ \ } } | j ƒ  j ƒ  } | j ƒ  } | |  j | <| } n | r~|  j | d | 7<n  | d k r£| j d ƒ d |  _ qä| d k rä| j d ƒ } | d j d ƒ d } t | ƒ |  _ qäqäWn  |  j púd } d | k ru| j d ƒ \ } } | j d ƒ } t | | ƒ } xR t | ƒ D]% \ } } t | | ƒ | | | f <qIWn t | | ƒ | t | | ƒ <|
 d 7}
 | d 7} qWd S(   u8   Override this method to support alternative .mo formats.u   nameu    c             S   s   t  |  d k ƒ S(   Ni   (   u   int(   u   n(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   <lambda>G  s    u(   GNUTranslations._parse.<locals>.<lambda>u   <INi   i    u   <4Ii   u   <IIu   >4Iu   >IIu   Bad magic numberi   u   File is corruptu   
u   asciiu   :i   u   content-typeu   charset=u   plural-formsu   ;u   plural=s    (   u   structu   unpacku   getattru   _catalogu   pluralu   readu   lenu   LE_MAGICu   BE_MAGICu   IOErroru   rangeu   Noneu   splitu   encodeu   decodeu   stripu   loweru   _infou   _charsetu   c2pyu   stru	   enumerate(    u   selfu   fpu   unpacku   filenameu   catalogu   bufu   buflenu   magicu   versionu   msgcountu	   masteridxu   transidxu   iiu   iu   mlenu   moffu   mendu   tlenu   toffu   tendu   msgu   tmsgu   lastku   ku   b_itemu   itemu   vu   pluralu   charsetu   msgid1u   msgid2u   x(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   _parse@  sj    	%	%	#
#

	
 
u   GNUTranslations._parsec             C   ss   t  ƒ  } |  j j | | ƒ } | | k rG |  j rC |  j j | ƒ S| S|  j r` | j |  j ƒ S| j t j ƒ  ƒ S(   N(	   u   objectu   _catalogu   getu	   _fallbacku   lgettextu   _output_charsetu   encodeu   localeu   getpreferredencoding(   u   selfu   messageu   missingu   tmsg(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   lgettext  s    			u   GNUTranslations.lgettextc             C   s˜   yL |  j  | |  j | ƒ f } |  j r8 | j |  j ƒ S| j t j ƒ  ƒ SWnE t k
 r“ |  j r{ |  j j | | | ƒ S| d k r‹ | S| SYn Xd  S(   Ni   (	   u   _catalogu   pluralu   _output_charsetu   encodeu   localeu   getpreferredencodingu   KeyErroru	   _fallbacku	   lngettext(   u   selfu   msgid1u   msgid2u   nu   tmsg(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu	   lngettext˜  s    		u   GNUTranslations.lngettextc             C   sK   t  ƒ  } |  j j | | ƒ } | | k rG |  j rC |  j j | ƒ S| S| S(   N(   u   objectu   _catalogu   getu	   _fallbacku   gettext(   u   selfu   messageu   missingu   tmsg(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   gettext¦  s    		u   GNUTranslations.gettextc             C   ss   y  |  j  | |  j | ƒ f } WnL t k
 rn |  j rO |  j j | | | ƒ S| d k rd | } n | } Yn X| S(   Ni   (   u   _catalogu   pluralu   KeyErroru	   _fallbacku   ngettext(   u   selfu   msgid1u   msgid2u   nu   tmsg(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   ngettext¯  s     		u   GNUTranslations.ngettextN(
   u   __name__u
   __module__u   __qualname__u   LE_MAGICu   BE_MAGICu   _parseu   lgettextu	   lngettextu   gettextu   ngettext(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   GNUTranslations;  s   M	c             C   sT  | d  k r t } n  | d  k r‚ g  } x9 d D]1 } t j j | ƒ } | r. | j d ƒ } Pq. q. Wd | k r‚ | j d ƒ q‚ n  g  } xA | D]9 } x0 t | ƒ D]" } | | k r¢ | j | ƒ q¢ q¢ Wq W| rÛ g  }	 n d  }	 xl | D]d } | d k rþ Pn  t j j	 | | d d |  ƒ }
 t j j
 |
 ƒ rè | rE|	 j |
 ƒ qL|
 Sqè qè W|	 S(	   Nu   LANGUAGEu   LC_ALLu   LC_MESSAGESu   LANGu   :u   Cu   %s.mo(   u   LANGUAGEu   LC_ALLu   LC_MESSAGESu   LANG(   u   Noneu   _default_localediru   osu   environu   getu   splitu   appendu   _expand_langu   pathu   joinu   exists(   u   domainu	   localediru	   languagesu   allu   envaru   valu   nelangsu   langu   nelangu   resultu   mofile(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   find½  s8    		c             C   s  | d  k r t } n  t |  | | d d ƒ} | sU | r@ t ƒ  St t d |  ƒ ‚ n  d  } x» | D]³ } | t j j	 | ƒ f }	 t
 j |	 ƒ }
 |
 d  k rÎ t | d ƒ  } t
 j |	 | | ƒ ƒ }
 Wd  QXn  t j |
 ƒ }
 | ró |
 j | ƒ n  | d  k r|
 } qb | j |
 ƒ qb W| S(   Nu   allu$   No translation file found for domainu   rbT(   u   Noneu   GNUTranslationsu   findu   Trueu   NullTranslationsu   IOErroru   ENOENTu   osu   pathu   abspathu   _translationsu   getu   openu
   setdefaultu   copyu   set_output_charsetu   add_fallback(   u   domainu	   localediru	   languagesu   class_u   fallbacku   codesetu   mofilesu   resultu   mofileu   keyu   tu   fp(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   translationå  s*    	!	c             C   s,   t  |  | d d d | ƒ} | j | ƒ d  S(   Nu   fallbacku   codesetT(   u   translationu   Trueu   install(   u   domainu	   localediru   codesetu   namesu   t(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   install  s    u   messagesc             C   s   |  d  k	 r |  a n  t S(   N(   u   Noneu   _current_domain(   u   domain(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu
   textdomain  s    	c             C   s)   | d  k	 r | t |  <n  t j |  t ƒ S(   N(   u   Noneu   _localedirsu   getu   _default_localedir(   u   domainu	   localedir(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   bindtextdomain  s    c             C   s&   | d  k	 r | t |  <n  t j |  ƒ S(   N(   u   Noneu   _localecodesetsu   get(   u   domainu   codeset(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   bind_textdomain_codeset   s    u   bind_textdomain_codesetc             C   sT   y. t  |  t j |  d  ƒ d t j |  ƒ ƒ} Wn t k
 rF | SYn X| j | ƒ S(   Nu   codeset(   u   translationu   _localedirsu   getu   Noneu   _localecodesetsu   IOErroru   gettext(   u   domainu   messageu   t(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   dgettext'  s    	c             C   sT   y. t  |  t j |  d  ƒ d t j |  ƒ ƒ} Wn t k
 rF | SYn X| j | ƒ S(   Nu   codeset(   u   translationu   _localedirsu   getu   Noneu   _localecodesetsu   IOErroru   lgettext(   u   domainu   messageu   t(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu	   ldgettext/  s    	u	   ldgettextc             C   sj   y. t  |  t j |  d  ƒ d t j |  ƒ ƒ} Wn& t k
 rV | d k rN | S| SYn X| j | | | ƒ S(   Nu   codeseti   (   u   translationu   _localedirsu   getu   Noneu   _localecodesetsu   IOErroru   ngettext(   u   domainu   msgid1u   msgid2u   nu   t(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu	   dngettext7  s    	c             C   sj   y. t  |  t j |  d  ƒ d t j |  ƒ ƒ} Wn& t k
 rV | d k rN | S| SYn X| j | | | ƒ S(   Nu   codeseti   (   u   translationu   _localedirsu   getu   Noneu   _localecodesetsu   IOErroru	   lngettext(   u   domainu   msgid1u   msgid2u   nu   t(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu
   ldngettextB  s    	u
   ldngettextc             C   s   t  t |  ƒ S(   N(   u   dgettextu   _current_domain(   u   message(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   gettextM  s    c             C   s   t  t |  ƒ S(   N(   u	   ldgettextu   _current_domain(   u   message(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   lgettextP  s    u   lgettextc             C   s   t  t |  | | ƒ S(   N(   u	   dngettextu   _current_domain(   u   msgid1u   msgid2u   n(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   ngettextS  s    c             C   s   t  t |  | | ƒ S(   N(   u
   ldngettextu   _current_domain(   u   msgid1u   msgid2u   n(    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu	   lngettextV  s    u	   lngettext(   u   ||(   u   &&(   u   ==u   !=(   u   <u   >u   <=u   >=(   u   +u   -(   u   *u   /u   %(   (   u   ||(   u   &&(   u   ==u   !=(   u   <u   >u   <=u   >=(   u   +u   -(   u   *u   /u   %iÿÿÿÿF(3   u   __doc__u   localeu   copyu   iou   osu   reu   structu   sysu   errnou   ENOENTu   __all__u   pathu   joinu   base_prefixu   _default_localediru   compileu   VERBOSEu   DOTALLu   _token_patternu	   _tokenizeu   _erroru   _binary_opsu	   enumerateu	   _c2py_opsu   _parseu   _as_intu   c2pyu   _expand_langu   NullTranslationsu   GNUTranslationsu   Noneu   Falseu   findu   _translationsu   translationu   installu   _localedirsu   _localecodesetsu   _current_domainu
   textdomainu   bindtextdomainu   bind_textdomain_codesetu   dgettextu	   ldgettextu	   dngettextu
   ldngettextu   gettextu   lgettextu   ngettextu	   lngettextu   Catalog(    (    (    u,   /opt/alt/python33/lib64/python3.3/gettext.pyu   <module>   sX   &T	     1$*F‚&