
    g                     H    d dl mZ d dlmZ  G d de      Z G d de      Zy)   )BaseStemmer)Amongc                      e Zd ZdZg  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       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       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      Z ed2dd       ed3dd       ed4dd       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	      gZg d?Zg d@Z	dZ
dZdA ZdB ZdC ZdD ZdE ZyF)GSwedishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    ar   arna    ernaheterna   ornaadeade   andearneareasteenanden   arenhetenernarerheter   orsas   arnas   ernasornasesades   andesensarens   hetensernsatandethetastddgdnndtgtktttigligelsfullt   u   löst)   A      r   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
   r
      r
       )w         c                    | j                   | _        | j                  }| j                  dz   }|| j                   kD  ry|| _        | j                  | _        || _        | j	                  t
        j                  dd      sy| j                  t
        j                  dd      sy| xj                  dz  c_        | j                  | _        	 | j                  | j                  k  s
t               | j                  | _        y# t        $ r Y yw xY w)NrA   Fa      r   T)	limitI_p1cursorI_xgo_out_groupingr   g_vgo_in_groupinglab0)selfv_1cs      T/var/www/openai/venv/lib/python3.12/site-packages/snowballstemmer/swedish_stemmer.py__r_mark_regionszSwedishStemmer.__r_mark_regionsN   s    JJ	kkKK!Otzz>;;##N$6$6C@"">#5#5r3?qKK		99txx'fDI T 	s   4C< <	DDc                    | j                   | j                  k  ry| j                  }| j                  | _        | j                   | _        | j	                  t
        j                        }|dk(  r|| _        y| j                   | _        || _        |dk(  r| j                         syy| j                  t
        j                  dd      sy| j                         syy)NFr
   r   b   y   T)rO   rN   limit_backwardketfind_among_br   a_0bra	slice_delin_grouping_b
g_s_endingrU   v_2	among_vars      rX   __r_main_suffixzSwedishStemmer.__r_main_suffixd   s    ;;"!!"ii;;%%n&8&89	>"%D;;!>>>#  %%n&?&?SI>>#    c                     | j                   | j                  k  ry| j                  }| j                  | _        | j                  | j                   z
  }| j	                  t
        j                        dk(  r|| _        y| j                  |z
  | _         | j                   | _        | j                   | j                  k  r|| _        y| xj                   dz  c_         | j                   | _        | j                         sy|| _        y)NFr
   r   T)
rO   rN   r]   rM   r_   r   a_1r^   ra   rb   )rU   rf   v_3s      rX   __r_consonant_pairz!SwedishStemmer.__r_consonant_pair|   s    ;;"!!"iijj4;;&^//0A5"%Djj3&;;;;$---"%Dq;;~~!ri   c                    | j                   | j                  k  ry| j                  }| j                  | _        | j                   | _        | j	                  t
        j                        }|dk(  r|| _        y| j                   | _        |dk(  r| j                         s*y|dk(  r| j                  d      sy| j                  d      sy|| _        y)NFr
   r   r   u   lösfullT)
rO   rN   r]   r^   r_   r   a_2ra   rb   
slice_fromre   s      rX   __r_other_suffixzSwedishStemmer.__r_other_suffix   s    ;;"!!"ii;;%%n&8&89	>"%D;;>>>#!^??;/??7+!ri   c                    | j                   }| j                          || _         | j                   | _        | j                  | _         | j                  | j                   z
  }| j	                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | j                   z
  }| j                          | j                  |z
  | _         | j                  | _         y)NT)rO   _SwedishStemmer__r_mark_regionsr]   rM   _SwedishStemmer__r_main_suffix!_SwedishStemmer__r_consonant_pair_SwedishStemmer__r_other_suffix)rU   rV   rf   rl   v_4s        rX   _stemzSwedishStemmer._stem   s    kk"kkjjjj4;;&jj3&jj4;;&!jj3&jj4;;&jj3&))ri   N)__name__
__module____qualname____doc__r   r`   rk   rp   rR   rd   rP   rN   rt   ru   rv   rw   ry    ri   rX   r   r      s   
&dB&gq!& 	gq!& 	j!Q	&
 	gq!& 	eR& 	dB& 	fa& 	gq!& 	gq!& 	fa& 	gq!& 	eR& 	hA& 	gr1&  	hA!&" 	fb!#&$ 	eR%&& 	eR'&( 	hA)&* 	eR+&, 	dB-&. 	eR/&0 	hA1&2 	hA3&4 	hA5&6 	eR7&8 	gr19&: 	hA;&< 	fb!=&> 	hA?&@ 	iQA&B 	gr1C&D 	eRE&F 	hAG&H 	fb!I&J 	fb!K&CR 	eReReReReReReRC 	eRfafb!hAlB"C IC J
CD,0,0ri   r   c                       e Zd Zy)rT   N)rz   r{   r|   r~   ri   rX   rT   rT      s    ri   rT   N)basestemmerr   amongr   r   BaseExceptionrT   r~   ri   rX   <module>r      s&    % s[ sl  = ri   