o
    Mic5                     @   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dS )   )BaseStemmer)Amongc                   @   sv  e Zd ZdZh dZdZdd Zdd Zdd	 Zd
d Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Z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d0d#d#ed1d#d#ed2d#d#ed3d#d#ed4d#d#ed5d#d#ed6d#d#ed7d#d#ed8d#d#ed9d#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$gZg 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dPd#d#edQd#d#edRd#d#edSd#d#edTdUd#edVdWd#edXdUd#edYdZd#ed[dZd#ed\dUd#ed]dUd#ed^d#d#ed_d#d#ed`d#d#edadbd#edcdbd#edddbd#ededfd#edgdfd#edhdfd#edidbd#edjdbd#edkdbd#edld#d#edmd#d#ednd#d#edod#d#edpd#d#Zedqd#d&edrd#d$edsd#d&gZedtd#d$edudd$edvdd&edwd#d$edxdyd$edzdydygZed"d#d$ed%d#d$gZed{d#dyed|ddyed}ddyed~ddyeddd$eddd&edddygZedd#d$edddyeddd&ed%d#d$eddyd$eddd$eddd$eddd$edddyeddd&eddd$eddyd&gZg edd#d$eddd$edd#d$edd&d$edd&d$edd&d$edd&d&edd&dyedd&d$edd#d$eddd$edd#d$eddd$eddd&edddyeddd$edd#d$eddd$eddd&edd#d$eddUd$eddWdyedd#d$eddZd$eddZd$eddZd$eddZd&eddZdyedd#d$ed"d#d&ed%d#dyZg edd#d$eddd$edd$d$eddd$eddyd$eddd&edddyedd#d$eddd$eddd$eddd$eddd$eddd&edddyedd#d$eddd$eddd$edddyedd#d$eddd$eddUd$eddd$eddd$eddd&edddyedd#d$eddd$eddd$eddd$eddd$eddd&edddyedd#d$eddfd$edd#d&edd#d$eddd$eddd$eddd$eddd$eddd&edddyZ dS )HungarianStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from hungarian.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >      ő   űaeiou   á   é   í   ó   ö   ú   ü    c                 C   s   | j | _zY| j}z2| tjst | j}z| tjst |  jd7  _| j| _W n	 ty4   Y nw || _t	  tyC   Y nw || _| 
tjsPW dS |  jd7  _| j| _W dS  t	yg   Y dS w )Nr   FT)limitI_p1cursorin_groupingr   g_vlab1go_in_groupinglab2lab0go_out_grouping)selfv_1v_2 r!   U/home/ubuntu/.local/lib/python3.10/site-packages/snowballstemmer/hungarian_stemmer.py__r_mark_regions   s2   
z!HungarianStemmer.__r_mark_regionsc                 C   s   | j | jkS )N)r   r   r   r!   r!   r"   __r_R1+   s   zHungarianStemmer.__r_R1c                 C   `   | j | _| tj}|dkrdS | j | _|  sdS |dkr'| ds%dS dS | ds.dS dS )Nr   Fr   r   r   T)r   ketfind_among_br   a_0bra_HungarianStemmer__r_R1
slice_fromr   	among_varr!   r!   r"   __r_v_ending.      

zHungarianStemmer.__r_v_endingc                 C   s0   | j | j }| tjdkrdS | j | | _dS Nr   FT)r   r   r(   r   a_1)r   r   r!   r!   r"   
__r_double>   s
   zHungarianStemmer.__r_doublec                 C   s\   | j | jkrdS |  j d8  _ | j | _| j | jkrdS |  j d8  _ | j | _|  s,dS dS )NFr   T)r   limit_backwardr'   r*   	slice_delr$   r!   r!   r"   __r_undoubleE   s   zHungarianStemmer.__r_undoublec                 C   X   | j | _| tjdkrdS | j | _|  sdS |  sdS |  s$dS | 	 s*dS dS r1   )
