U
    YSh g                     @   s|   d dl mZ d dlmZ G dd deZG dd deZG dd deZG d	d
 d
eZG dd deZ	G dd deZ
dS )   )BaseStemmer)Amongc                %  @   s  e Zd ZdZdddddddd	d
h	ZdddddhZddddddddddddhZdddddddddd dddddddd	d
hZd!Zd"d# Z	d$d% Z
d&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Zd<d= Zed>d?d@edAd?dBgZedCd?dDedEd?d@edd?dDedFd?d@edGdDd@edHd?dDedIdJd@edKdLd@edMdNd@edOd?dBedPdQd@edRdQd@edSd?d@edTdUd@edVdWd@edd?dDedXdYd@edZd[d@ed\d]d@ed^d?d@ed_d?d@gZed`d?d?edad?d?edbd?d?edcd?d?eddd?d?eded?d?edfd?d?edgd?d?edhd?d?g	Zedd?d@gZedid?d@edjd?dDedkd?dBedld?d@edmd?dDednd?dBedod?d@edpd?dDedqd?dBedrd?d@edsd?dDedtd?dBgZedud?d@edvd?d@edwd?d@edxd?d@edd?d@edd?d@edydJd@edd?dBedzdNd@ed{dNd@g
Zed|d?dBed}d!d@ed~d!d@edd!d@edd!d?gZedd?dedd!dBedd?deddBd@edd?d@edd?d@edd?dDgZedd?d?edd?d?edd?d?edd?d?gZ edd?d@edd?dBedd?dDgZ!edd?dBedd?d@edd?d@gZ"edd?d@edd?d@edd@d@edd?d@eddDd@edd?d@edd?d@edd?d@edd?d@edd?d@eddQd@edd?dUedddUedddUedddUedddUedd?dUedd?dUedd]dUedddUedd]dUedd?dUedddUedddUedddUedddUedd?dUedddUedd?dUedd?dUedd?dUedd?dUedd?d@eddd@eddd@eddd@eddd@edd?dedd?dedddedd?dedddedddedddedddedd?dedddedd?dedd?dedd?dedd?dedd?dedd?dedd?d΃eddd΃edd?d΃edd?d΃eddd΃edd?d΃eddd΃eddd΃eddd΃eddd΃edd?d΃eddd΃edd?d΃edd?d΃edd?d΃edd?d΃edd?d΃edd?d[edd?d[edd?d[eddd[eddd[eddd[eddd[edd?d[edd?d[edd?d[edd?d[edd?dedd?dedd?dedddedddedddedddedd?dedd?dedd?dedd?dedd?dNedd?dNedddNed d?dNedddNedddNedddNedddNedd?dNedddNed	d?dNed
d?dNedd?dNedd?dNedd?dNedddNedd?dLedddLedddLedddLedddLedd?dJedd?dJedddJedddJedd?dJedddJedddJedddJed ddJed!d?dJed"d#dJed$d?dJed%d?dJed&d?dJed'd?dJed(d?dJed)d*dJed+d?dWed,d-dWed.d?dWed/d?dWed0d1dWed2d?dWed3d4dWed5d4dWed6d4dWed7d4dWed8d?dWed9d:dWed;d?dWed<d?dWed=d?dWed>d?dWed?d?dWed@d?dedAd?dedBd?dedCdDdedEdDdedFdDdedGdDdedHd?dedId?dedJd?dedKd?dedLd?dedMdNdedOd?dedPdQdedRd?dedSd?dYedTd?dYedUd?dYedVdWdYedXdWdYedYdWdYedZdWdYed[d?dYed\d?dYed]d?dYed^d?dYed_d?dBed`d?dBedadbdBedcdddBededbdBedfd?dBedgdhdBedidhdBedjdhdBedkdhdBedld?dBedmdndBedod?dBedpd?dBedqd?dBedrd?dBedsd?dBedtdudBedvdudBedwdudBedxdudBedyd?dQedzd{dQed|d{dQed}d{dQed~d{dQedd?dQedd?dQedddQedddQedd?dQedddQedddQedddQedddQedd?dQedddQedd?dQedd?dQedd?dQedd?dQedd?dQedddQedd?d]edd?d]edd?d]eddd]eddd]eddd]eddd]edd?d]edd?d]edd?d]edd?d]edd?d]eddd]edd?d]eddd]edd?d]edd?dedd?dedddedd?dedddedddedddedddedd?dedddedd?dedd?dedd?dedd?dedd?dedddedd?dedddedddedddedddedd?dDedÐddDedd?dDedd?dDedǐddDedd?dDedʐddDed̐ddDed͐ddDedΐddDedd?dDedАddDedd?dDedd?dDedd?dDedd?dDedd?dDedd?dDedd?dDedd?dedd?dedېddedݐddedߐddedd?dedddedddedddedddedd?dedddedd?dedd?dedd?dedd?dedd?dg"Z#dS (  EstonianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from estonian.sbl by Snowball 3.0.1 - https://snowballstem.org/
    aeiou   õ   ä   ö   ükptgbdshfu   šzu   žcjlmnqrvwx    c                 C   sP   | j | _| tjsdS |  jd7  _| tjs6dS |  jd7  _| j| _dS )NFr   T)limitI_p1Zgo_out_groupingr   g_V1cursorZgo_in_groupingself r)   S/root/rtd-docs/venv/lib/python3.8/site-packages/snowballstemmer/estonian_stemmer.pyZ__r_mark_regions   s    z EstonianStemmer.__r_mark_regionsc                 C   s0  | j | jk rdS | j}| j| _| j | _| tj}|dkrD|| _dS | j | _|| _| j| j  }| j d }|| jk rvdS || _ | j| | _ |dkr| j| j  }| 	tj
