+
    i[T  c                   s   R t ^ RIt^ RIt^ RIt. R$Ot]P
                  P                  ]P                  RR4      tRs	R t
R tR%t]! ]^4       U UUu/ uF  w  rV F  q"V bK  	  K  	  uppp tRRR	RR
R/tR&R ltR tR tR tR t ! R R4      t ! R R]4      tR'R lt/ tR(R ltR)RR/R llt/ sRsR)R ltR)R ltR tR tR t R t!R  t"R! t#R" t$R# t%]t&R# u uppp i )*a  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GNUTranslationsZsharelocalec              #   sF  "   \         f2   ^ R IpVP                  RVP                  VP                  ,          4      s \         P                  V 4       FF  pVP                  pVR8X  d   K  VP                  V4      pVR8X  d   \        RV,          4      hVx  KH  	  Rx  R # 5i)Na"  
                (?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
            ZWHITESPACESZINVALIDz invalid token in plural form: %s )	_token_patternreZcompileZVERBOSEZDOTALLZfinditerZ	lastgroupZgroup
ValueError)pluralr   ZmoZkindvalues   &     /usr/lib64/python3.14/gettext.py	_tokenizer
   G   s      % BII%' %%f-||= 9?%GHH . Hs   BB!c                 sL    V '       d   \        R V ,          4      # \        R4      # )z#unexpected token in plural form: %szunexpected end of plural form)r   )r      &r	   _errorr   c   s"    ?%GHH9::    ||&&/ZorZandz//c                 s    R p\        V 4      pVR8X  d   VR,          p\        V 4      pK  VR8X  d+   \        V 4      w  rCV: RV: R2pVR8w  d   \        R4      hM'VR8X  d
   V: V: 2pM \        V^
4      pRY%3,          p\        V 4      p^dpV\
        9   df   \
        V,          pWq8  d   MQVR9   d   VR9   d
   R	V,          p\        P                  W34      p\        W^,           4      w  rV: R
V: R
V	: 2pTpKp  Yau;8X  d   ^8X  d   M M	R	V,          pVR8X  dR   V^ 8:  dK   \        V ^ 4      w  rVR8w  d   \	        V4      h\        V 4      w  rV
: RV: RV: 2pV^ 8X  d
   R	V,          pW#3#   \         d    \	        T4      Rhi ; i)r   Z!znot ()z%unbalanced parenthesis in plural formnNz%s%dz(%s)Z Z?:z if z else )i      )Znext_parser   intr   _binary_ops	_c2py_opsget)ZtokensZpriorityresultnexttokZsubr   ZjiopZrightZif_trueZif_falses   &&          r	   r   r   v   s   F6lG
S.&v,#~f~#S)c>DEE 	C!7+	,$E 6/)6lGA
[
  <;1;f_F]]7,A.%r51&#~(a-!&!,c>/!"6N'.Aq=f_F?=  	,/t+	,s   -E5 5Fc                 s     \        V 4       \	        T 4      #   \         d&    \        R T P                  P                  : 24      Rhi ; i)%Plural value must be an integer, got N)Zround	TypeError	__class____name___as_int2r   r   r	   _as_intr%      sM    ;a A;  ;--0 16:	;;s	    0Ac                 s~    \         P                  ! V 4      #   \         d     Mi ; i^ RIp\        P
                  ! ^4      p^pTP                  e<   TP                  P                  R4      \        8X  d   T^,          pTP                  pKI  TP                  RT P                  P                  : 2\        T4       T # )    Nr"   r   )operatorZindexr    warningssysZ	_getframeZf_backZ	f_globalsr   r"   Zwarnr!   ZDeprecationWarning)r   r(   ZframeZ
stacklevels   &   r	   r#   r#      s    ~~a    MM!EJ
,,
"u':'::'F('Ra
MM;;''*$ Hs    &&c                s   \        V 4      R8  d   \        R4      h \        \        V 4      4      w  rV'       d   \	        V4      h^ pV F9  pVR8X  d   V^,          pV^8  d   \        R4      hK'  VR8X  g   K0  V^,          pK;  	  R\
        R\        /p\        RV,          V4       VR	,          #   \         d    \        R4      hi ; i)
