online !ˆl–ß=¿JJj"Tâ‚fà™¸ÓjbÑ¿Ë 0ÊÀÈ ˆ¾Ë 0ÊÀÈ;ˆl–äY>””†Ù”â�nãa¸&TÅ£Ì „ ÀuŸËa–ß=¿JJj"Tâ‚fà™¸ÓŠbÑ¿Ê?÷a ´i‚jã@sˆdZddlZddlZddlZgd¢Zej ejdd¡Ze  dej ej B¡Z dd„Z d d „Zd Zd d „eedƒDƒZddddœZdGdd„Zdd„Zdd„Zdd„ZGdd„dƒZGdd„deƒZdHd!d"„ZiZd#gZdddd efd$d%„Zdedfd&d'„Ziaiad(adId)d*„Z dJd+d,„Z!dKd-d.„Z"d/d0„Z#d1d2„Z$d3d4„Z%d5d6„Z&d7d8„Z'd9d:„Z(d;d<„Z)d=d>„Z*d?d@„Z+dAdB„Z,dCdD„Z-dEdF„Z.eZ/dS)Laª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. éN)ÚNullTranslationsÚGNUTranslationsÚCatalogÚfindÚ translationÚinstallÚ textdomainÚbindtextdomainÚbind_textdomain_codesetÚdgettextÚ dngettextÚgettextÚlgettextÚ ldgettextÚ ldngettextÚ lngettextÚngettextÚpgettextÚ dpgettextÚ npgettextÚ dnpgettextÚshareÚlocaleaÊ (?P[ \t]+) | # spaces and horizontal tabs (?P[0-9]+\b) | # decimal integer (?Pn\b) | # only n is allowed (?P[()]) | (?P[-*/%+?:]|[>, # <=, >=, ==, !=, &&, ||, # ? : # unary and bitwise ops # not allowed (?P\w+|.) # invalid token ccsPt t|¡D]8}|j}|dkr q | |¡}|dkr>td|ƒ‚|Vq dVdS)NÚ WHITESPACESÚINVALIDz invalid token in plural form: %sÚ)ÚreÚfinditerÚ_token_patternÚ lastgroupÚgroupÚ ValueError)ÚpluralÚmoÚkindÚvalue©r&ú/usr/lib64/python3.9/gettext.pyÚ _tokenizeVs  r(cCs|rtd|ƒStdƒSdS)Nz#unexpected token in plural form: %szunexpected end of plural form)r!)r%r&r&r'Ú_erroras r)))ú||)ú&&)z==z!=)ú<ú>z<=z>=)ú+ú-)Ú*ú/ú%cCs i|]\}}|D] }||“qqSr&r&)Ú.0ÚiÚopsÚopr&r&r'Ú oór7éÚorÚandz//)r*r+r1éÿÿÿÿc Cs¦d}t|ƒ}|dkr&|d7}t|ƒ}q |dkrXt|ƒ\}}d||f}|dkr¦tdƒ‚nN|dkrnd ||f}n8zt|d ƒ}Wnty˜t|ƒd‚Yn0d ||f}t|ƒ}d }|tv�rt|}||krÐ�q|d vrè|d vrèd|}t ||¡}t||dƒ\} }d||| f}|}q²||k�r2dk�r>nnd|}|dk�rž|dk�ržt|dƒ\} }|dk�rrt|ƒ‚t|ƒ\} }d| || f}|dk�ržd|}||fS)Nrú!znot ú(z%s(%s)ú)z%unbalanced parenthesis in plural formÚnz%s%sé z%s%déd)ééz(%s)r9z%s %s %srDú?rú:z%s if %s else %s)ÚnextÚ_parser!Úintr)Ú _binary_opsÚ _c2py_opsÚget) ÚtokensÚpriorityÚresultÚnexttokÚsubr%Újr4r6ÚrightÚif_trueÚif_falser&r&r'rHrsP           rHcCsXz t|ƒ}Wn&ty2td|jjfƒd‚Yn0ddl}| d|jjftd¡|S)Nz'Plural value must be an integer, got %srrD)ÚroundÚ TypeErrorÚ __class__Ú__name__ÚwarningsÚwarnÚDeprecationWarning)r@r4rZr&r&r'Ú_as_int£s  ÿÿÿþr]cCs°t|ƒdkrtdƒ‚z|tt|ƒƒ\}}|r2t|ƒ‚d}|D]6}|dkr`|d7}|dkrpt