kf6UdZddlmZddlmZddlmZmZedZde d<iddd d d d d ddddddddd ddddddddddddddddddiddd dd!dd"dd#dd$dd%d&d'd&d(d)d*dd+dd,dd-dd.d d/dd0dd1d2id3dd4dd5dd6dd7dd8dd9dd:dd;d<d=d>d?d@dAddBddCddDddEddFdGidHddId&dJdKdLd dMddNdOdPd dQddRddSddTddUd dVddWddXddYdZ dZe d[<dZ d\e d]<Gd^d_e Z efdddbZdcS)ez babel.messages.plurals ~~~~~~~~~~~~~~~~~~~~~~ Plural form definitions. :copyright: (c) 2013-2023 by the Babel Team. :license: BSD, see LICENSE for more details. ) annotations) itemgetter)Localedefault_localeLC_CTYPE str | Noneaf)z(n != 1)ar)z[(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=0 && n%100<=2 ? 4 : 5)be)zR(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)bgbnbo)0br)r a&(n==1 ? 0 : n%10==1 && n%100!=11 && n%100!=71 && n%100!=91 ? 1 : n%10==2 && n%100!=12 && n%100!=72 && n%100!=92 ? 2 : (n%10==3 || n%10==4 || n%10==9) && n%100!=13 && n%100!=14 && n%100!=19 && n%100!=73 && n%100!=74 && n%100!=79 && n%100!=93 && n%100!=94 && n%100!=99 ? 3 : n%1000000==0 ? 4 : 5)bscacs)rz%((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2)cvcy)z/(n==1 ? 1 : n==2 ? 2 : n==3 ? 3 : n==6 ? 4 : 0)dadedzeleneoeseteufafifr)r z(n > 1)furga)rz@(n==1 ? 0 : n==2 ? 1 : n>=3 && n<=6 ? 2 : n>=7 && n<=10 ? 3 : 4)glhahehihrhuhyis)r z(n%10==1 && n%100!=11 ? 0 : 1)itjakakgkmkokulolt)rzG(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)lv)rz+(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)mt)zS(n==1 ? 0 : n==0 || ( n%100>=1 && n%100<=10) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3)nbnlnnnopapl)rzB(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)ptpt_BRro)rz8(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2)rusksl)r<z<(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)srstsvthtrukvevixhzhzdict[str, tuple[int, str]]PLURALSztuple[int, str]DEFAULT_PLURALceZdZdZdZeeddZeeddZedd Z dd Z d S) _PluralTuplez A tuple with plural information.rz. The number of plurals used by the locale.)docrz. The plural expression used by the locale.c d|zS)Nznplurals=%s; plural=%s;rW)xs v/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib/python3.11/site-packages/babel/messages/plurals.pyz_PluralTuple.s &?!&Cz9 The plural expression used by the catalog or locale.returnstrc|jS)N) plural_forms)selfs r[__str__z_PluralTuple.__str__s   r]N)r^r_) __name__ __module__ __qualname____doc__ __slots__propertyr num_plurals plural_exprrarcrWr]r[rVrVs**I(::a==/1222K(::a==/1222K8CCJ<===L!!!!!!r]rVlocaler^ctj|} tt|}n;#t$r. t|j}n#t$r t }YnwxYwYnwxYwt|S)aA tuple with the information catalogs need to perform proper pluralization. The first item of the tuple is the number of plural forms, the second the plural expression. >>> get_plural(locale='en') (2, '(n != 1)') >>> get_plural(locale='ga') (5, '(n==1 ? 0 : n==2 ? 1 : n>=3 && n<=6 ? 2 : n>=7 && n<=10 ? 3 : 4)') The object returned is a special tuple with additional members: >>> tup = get_plural("ja") >>> tup.num_plurals 1 >>> tup.plural_expr '0' >>> tup.plural_forms 'nplurals=1; plural=0;' Converting the tuple into a string prints the plural forms for a gettext catalog: >>> str(tup) 'nplurals=1; plural=0;' )rparserSr_KeyErrorlanguagerTrV)rltups r[ get_pluralrrs4\& ! !F!c&kk" !!! !&/*CC ! ! ! CCC !!   s21 A)AA)A# A)"A##A)(A)N)rlrr^rV)rg __future__roperatorr babel.corerrr__annotations__rSrTtuplerVrrrWr]r[rxs#"""""-------- &~j111111t' /t'  l!t'8 c9t'< /=t'L /Mt'P (Qt'T  Ut'b cct'f /gt'z 6{t'B (Ct'F @Gt'J /Kt'N /Ot'V (Wt'Z /[t'^ /_t't'b /ct'f /gt'j /kt'n /ot'r (st'v /wt'z .{t'~ >t'B QCt'F /Gt'J /Kt'N /Ot'R /St'V cWt'Z ([t'^ (_t'b /ct't't'f /gt'j (kt'n (ot'r /st'v (wt'z ({t'~ /t'B (Ct'F XGt'J