o
    욌hw:                     @   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
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                   @   s8  e Zd ZdZedddedddeddd	ed
ddgZedddedddedddedddedddeddd	edddedddedddedddeddd	edddeddd	gZedddeddd	edddgZedddedddedddeddd ed!dd"ed#dd$ed%dd&ed'dd"ed(dd)ed*dd+ed,dd	ed-d.d/ed0dd"ed1dd/ed2d)d3ed4dd3ed5dd/ed6dd+ed7dd.ed8dd$gZed9dded:dded;dd	ed<d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	edIdd	edJdd	edKddedLdd	edMdd	edNdd	edOdd	edPdQd	edRdSd	edTdd	gZ
g dUZg dVZdWZdZdZdXdY ZdZd[ Zd\d] Zd^d_ Zd`da Zdbdc Zddde Zdfdg Zdhdi Zdjdk Zdldm Zdndo ZdpS )qPorterStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    s   ies       ssesr   ss bbddffggblmmnnpprratttizedeedingancienciabli   eli   alli	   ousli   entli   alitibiliti   iviti   tionalational
      alismationization   izeratorivenessfulnessousnessicateativealizeicitiicalfulnessicanceenceableibleateiveizeitialismionerousantentment   ement   ou)   A   rU   r   )r   rW   rX      r   Fc                 C   s@   |  tjdds
dS | tjddsdS |  tjddsdS dS )NY   y   Fa   T)out_grouping_br   g_v_WXYin_grouping_bg_vself rc   [/var/www/Befach/backend/venv/lib/python3.10/site-packages/snowballstemmer/porter_stemmer.py
__r_shortvi   s   zPorterStemmer.__r_shortvc                 C      | j | jksdS dS NFT)I_p1cursorra   rc   rc   rd   __r_R1r      zPorterStemmer.__r_R1c                 C   rf   rg   )I_p2ri   ra   rc   rc   rd   __r_R2w   rk   zPorterStemmer.__r_R2c                 C   st   | j | _| tj}|dkrdS | j | _|dkr!| dsdS dS |dkr.| ds,dS dS |dkr8|  s8dS dS )	Nr	   Fr   r   r
   ir   T)ri   ketfind_among_br   a_0bra
slice_from	slice_delrb   	among_varrc   rc   rd   __r_Step_1a|   s"   

zPorterStemmer.__r_Step_1ac                 C   s  | j | _| tj}|dkrdS | j | _|dkr'|  sdS | ds%dS d	S | j| j  }| 	tj
dds7dS |  j d8  _ | j| | _ |  sJdS | j| j  }| tj}|dkr\dS | j| | _ |dkrw| j }| | j | j d || _ d	S |dkr| j | _| j | jkrdS |  j d8  _ | j | _|  sdS d	S | j | jkrdS | j| j  }|  sdS | j| | _ | j }| | j | j d || _ d	S )
Nr	   Fr   eer\   r[   er
   T)ri   ro   rp   r   a_2rr   _PorterStemmer__r_R1rs   limitgo_out_grouping_br`   rt   a_1insertlimit_backwardrh   _PorterStemmer__r_shortv)rb   rv   v_1v_2cv_3rc   rc   rd   __r_Step_1b   s^   