sdS | j| | _ | j| j  }z|  st W dS  tk
r   Y nX | j| | _ |  s,dS n | 	tjsdS |  s,dS dS )NFr"      r   T)r&   r$   limit_backwardketfind_among_br   a_0brar#   in_grouping_bg_GI_EstonianStemmer__r_LONGVlab0	slice_delg_KI)r(   v_2	among_varv_3r   v_4v_5r)   r)   r*   Z__r_emphasis#   sJ    


 

zEstonianStemmer.__r_emphasisc                 C   s   | j | jk rdS | j}| j| _| j | _| tj}|dkrD|| _dS | j | _|| _|dkrh|  sdS n4|dkr| 	dsdS n| 
tjsdS |  sdS dS )NFr"   r      r   T)r&   r$   r,   r-   r.   r   a_1r0   r5   
slice_fromr1   r%   r(   r7   r8   r)   r)   r*   Z__r_verbL   s,    
zEstonianStemmer.__r_verbc                 C   s   |  tjdkrdS dS )Nr"   FT)r.   r   a_2r'   r)   r)   r*   Z	__r_LONGVg   s    zEstonianStemmer.__r_LONGVc                 C   sn   | j | jk rdS | j}| j| _| j | _| tjdkr@|| _dS | j | _|| _| tj	s^dS | 
 sjdS dS NFr"   T)r&   r$   r,   r-   r.   r   a_3r0   r1   g_RVr5   r(   r7   r)   r)   r*   Z__r_i_plurall   s    zEstonianStemmer.__r_i_pluralc                 C   s   | j | jk rdS | j}| j| _| j | _| tj}|dkrD|| _dS | j | _|| _|dkrj| dsdS n&|dkr| dsdS n| dsdS dS )	NFr"   r   Zlaser<   ZmiseZliseT)	r&   r$   r,   r-   r.   r   a_4r0   r>   r?   r)   r)   r*   Z__r_special_noun_endings~   s(    


z(EstonianStemmer.__r_special_noun_endingsc                 C   s  | j | jk rdS | j}| j| _| j | _| tj}|dkrD|| _dS | j | _|| _|dkrz\| j| j  }z| 	tj
s|t t W n tk
r   Y nX | j| | _ |  sW dS W n tk
r   Y nX n6| j| j  }| j d }|| jk rdS || _ | j| | _ |  sdS dS )NFr"   r   r+   T)r&   r$   r,   r-   r.   r   a_5r0   r#   r1   rC   lab1r4   r3   r5   )r(   r7   r8   r9   r:   r   r)   r)   r*   Z__r_case_ending   sD    
 
 


zEstonianStemmer.__r_case_endingc                 C   sH  | j | jk rdS | j}| j| _| j | _| tj}|dkrD|| _dS | j | _|| _|dkrl| dshdS n|dkr| j	| j  }z| 
 st W dS  tk
r   Y nX | j	| | _ |  sdS n~|dkrz| j	| j  }z| j	| j  }| j d }|| jk rt || _ | j	| | _ | tj}|dkrF| dsbW W dS n|dkrb|  sbW W dS t W n tk
r   Y nX | j	| | _ | d	sW dS W n tk
r   Y nX nzb| j	| j  }z| tjst t W n tk
r   Y nX | j	| | _ | 
 sW dS W n tk
