HzddlmZddlmZGddeZGddeZGddeZGd d eZGd d eZ Gd deZ GddeZ dS)) BaseStemmer)Amongc" eZdZdZedddedddedddeddded dded dded dded dded ddedddg ZedddedddedddedddedddedddgZedddedddedddedddedddedddgZedddedddgZedddeddded dded!dded"dded#dd$ed%dd&ed'dd(ed)ddg Z ed*dded+dded,dded-dded.dded/dded0ddgZ ed1dd2edd3dedd3dedd3dedd3dedd$dedd$ded4d$dedddeddded5dded6dd7edd8ded9d8dd:ed;d8dd<ed=d8ded>d8dd:ed?d8ded@d8dd:edAd8d$ed d8d(edBd8d&edCdd2eddDdeddDdeddDdeddDdeddEdeddEdedFdEdgZ edGddedHddedIddedJddedKddedLddedMd(dedNddedOd7dedPddedQddedRdSdedTddedUdVdgZ edWddedXddgZ edHddedId3dgZgdYZgdZZgd[Zgd\Zgd]Zd^Zd_Zd3Zd3Zd`ZdaZdbZdcZddZdeZdfZdgZdhZ diZ!djZ"dkZ#dlS)mFinnishStemmerz This class implements the stemming algorithm defined by a snowball script. Generated by Snowball 2.2.0 - https://snowballstem.org/ parstikaanhankinuhänukäänkoupäuköllanassataltastaulläunäussäutäultäuställeinensammennenisianenuänunsäaaeeiioouuuääuööattaksin den_FinnishStemmer__r_VIseen_FinnishStemmer__r_LONGhenttenhinsiinhonuhönäuttäejammaimmampaimpammiimmimpiimpiuejäummäuimmä umpäuimpä ij)rr)r)r)r)r)r)r)r)r)r)r)r)r)r)r()wrIr)rHArr)r)r)r)r)r)r)r)r)r)r)r)r(r) )rHrKrLr)r)r)r)r)r)r)r)r)r)r)r)r)r(r)rM)rHarr)r)r)r)r)r)r)r)r)r)r)r)r(r)rMFc|j|_|j|_|tjddsdS|tjddsdS|xjdz c_|j|_|tjddsdS|tjddsdS|xjdz c_|j|_dS)NrNFrT)limitI_p1I_p2go_out_groupingrg_V1go_in_groupingcursorselfs /srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/snowballstemmer/finnish_stemmer.py__r_mark_regionszFinnishStemmer.__r_mark_regionssJ J ##N$7SAA 5"">#6C@@ 5 q K ##N$7SAA 5"">#6C@@ 5 q K tc*|j|jksdSdSNFT)rUrYrZs r\__r_R2zFinnishStemmer.__r_R2syDK''5tr^c|j|jkrdS|j}|j|_|j|_|t j}|dkr ||_dS|j|_||_|dkr$|t j ddsdSn| sdS| sdSdS)NFr)rrNrRT) rYrTlimit_backwardket find_among_bra_0bra in_grouping_bg_particle_end_FinnishStemmer__r_R2 slice_del)r[v_2 among_vars r\__r_particle_etczFinnishStemmer.__r_particle_etcs ; " "5!"i;%%n&899 >>"%D 5;! >>%%n&CRMM u ;;== u~~ 5tr^cL|j|jkrdS|j}|j|_|j|_|t j}|dkr ||_dS|j|_||_|dkrl|j|jz } | dstdS#t$rYnwxYw|j|z |_| sdSn?|dkr]| sdS|j|_| dsdS|j|_| dsdSn|dkr| sdSn|d kr<|t j dkrdS| sdSn}|d kr<|t jdkrdS| sdSn;|t jdkrdS| sdSd S) NFr)rkr kser+rrr!T)rYrTrcrdrera_4rgrSeq_s_blab0rk slice_froma_1a_2a_3r[rlrmv_3s r\__r_possessivezFinnishStemmer.__r_possessivesL ; " "5!"i;%%n&899 >>"%D 5;! >>*t{*C {{4((!&&Lu    *s*DK>>## u !^^>>## u{DH;;v&& u{DH??6** u  !^^>>## u !^^  !34499u>>## u !^^  !34499u>>## u   !34499u>>## ut #B.. B;:B;cP|tjdkrdSdS)Nr)FT)rera_5rZs r\__r_LONGzFinnishStemmer.__r_LONGs(   ^/ 0 0A 5 55tr^cz|dsdS|tjddsdSdS)NrFFrNrRT)rsrhrg_V2rZs r\__r_VIzFinnishStemmer.__r_VIsB{{4   5!!."5r3?? 5tr^c|j|jkrdS|j}|j|_|j|_|t j}|dkr ||_dS|j|_||_|dkr|dsdSn|dkr|dsdSn|dkr|dsdSn|d kr|d sdSn|d kr|d sdSn|d kr|dsdSn~|dkr+|j |jz } |j |jz } |j |jz } | stt#t$rYnwxYw|j |z |_|ds|j |z |_tn#t$rYnwxYw|j |z |_|j|jkr|j |z |_t|xjdzc_|j|_n\#t$rYnPwxYw|dkrF|t jddsdS|t jddsdS|sdSd|_dS)NFr)rr'r errFror!r8r ör-ier(rNrRbzT)rYrTrcrdrera_6rgrsrSr2lab2lab1rtrhrWg_CrkB_ending_removed)r[rlrmrzv_4v_5s r\__r_case_endingzFinnishStemmer.__r_case_endings ; " "5!"i;%%n&899 >>"%D 5;! >>;;t$$ u  !^^;;t$$ u  !^^;;t$$ u  !^^;;t$$ u  !^^;;y)) u  !^^;;y)) u  !^^*t{*C j4;. "*t{2C&#}})"&&&L"ff %%%%"&*s"2DK;;u--%&*j3&6 "ff %!!!TT!"j3. ;$"555"&*s"2DK&&L q ;     !^^%%n&92sCC u%%n&8"cBB u~~ 5 $tsVIG&$0F F!G& F!!AG&%I& G30I2G33AI IIc|j|jkrdS|j}|j|_|j|_|t j}|dkr ||_dS|j|_||_|dkrT|j|jz } | dstdS#t$rYnwxYw|j|z |_| sdSdS)NFr)rpoT) rYrUrcrdrera_7rgrSrsrtrkrys r\__r_other_endingsz FinnishStemmer.__r_other_endingsDs ; " "5!"i;%%n&899 >>"%D 5;! >>*t{*C {{5))!&&Lu    *s*DK~~ 5tr|c|j|jkrdS|j}|j|_|j|_|t jdkr ||_dS|j|_||_|sdSdS)NFr)T) rYrTrcrdrera_8rgrk)r[rls r\ __r_i_pluralzFinnishStemmer.__r_i_plural]s ; " "5!"i;   ^/ 0 0A 5 5"%D 5;!~~ 5tr^cJ|j|jkrdS|j}|j|_|j|_|ds ||_dS|j|_|j|jz }|tj dds ||_dS|j|z |_| sdS||_|j|j krdS|j}|j |_|j|_| tj }|dkr ||_dS|j|_||_|dkrT|j|jz } |dstdS#t$rYnwxYw|j|z |_| sdSdS) NFtrNrRr)rrT)rYrTrcrdrsrgrSrhrrWrkrUrea_9rt)r[rlrzrrmv_6s r\ __r_t_pluralzFinnishStemmer.__r_t_pluralms ; " "5!"i;{{4   "%D 5;j4;&!!."5r3?? "%D 5j3& ~~ 5! ; " "5!"i;%%n&899 >>"%D 5;! >>*t{*C {{5))!&&Lu    *s*DK~~ 5ts #E.. E;:E;cN|j|jkrdS|j}|j|_|j|jz } |j|jz }|st |j|z |_|j|_|j|jkrt |xjdzc_|j|_|sdSn#t $rYnwxYw|j|z |_|j|jz } |j|_| tj ddst|j|_| tj ddst|sdSn#t$rYnwxYw|j|z |_|j|jz } |j|_|dst|j|_ |j|jz } |dst!t##t $rYnwxYw|j|z |_|d stn#t"$rYnwxYw|sdSn#t$rYnwxYw|j|z |_|j|jz } |j|_|dst%|j|_|dst%|sdSn#t$$rYnwxYw|j|z |_||_|tjdd sdS|j|_| tj ddsdS|j|_||_|jd krdS||jsdS|sdSd S) NFrrNrrrGrurRrPT)rYrTrcrSr2rtrdrgrkrhrg_AEIrrrsrlab4lab3lab5go_in_grouping_brWslice_toS_x)r[rlrzrrrv_7v_8s r\__r_tidyzFinnishStemmer.__r_tidys ; " "5!"ij4;& *t{*C==?? ff *s*DK{DH{d111ff KK1 KK{DH>>## u TTj3& j4;& {DH%%n&:BDD ff {DH%%n&8"cBB ff >>## u TTj3& j4;& {DH;;t$$ ff {DH j4;.";;t,,%"ff &&L!!!TT!"j3. {{4((!&&L!    >>## u TTj3& j4;& {DH;;t$$ ff {DH;;t$$ ff >>## u TTj3& !$$^%8"cBB 5;!!."4b#>> 5;==?? 8r>>5{{48$$ 5~~ 5tsBC C C B F FF>;J%:I> 1H;; II>I5I>=J%> J J% J  J%% J21J2A2M MMc|j}|||_d|_|j|_|j|_|j|jz }||j|z |_|j|jz }||j|z |_|j|jz }||j|z |_|j|jz }||j|z |_ |jst|j|jz }| |j|z |_t#t$rYnwxYw|j|jz }| |j|z |_n#t$rYnwxYw|j|jz }| |j|z |_|j|_dSr`)rY_FinnishStemmer__r_mark_regionsrrcrS_FinnishStemmer__r_particle_etc_FinnishStemmer__r_possessive_FinnishStemmer__r_case_ending _FinnishStemmer__r_other_endingsr_FinnishStemmer__r_i_pluralrt_FinnishStemmer__r_t_plural_FinnishStemmer__r_tidy) r[v_1rlrzrrrrv_9s r\_stemzFinnishStemmer._stemsk  %"kj j4;& j3& j4;& j3& j4;& j3& j4;&    j3&   ,!&&Lj4;.!!###"j3. ff     *t{*C      *s*DKKTTj4;& j3& ) ts+ AE!! E.+F$-E..5F$$ F10F1N)$__name__ __module__ __qualname____doc__rrfrvrwrxrrr~rrrrrrrWrrirrrUrTrrjrrr2r0rrrrrrr^r\rrsh eR fb! gr1 fb! fb! k2q!! Q'' eR j"a   j"a   C fb" eR fb" eR fa fa  C k2r"" j"b!! k2r"" j"b!! k1b!! k1b!!  C fb" fb" C fb! fb! fb! eR eR eR eR j"a   k2q!! C eR eR eR eR eR or2&& or2&& C dB fa eQ fa eQ fa fa fa fb" fb" fb" dB fb! fb"566 gr2899 fb! gr2677 fb! gr2677 fb! k2q!! k2q!! iQ k2r"" j"b!! k2r"" j"b!! k2r"" k2r"" k2q!!= CD fb" fb! gq" fb! gq" fb! gq" fb! gq" k2r"" k2q!! lB## k2q!! lB## C$ dB dB C fb! gq" C A @ @E   C H H HD H H HDRRRN C D D" .777r >>>@2 )))VTTTl$$$$$r^rceZdZdS)rtNrrrrr^r\rtrtr^rtceZdZdS)rNrrr^r\rrrr^rceZdZdS)rNrrr^r\rrrr^rceZdZdS)rNrrr^r\rrrr^rceZdZdS)rNrrr^r\rr!rr^rceZdZdS)rNrrr^r\rr$rr^rN) basestemmerramongrr BaseExceptionrtrrrrrrr^r\rs %$$$$$KKKKK[KKK\ = = = = = =r^