zGets a C expression as used in PO files for plural forms and returns a
Python function that implements an equivalent expression.
i  z"plural form expression is too longr   z%plural form expression is too complexr   r%   r"   zif True:
            def func(n):
                if not isinstance(n, int):
                    n = _as_int(n)
                return int(%s)
            Zfunc)	lenr   r   r
   r   r%   r"   ZexecZRecursionError)r   r   r   ZdepthZcZnss   &     r	   c2pyr+      s    
 6{T=>>B 6!23/!ACx
2: %%LMM  c
  *h7 
 
 	 &z B@AABs   AB1 :6B1 1Cc                 sn   ^ RI pVP                  V 4      p ^p^p^p^ pV P                  R4      pV^ 8  d   WR pV RV p WT,          pMRpV P                  R4      pV^ 8  d   WR pV RV p WR,          pMRpV P                  R4      pV^ 8  d   WR p	V RV p WS,          pMRp	T p
. p\        V^,           4       Fi  pW( ,          '       d   K  T
pW,          '       d	   W,          pW,          '       d	   W,          pW,          '       d	   W,          pVP	                  V4       Kk  	  VP                  4        V# )r&   NZ@r   Z._)r   Z	normalizefindrangeappendZreverse)Zlocr   ZCOMPONENT_CODESETZCOMPONENT_TERRITORYZCOMPONENT_MODIFIERZmaskZposZmodifierZcodesetZ	territoryZlanguageZretr   vals   &             r	   _expand_langr1      s>   


3
C   D
((3-C
axt9$3i"
((3-C
axd)$3i!
((3-C
axI	$3i#	H
C46]E		C&&(8$$%%JJsO  KKMJr   c                   sd   a  ] tR tRt o RR ltR tR tR tR tR t	R	 t
R
 tR tRR ltRtV tR# )r    i  Nc                s^    / V n         R V n        R V n        Ve   V P                  V4       R # R # N)_info_charset	_fallbackr   selffp   &&r	   __init__ZNullTranslations.__init__  s,    
>KKO r   c                s    R # r2    r6   r9   r	   r   ZNullTranslations._parse  s    r   c                sp    V P                   '       d   V P                   P                  V4       R # Wn         R # r2   )r5   add_fallback)r7   fallbackr9   r	   r<   ZNullTranslations.add_fallback  s"    >>>NN''1%Nr   c                s`    V P                   '       d   V P                   P                  V4      # V# r2   )r5   gettext)r7   messager9   r	   r>   ZNullTranslations.gettext"  s%    >>>>>))'22r   c                s    V P                   '       d   V P                   P                  WV4      # \        V4      pV^8X  d   V# V#    )r5   ngettextr#   )r7   msgid1msgid2r      &&&&r	   rB   ZNullTranslations.ngettext'  s<    >>>>>**61==QK6MMr   c                s`    V P                   '       d   V P                   P                  W4      # V# r2   )r5   pgettext)r7   contextr?      &&&r	   rF   ZNullTranslations.pgettext0  s%    >>>>>**7<<r   c                s    V P                   '       d   V P                   P                  WW44      # \        V4      pV^8X  d   V# V# r@   )r5   	npgettextr#   )r7   rG   rC   rD   r   s   &&&&&r	   rI   ZNullTranslations.npgettext5  s<    >>>>>++GVGGQK6MMr   c                    V P                   # r2   )r3   r7   r   r	   infoZNullTranslations.info>  s    zzr   c                rJ   r2   )r4   rK   r   r	   charsetZNullTranslations.charsetA  s    }}r   c                s    ^ RI pV P                  VP                  R&   Ve8   0 RmpV\        V4      ,           F  p\	        W4      VP                  V&   K  	  R# R# )r&   Nr,   >   r>   rB   rF   rI   )builtinsr>   Z__dict__Zsetgetattr)r7   namesrN   Zallowednames   &&   r	   installZNullTranslations.installD  sT    !%#FG#e*,,*1$*=!!$' - r   )r4   r5   r3   r2   )r"   
__module____qualname____firstlineno__r:   r   r<   r>   rB   rF   rI   rL   rM   rR   __static_attributes____classdictcell__Z__classdict__   @r	   r    r      s<     &

> >r   c                   sT   a  ] tR tRt o RtRtRtRtR tR t	R t
R tR	 tR
 tRtV tR# )r   iM  l   * l   $< z%s%sc                s&    V^,	          VR,          3# )z/Returns a tuple of major version, minor versioni  r;   )r7   versionr9   r	   _get_versionsZGNUTranslations._get_versionsY  s    2w/00r   c                s   ^ RI Hp \        VRR4      p/ ;V n        pR V n        VP                  4       p\        V4      pV! RVR,          4      ^ ,          pWpP                  8X  d   V! RVR,          4      w  rrR	pM3WpP                  8X  d   V! R
VR,          4      w  rrRpM\        ^ RV4      hV P                  V4      w  rWP                  9  d   \        ^ R\        V4      ,           V4      h\        ^ V	4       EF  pV! WW^,            4      w  ppVV,           pV! WW^,            4      w  ppVV,           pVV8  d   VV8  d   VVV pVVV pM\        ^ RV4      hV^ 8X  Edt   RpVP                  R4       EF[  pVP                  4       P!                  4       pV'       g   K,  VP#                  R4      '       d   VP%                  R4      '       d   K\  R;ppRV9   dV   VP                  R^4      w  ppVP!                  4       P'                  4       pVP!                  4       pVV P(                  V&   TpM.V'       d'   V P(                  V;;,          RV,           ,          uu&   VR8X  d!   VP                  R4      ^,          V n        EK  VR8X  g   EK  VP                  R4      pV^,          P                  R4      ^,          p\-        V4      V n        EK^  	  V P*                  ;'       g    RpRV9   dY   VP                  R4      w  pp VP                  R4      p\        VV4      p\/        V4       F  w  pp!\        V!V4      VVV3&   K  	  M\        VV4      V\        VV4      &   V
^,          p
V^,          pEK  	  R# )z8Override this method to support alternative .mo formats.)unpackrQ   r   c                 s    \        V ^8g  4      # r@   )r   r$   r   r	   Z<lambda>Z(GNUTranslations._parse.<locals>.<lambda>f  s    AFr   z<I:Nr   Nz<4I:r   i   Nz<IIz>4Iz>IIzBad magic numberzBad version number zFile is corruptNs   
z	#-#-#-#-#r   Z
zcontent-typezcharset=zplural-formsZ;zplural=Zasciis    )Zstructr\   rO   _catalogr   Zreadr*   LE_MAGICBE_MAGICOSErrorr[   VERSIONSZstrr.   splitZdecodeZstripZ
startswithZendswithZlowerr3   r4   r+   	enumerate)"r7   r8   r\   ZfilenameZcatalogZbufZbuflenZmagicrZ   ZmsgcountZ	masteridxZtransidxZiiZmajor_versionZminor_versionr   ZmlenZmoffZmendZtlenZtoffZtendZmsgtmsgZlastkZb_itemZitemZkZvr   rM   rC   rD   Zxs"   &&                                r	   r   ZGNUTranslations._parse]  s    	"2vr* #%$+ggiStSW%a(MM!5;E3t95M2GyBmm#5;E3t95M2GyB!/::'+'9'9''B$-!2S5GGRR q(#A	A+$>?JD$$;D!$<=JD$$;Df}$tn4~a!2H==qy"jj/F!==?002D {33k8R8R  LAd{#zz#q11GGIOO-GGI()

1 !

5)TD[8)N*()
(;A(>n,GGCL!"1I!6q!9&*6l+ 0> mm..wG#~!$7!3zz'*VW-%dODAq+.q'?GVQK( , .1w-?C)*NIMHs $r   c                s   \        4       pV P                  P                  W4      pW2J d-   V P                  P                  WP                  ^4      3V4      pW2Jd   V# V P                  '       d   V P                  P                  V4      # V# r@   )objectr]   r   r   r5   r>   )r7   r?   missingrd   s   &&  r	   r>   ZGNUTranslations.gettext  sq    (}}  2?==$$g{{1~%>HDK>>>>>))'22r   c                s     V P                   WP                  V4      3,          pV#   \         dC    T P                  '       d   T P                  P	                  YT4      u # T^8X  d   Tp T# Tp T# i ; ir@   )r]   r   KeyErrorr5   rB   )r7   rC   rD   r   rd      &&&& r	   rB   ZGNUTranslations.ngettext  sw    	==&++a.!9:D   	~~~~~..vqAAAv  	s!   #' A4A4"	A4.A43A4c                sB   V P                   W3,          p\        4       pV P                  P                  W44      pWTJ d-   V P                  P                  W0P	                  ^4      3V4      pWTJd   V# V P
                  '       d   V P
                  P                  W4      # V# r@   )CONTEXTre   r]   r   r   r5   rF   )r7   rG   r?   ctxt_msg_idrf   rd   s   &&&   r	   rF   ZGNUTranslations.pgettext  s    llg%77(}}  6?==$$k;;q>%BGLDK>>>>>**7<<r   c                s   V P                   W3,          p V P                  WPP                  V4      3,          pV#   \         dC    T P                  '       d   T P                  P                  YY44      u # T^8X  d   Tp T# Tp T# i ; ir@   )ri   r]   r   rg   r5   rI   )r7   rG   rC   rD   r   rj   rd   s   &&&&&  r	   rI   ZGNUTranslations.npgettext  s    llg%66	==kk!n!<=D   	~~~~~//KKAv  	s!   #; BB6	BBB)r]   r4   r   N)r&   rA   )r"   rS   rT   rU   r^   r_   ri   ra   r[   r   r>   rB   rF   rI   rV   rW   rX   rY   r	   r   r   M  sB     HH G H1Wr	

 r   c                 s`   Vf   \         pVf^   . pR F=  p\        P                  P                  V4      pV'       g   K,  VP	                  R4      p M	  RV9  d   VP                  R4       . pV F.  p\        V4       F  pW9  g   K  VP                  V4       K  	  K0  	  V'       d   . p	MR p	V Fy  pVR8X  d    V	# \        P                  P                  WRRV ,          4      p
\        P                  P                  V
4      '       g   K\  V'       d   V	P                  V
4       Kw  V
u # 	  V	# )NLC_MESSAGESr   ZCz%s.mo)ZLANGUAGEZLC_ALLrk   ZLANG)
_default_localedirosZenvironr   rb   r/   r1   pathjoinZexists)domain	localedir	languagesallZenvarr0   ZnelangsZlangZnelangr   mofiles   &&&&       r	   r-   r-     s   &		BE**..'CsIIcN		 C
 iS!G"4(F$v& ) 
 3; M i}g>NO77>>&!!f%  Mr   c           	      s   Vf   \         p\        WVRR7      pV'       g&   V'       d   \        4       # ^ RIHp \        VRV 4      hR pV F  pV\        P                  P                  V4      3p	\        P                  V	4      p
V
f9   \        VR4      ;_uu_ 4       p\        P                  W! V4      4      p
R R R 4       ^ R IpVP                  V
4      p
Vf   T
pK  VP                  V
4       K  	  V#   + '       g   i     LD; i)NT)rs   )ENOENTz$No translation file found for domainZrb)r   r-   r    Zerrnoru   ZFileNotFoundErrorrm   rn   Zabspath_translationsr   ZopenZ
setdefaultcopyr<   )rp   rq   rr   Zclass_r=   Zmofilesru   r   rt   Zkeytr8   rw   s   &&&&&        r	   translationry     s    ~ 6iT:G#%%  FP 	P Frwwv./c"9fd##r!,,S&*= $ 	IIaL>F"! " M $#s   C33DrP   c                sB    \        WR R7      pVP                  V4       R# )T)r=   N)ry   rR   )rp   rq   rP   rx   s   &&$ r	   rR   rR   2  s    F5AIIer   Zmessagesc                 s    V e   V s \         # r2   )_current_domain)rp   r   r	   
textdomainr{   =  s     r   c                 sP    Ve
   V\         V &   \         P                  V \        4      # r2   )_localedirsr   rl   )rp   rq   r9   r	   bindtextdomainr}   D  s$    'F??6#566r   c                 s     \        V \        P                  V R 4      4      pTP	                  T4      #   \         d    Tu # i ; ir2   )ry   r|   r   r`   r>   )rp   r?   rx   s   && r	   dgettextr~   K  sE     => 99W      3 AAc                 s     \        V \        P                  V R 4      4      pTP                  YT4      #   \         d    \	        T4      pT^8X  d   Tu # Tu # i ; ir2   )ry   r|   r   r`   r#   rB   )rp   rC   rD   r   rx   rh   r	   	dngettextr   S  s\     => ::fa((  QK6MM    4 AAAc                 s     \        V \        P                  V R 4      4      pTP	                  Y4      #   \         d    Tu # i ; ir2   )ry   r|   r   r`   rF   )rp   rG   r?   rx   s   &&& r	   	dpgettextr   _  sE     => ::g''  r   c                 s     \        V \        P                  V R 4      4      pTP                  YY44      #   \         d    \	        T4      pT^8X  d   Tu # Tu # i ; ir2   )ry   r|   r   r`   r#   rI   )rp   rG   rC   rD   r   rx   s   &&&&& r	   
dnpgettextr   g  s\     => ;;w22  QK6MMr   c                 s"    \        \        V 4      # r2   )r~   rz   )r?   r   r	   r>   r>   s  s    OW--r   c                 s$    \        \        WV4      # r2   )r   rz   )rC   rD   r   rH   r	   rB   rB   w  s    _fa88r   c                 s"    \        \        W4      # r2   )r   rz   )rG   r?   r9   r	   rF   rF   {  s    _g77r   c                 s$    \        \        WW#4      # r2   )r   rz   )rG   rC   rD   r   rE   r	   rI   rI     s    owBBr   )r    r   Catalogr}   r-   ry   rR   r{   r~   r   r>   rB   rF   r   rI   r   ))r   )r   )z==z!=)Z<Z>z<=z>=)Z+Z-)Z*r   Z%)i)NNF)NNNFr2   )'Z__doc__r'   rm   r)   Z__all__rn   ro   Zbase_prefixrl   r   r
   r   r   rc   r   r   r%   r#   r+   r1   r    r   r-   rv   ry   rR   r|   rz   r{   r}   r~   r   r   r   r>   rB   rF   rI   r   )r   Zopsr   s   000r	   <module>r      s3  
Z  	 
 WW\\#//7HE  8; $-[!#<K#<s1usr#<K4uc40	/d&!BH'T9> 9>xW& Wv!J DT  7	)(	3.98C$  Ls   C