r4   Y nX |  sDdS d
S )NFr"   r   Zikur<      r+   r   r   T)r&   r$   r,   r-   r.   r   a_7r0   r>   r#   r3   r4   r5   lab2a_6rG   r1   rC   lab4lab3)r(   r7   r8   r9   r:   r;   r   v_6r)   r)   r*   Z__r_plural_three_first_cases   s    
 






 
 
 

 
z,EstonianStemmer.__r_plural_three_first_casesc                 C   s^   | j | jk rdS | j}| j| _| j | _| tjdkr@|| _dS | j | _|| _|  sZdS dS rA   )	r&   r$   r,   r-   r.   r   a_8r0   r5   rD   r)   r)   r*   Z__r_nu   s    zEstonianStemmer.__r_nuc                 C   s   |  tjsdS | j| jkr dS | j| _| tj}|dkr@dS | j| _|dkr`| 	dsdS n&|dkrx| 	dsdS n| 	dsdS dS )	NFr"   r   r   r<   r   r   T)
r1   r   r%   r$   r&   r-   r.   a_9r0   r>   r(   r8   r)   r)   r*   Z__r_undouble_kpt  s$    


z EstonianStemmer.__r_undouble_kptc                 C   s   | j | jk rdS | j}| j| _| j | _| tj}|dkrD|| _dS | j | _|| _|dkrx| tj	sjdS | 
 sdS n| 
 sdS dS )NFr"   r   T)r&   r$   r,   r-   r.   r   a_10r0   r1   rC   r5   r?   r)   r)   r*   Z__r_degrees!  s&    zEstonianStemmer.__r_degreesc                 C   s   | j | j }|   | j | | _| j | j }|   | j | | _| j | j }|   | j | | _| j | j }|   | j | | _| j | j }|   | j | | _| j | j }|   | j | | _dS )NT)r#   r&   (_EstonianStemmer__r_special_noun_endings_EstonianStemmer__r_case_ending,_EstonianStemmer__r_plural_three_first_cases_EstonianStemmer__r_degrees_EstonianStemmer__r_i_plural_EstonianStemmer__r_nur(   Zv_1r7   r9   r:   r;   rN   r)   r)   r*   Z__r_substantive9  s&    zEstonianStemmer.__r_substantivec                 C   s  | j | _| tj}|dkr dS | j | _| j | jk r8dS |dkrR| dsNdS n|dkrl| dshdS n|dkr| dsdS n|d	kr| d
sdS nx|dkr| dsdS n^|dkr| dsdS nD|dkr| dsdS n*|dkr| dsdS n|dkr(| dsdS n|dkrD| dsdS n|dkr`| dsdS n|dkr|| dsdS n|dkr| dsdS n|dkr| dsdS nd|dkr| d sdS nH|d!kr| d"sdS n,|d#kr| d$sdS n| d%sdS d&S )'Nr"   Fr   Zjoor<   ZsaarH   viimar+   Zkeesi   u   löö      lõi   Zloo   u   käisi	   u   söö
   Ztoo   u   võisi      jääma   u   müüsi   Zluge   u   põde   Zladu   Ztegiu   nägiT)r&   r0   Z
find_amongr   a_11r-   r#   r>   rQ   r)   r)   r*   Z__r_verb_exceptionsN  sz    
















z#EstonianStemmer.__r_verb_exceptionsc                 C   sB  | j }z|  st W dS  tk
r.   Y nX || _ | j }|   || _ | j | _| j| _ | j| j  }|   | j| | _ | j| j  }zlzR| j| j  }z|  st t	 W n tk
r   Y nX | j| | _ | 
  W n t	k