&zPorterStemmer.__r_Step_1bc                 C   s   | j | _z+| j| j  }z| dst t  ty   Y nw | j| | _ | ds.W dS W n	 ty8   Y nw | j | _| tj	ddsGdS |  j d8  _ | 
dsUdS dS )	NyYFr\   r[   r   rn   T)ri   ro   r|   eq_s_blab1lab0rr   r}   r   r`   rs   )rb   r   rc   rc   rd   __r_Step_1c   s(   


zPorterStemmer.__r_Step_1cc                 C   s~  | j | _| tj}|dkrdS | j | _|  sdS |dkr'| ds%dS dS |dkr4| ds2dS dS |dkrA| ds?dS dS |d	krN| d
sLdS dS |dkr[| dsYdS dS |dkrh| dsfdS dS |dkru| dssdS dS |dkr| dsdS dS |dkr| dsdS dS |dkr| dsdS dS |dkr| dsdS dS |dkr| dsdS dS | dsdS dS )Nr	   Fr   tionr
   rD   r   rC   r    rE   r(   rQ   r"   ry   r5   rI   r1   rG   r$   rK   r0   r@   r&   rO   r-   rH   bleT)ri   ro   rp   r   a_3rr   r{   rs   ru   rc   rc   rd   
__r_Step_2   st   
%
"











zPorterStemmer.__r_Step_2c                 C   sx   | j | _| tj}|dkrdS | j | _|  sdS |dkr'| ds%dS dS |dkr4| ds2dS dS |  s:dS dS )Nr	   Fr   rK   r
   rB   T)	ri   ro   rp   r   a_4rr   r{   rs   rt   ru   rc   rc   rd   
__r_Step_3  s$   

zPorterStemmer.__r_Step_3c                 C   s   | j | _| tj}|dkrdS | j | _|  sdS |dkr&|  s$dS dS z+| j| j  }z| 	ds6t
 t  t
yA   Y nw | j| | _ | 	dsPW dS W n	 tyZ   Y nw |  sadS dS )Nr	   Fr   r   tT)ri   ro   rp   r   a_5rr   _PorterStemmer__r_R2rt   r|   r   r   r   )rb   rv   r   rc   rc   rd   
__r_Step_4  s4   

zPorterStemmer.__r_Step_4c                 C   s   | j | _| dsdS | j | _zJ| j| j  }z
|  st t  ty)   Y nw | j| | _ |  s7W dS | j| j  }z| 	 sEt
 W W dS  t
yQ   Y nw | j| | _ W n	 tyb   Y nw |  sidS dS )Nry   FT)ri   ro   r   rr   r|   r   r   r   r{   r   lab2rt   )rb   r   r   rc   rc   rd   __r_Step_5a7  s2   
zPorterStemmer.__r_Step_5ac                 C   sH   | j | _| dsdS | j | _|  sdS | dsdS |  s"dS dS )NlFT)ri   ro   r   rr   r   rt   ra   rc   rc   rd   __r_Step_5bS  s   

zPorterStemmer.__r_Step_5bc                 C   sT  d| _ | j}z| j| _| dst | j| _| dsW dS d| _ W n	 ty,   Y nw || _| j}zo	 | j}z[zC	 | j}z!| tj	ddsJt
 | j| _| dsVt
 | j| _|| _t  t
yh   Y nw || _| j| jkrut |  jd7  _q; ty   Y nw | dsW W dS d| _ W q4 ty   Y nw || _	 W n	 ty   Y nw || _| j| _| j| _| j}zS| tj	ddst |  jd7  _| tj	ddst |  jd7  _| j| _| tj	ddst |  jd7  _| tj	ddst |  jd7  _| j| _W n
 ty   Y nw || _| j| _| j| _| j| j }|   | j| | _| j| j }|   | j| | _| j| j }|   | j| | _| j| j }	|   | j|	 | _| j| j }
|   | j|
 | _| j| j }|   | j| | _| j| j }|   | j| | _| j| j }|   | j| | _| j| _| j}zp| j st 	 | j}zTz<	 | j}z| j| _| dst | j| _|| _t  ty   Y nw || _| j| jkrt  |  jd7  _q ty   Y nw | dsW W dS W q t y   Y nw || _	 W n
 ty$   Y nw || _dS )NFr   r   Tr\   r[   r   )!	B_Y_foundri   rr   eq_sr   ro   rs   in_groupingr   r`   lab4lab3r|   r   r   rh   rl   go_out_groupinglab5go_in_groupingr   _PorterStemmer__r_Step_1a_PorterStemmer__r_Step_1b_PorterStemmer__r_Step_1c_PorterStemmer__r_Step_2_PorterStemmer__r_Step_3_PorterStemmer__r_Step_4_PorterStemmer__r_Step_5a_PorterStemmer__r_Step_5blab6lab9lab8lab7)rb   r   r   r   v_4v_5v_6v_7v_8v_9v_10v_11v_12v_13v_14v_15v_16rc   rc   rd   _stema  s   




zPorterStemmer._stemN)__name__
__module____qualname____doc__r   rq   r~   rz   r   r   r   r`   r^   r   rl   rh   r   r{   r   r   r   r   r   r   r   r   r   r   rc   rc   rc   rd   r      s    

































































	21r   c                   @      e Zd ZdS )r   Nr   r   r   rc   rc   rc   rd   r         r   c                   @   r   )r   Nr   rc   rc   rc   rd   r     r   r   c                   @   r   )r   Nr   rc   rc   rc   rd   r     r   r   c                   @   r   )r   Nr   rc   rc   rc   rd   r     r   r   c                   @   r   )r   Nr   rc   rc   rc   rd   r     r   r   c                   @   r   )r   Nr   rc   rc   rc   rd   r     r   r   c                   @   r   )r   Nr   rc   rc   rc   rd   r     r   r   c                   @   r   )r   Nr   rc   rc   rc   rd   r     r   r   c                   @   r   )r   Nr   rc   rc   rc   rd   r     r   r   c                   @   r   )r   Nr   rc   rc   rc   rd   r     r   r   N)basestemmerr   amongr   r   BaseExceptionr   r   r   r   r   r   r   r   r   r   rc   rc   rc   rd   <module>   s       [