r   r'   r(   r   a_2r*   r+   _HungarianStemmer__r_doubler5   _HungarianStemmer__r_undoubler$   r!   r!   r"   __r_instrumS      zHungarianStemmer.__r_instrumc                 C   sL   | j | _| tjdkrdS | j | _|  sdS |  sdS |  s$dS dS r1   )	r   r'   r(   r   a_3r*   r+   r5   _HungarianStemmer__r_v_endingr$   r!   r!   r"   __r_casec   s   zHungarianStemmer.__r_casec                 C   r&   )Nr   Fr   r   r   T)r   r'   r(   r   a_4r*   r+   r,   r-   r!   r!   r"   __r_case_specialq   r0   z!HungarianStemmer.__r_case_specialc                 C   x   | j | _| tj}|dkrdS | j | _|  sdS |dkr&|  s$dS dS |dkr3| ds1dS dS | ds:dS dS Nr   Fr      r   r   T)	r   r'   r(   r   a_5r*   r+   r5   r,   r-   r!   r!   r"   __r_case_other   $   

zHungarianStemmer.__r_case_otherc                 C   r7   r1   )
r   r'   r(   r   a_6r*   r+   r9   r5   r:   r$   r!   r!   r"   __r_factive   r<   zHungarianStemmer.__r_factivec                 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   r   rD   r   T)	r   r'   r(   r   a_7r*   r+   r,   r5   r-   r!   r!   r"   
__r_plural   s$   

zHungarianStemmer.__r_pluralc                 C   rB   )Nr   Fr   rD   r   r   T)	r   r'   r(   r   a_8r*   r+   r5   r,   r-   r!   r!   r"   	__r_owned   rG   zHungarianStemmer.__r_ownedc                 C   rB   rC   )	r   r'   r(   r   a_9r*   r+   r5   r,   r-   r!   r!   r"   __r_sing_owner   rG   zHungarianStemmer.__r_sing_ownerc                 C   rB   rC   )	r   r'   r(   r   a_10r*   r+   r5   r,   r-   r!   r!   r"   __r_plur_owner   rG   zHungarianStemmer.__r_plur_ownerc                 C   sP  | 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| j  }
|   | j|
 | _ | j| _ dS )NT)r   !_HungarianStemmer__r_mark_regionsr4   r   _HungarianStemmer__r_instrum_HungarianStemmer__r_case!_HungarianStemmer__r_case_special_HungarianStemmer__r_case_other_HungarianStemmer__r_factive_HungarianStemmer__r_owned_HungarianStemmer__r_sing_owner_HungarianStemmer__r_plur_owner_HungarianStemmer__r_plural)r   r   r    v_3v_4v_5v_6v_7v_8v_9v_10r!   r!   r"   _stem   sD   zHungarianStemmer._stemr   r   r   rD   bbccddffggjjkkllmmnnpprrccssszzsttvvggyllynnyttysszzzalelbarabereignaknekvalvelulu   nálu   nélu   bólu   rólu   tólu   ülu   bőlu   rőlu   tőlnan   ban   enben   u   képpenonu   önu   képpkortat   etu   kéntu   anként    u   enkéntu   onkéntotu   értu   öthezhozu   hözu   váu   véu   ánu   énu   ánkéntstulastulu   ástulu   stülu   estül   u   éstülkakekoku   áku   éku   öku   éiu   áéiu   ééiu   kéu   aké   u   ekéu   okéu   ákéu   ékéu   ökéu   éér   jadadedodu   ádu   édu   ödr   je	   nkunk   u   ánku   énku   ünkukjuk   u   ájuk   u   üku   jüku   éjükmamemomu   ámu   émr
   idaidjaideidjeidu   áidu   éidr	   ai   jai   eijei
   u   áiitekeitek   jeitek   u   éitekikaik   jaikeikjeik   u   áiku   éikinkaink   jaink   einkjeink   u   áinku   éinkaitokjaitoku   áitokimaim#   jaim$   eimjeim&   u   áimu   éimN)!__name__
__module____qualname____doc__r   r   rR   r+   r>   r9   r:   rS   rT   rU   rV   rW   r[   rX   rY   rZ   rd   r   r)   r2   r8   r=   r@   rE   rH   rJ   rL   rN   rP   r!   r!   r!   r"   r      s   
%


































	























 
!
"
#
$
%
&
'
(
)
*
+
,
0






































	






















"








	























 
!
"
#
$
%
&
'
(
)
*r   c                   @      e Zd ZdS )r   Nr   r   r   r!   r!   r!   r"   r         r   c                   @   r   )r   Nr   r!   r!   r!   r"   r     r   r   c                   @   r   )r   Nr   r!   r!   r!   r"   r     r   r   N)	basestemmerr   amongr   r   BaseExceptionr   r   r   r!   r!   r!   r"   <module>   s      d