r   Y nX W n tk
r   Y nX | j| | _ | j| j  }|   | j| | _ | j| _ dS )NFT)r&   #_EstonianStemmer__r_verb_exceptionsr4    _EstonianStemmer__r_mark_regionsr,   r#   _EstonianStemmer__r_emphasis_EstonianStemmer__r_verbrM   rJ   _EstonianStemmer__r_substantiverG    _EstonianStemmer__r_undouble_kptrY   r)   r)   r*   _stem  sL     
  
 zEstonianStemmer._stemgir   Zkir<   darH   ZmataZksidZnuksidmeZsimer[   Zksimer\   Znuksimer^   ZakseZdakser`   ZtaksesiteZksiterc   Znuksitere   sinrg   Zksinrh   Znuksinri   ZdaksZtaksZaaeeiiZoouuu   ääu   õõu   ööu   üüZlanelineZmineZlasseZlisseZmisseZlasiZlisiZmisilastlistZmistgataleZsseksltst ZlasZlisZmisr+   ZsiddeZikkudeZikeZikketevaZdunuZtukkppttmamaiZjoobZjoodZjoodakseZjoomaZjoomataZjoomeZjoonZjooteZjoovadZjuuaZjuuakseu   jäiu   jäidrb   u   jäimeu   jäinu   jäiteu   jääbu   jäädu   jäädau
   jäädakse   u   jäädiu   jääksu	   jääksid   u
   jääksimeu	   jääksinu
   jääksiterd   u	   jäämata   u   jäämeu   jäänu   jääteu   jäävadu   jõiu   jõid    u   jõimeu   jõinu   jõiteZkeebZkeedZkeedakse&   ZkeeksZkeeksid(   ZkeeksimeZkeeksinZkeeksiteZkeemaZkeemata-   ZkeemeZkeenZkeesZkeetaZkeeteZkeevadu   käiar_   u   käiakse5   u   käibu   käidu   käidi8   u   käiksu   käiksid:   u	   käiksimeu   käiksinu	   käiksiteu   käimau   käimata?   u   käimeu   käinu   käisu   käiteu   käivadZlaobZlaodZlaoksZlaoksidH   ZlaoksimeZlaoksinZlaoksiteZlaomeZlaonZlaoteZlaovadZloebrf   ZloedZloeksZloeksidS   ZloeksimeZloeksinZloeksiteZloemeZloenZloeteZloevadZloobZloodZloodi]   ZlooksZlooksid_   ZlooksimeZlooksinZlooksiteZloomaZloomatad   ZloomeZloonZlooteZloovadZluuaZluuaksej   r]   u   lõidl   u   lõimeu   lõinu   lõiteu   lööbu   löödu
   löödakser   u   löödiu   lööksu	   lööksidu   u
   lööksimeu	   lööksinu
   lööksiteu   löömau	   löömataz   u   löömeu   löönu   lööteu   löövadu   lüüau	   lüüakse   u   müüau	   müüakse   u   müübu   müüdu   müüdi   u   müüksu	   müüksid   u
   müüksimeu	   müüksinu
   müüksiteu   müümau	   müümata   u   müümeu   müünu   müüsu   müüteu   müüvadu   näebu   näedu   näeksu   näeksid   u	   näeksimeu   näeksinu	   näeksiteu   näemeu   näenu   näeteu   näevadu   nägemau	   nägemata   u   nähau   nähakse   u   nähtiu   põebu   põedu   põeksu   põeksid   u	   põeksimeu   põeksinu	   põeksiteu   põemeu   põenu   põeteu   põevadZsaabZsaadZsaada   Zsaadakse   ZsaadiZsaaksZsaaksid   ZsaaksimeZsaaksinZsaaksiteZsaamaZsaamata   ZsaameZsaanZsaateZsaavadZsaiZsaid   ZsaimeZsainZsaiteu   sõiu   sõid   u   sõimeu   sõinu   sõiteu   sööbu   söödu
   söödakse   u   söödiu   sööksu	   sööksid   u
   sööksimeu	   sööksinu
   sööksiteu   söömau	   söömata   u   söömeu   söönu   sööteu   söövadu   süüau	   süüakse   ZteebZteedZteeksZteeksid   ZteeksimeZteeksinZteeksiteZteemeZteenZteeteZteevadZtegemaZtegemata   ZtehaZtehakse   ZtehtiZtoobra   ZtoodZtoodi   ZtooksZtooksid   ZtooksimeZtooksinZtooksiteZtoomaZtoomata   ZtoomeZtoonZtooteZtoovadZtuuaZtuuakse   u   tõiu   tõid   u   tõimeu   tõinu   tõiteZviiaZviiakse   ZviibZviidZviidii  ZviiksZviiksidi  ZviiksimeZviiksinZviiksiterZ   Zviimatai  ZviimeZviinZviisimeZviisinZviisiteZviiteZviivadu   võibu   võidu   võidai  u	   võidaksei  u   võidiu   võiksu   võiksidi  u	   võiksimeu   võiksinu	   võiksiteu   võimau   võimatai  u   võimeu   võinu   võisu   võiteu   võivadN)$__name__
__module____qualname____doc__r%   rC   r6   r2   r$   rl   rm   rn   r3   rW   rS   rT   rU   rX   rp   rV   ro   rk   rq   r   r/   r=   r@   rB   rE   rF   rK   rI   rO   rP   rR   rj   r)   r)   r)   r*   r      s"  *)$C@%



























































	















































































































  r   c                   @   s   e Zd ZdS )r4   Nr   r   r   r)   r)   r)   r*   r4   F  s    r4   c                   @   s   e Zd ZdS )rG   Nr   r)   r)   r)   r*   rG   I  s    rG   c                   @   s   e Zd ZdS )rJ   Nr   r)   r)   r)   r*   rJ   L  s    rJ   c                   @   s   e Zd ZdS )rM   Nr   r)   r)   r)   r*   rM   O  s    rM   c                   @   s   e Zd ZdS )rL   Nr   r)   r)   r)   r*   rL   R  s    rL   N)Zbasestemmerr   Zamongr   r   BaseExceptionr4   rG   rJ   rM   rL   r)   r)   r)   r*   <module>   s         D