
    -Ph                     r    d dl mZ d dlmZ  G d de          Z G d de          Z G d de          Zd	S )
   )BaseStemmer)Amongc                   Z   e Zd ZdZh dZh dZh dZdZdZd Z	d Z
d Zd	 Zd
 Zd 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           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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d0d,d#           ed1dd#           ed2d3d#           ed4d3d#           ed5d3d#           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#           edAd@d#           edBd@d#           edCd>d#           edDdEd#           edFdEd#           edGd>d#           edHdId#           edJdId#           edKd>d#           edLdd#           edMddN           edOdPd#           edQdPd#           edRdd#          Z edSdd           edTdd           edUdd           edVdd           edWdd           edXdd           edYdd          gZ edZdd#           ed[dd#           ed\dd#           ed]ddN           ed^dd'          gZd_S )`SwedishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from swedish.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >	   aeiouy   ä   å   ö>   bcdfghjklmnr
   prtvr   >	   r	   r   r   r   r   r   r   r   r       c                    | j         | _        | j        }| j        dz   }|| j         k    rdS || _        | j        | _        || _        |                     t
          j                  sdS | xj        dz  c_        |                     t
          j                  sdS | xj        dz  c_        | j        | _        	 | j        | j        k    rt                      | j        | _        n# t          $ r Y nw xY wdS )N   Fr   T)	limitI_p1cursorI_xgo_out_groupingr   g_vgo_in_groupinglab0)selfv_1r   s      _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/snowballstemmer/swedish_stemmer.py__r_mark_regionszSwedishStemmer.__r_mark_regions   s    J	kK!Otz>>5;##N$677 	5q"">#566 	5qK		yDH$$ffDIITTts   4*C 
C,+C,c                    | j         | j        z
  }|                     t          j                  sdS |                     t          j                  sdS 	 | j        | j        k    rt                      dS # t          $ r Y nw xY w| j         |z
  | _        | j         | j        z
  }	 |                     t          j	                  dk    rt                      dS # t          $ r Y nw xY w| j         |z
  | _        dS )NFr   T)r"   r$   out_grouping_br   r'   in_grouping_blimit_backwardr)   find_among_ba_0lab1)r*   r+   v_3s      r,   __r_et_conditionzSwedishStemmer.__r_et_condition.   s    j4;&"">#566 	5!!."455 	5	{T000ff5TTj3&j4;&	  !34499ff5TTj3&ts$   A3 3
B ?B "1C 
C"!C"c                 :   | j         | j        k     rdS | j        }| j        | _        | j         | _        |                     t
          j                  }|dk    r	|| _        dS | j         | _        || _        |dk    r|                                 sdS n
|dk    r	 | j	        | j         z
  }	 | 
                    d          st                      |                                 st                      | j         | _        t                      # t          $ r Y nw xY w| j	        |z
  | _         |                     t
          j                  sdS n# t          $ r Y nw xY w|                                 sdS n,|                                 sdS |                                 sdS dS )NFr   r      etT)r$   r#   r1   ketr2   r   a_1bra	slice_delr"   eq_s_br4   _SwedishStemmer__r_et_conditionr)   r0   
g_s_ending)r*   v_2	among_varr5   s       r,   __r_main_suffixzSwedishStemmer.__r_main_suffixC   s   ;""5!"i;%%n&899	>>"%D5;!>>>>## u !^^j4;.";;u-- %"ff0022 %"ff#{DH&&L!!!TT!"j3.)).*CDD ! 5!>>## u ((** u>>## uts1   E (AD 
DE D1E 
EEc                    | j         | j        k     rdS | j        }| j        | _        | j        | j         z
  }|                     t
          j                  dk    r	|| _        dS | j        |z
  | _         | j         | _        | j         | j        k    r	|| _        dS | xj         dz  c_         | j         | _        | 	                                sdS || _        dS )NFr   r   T)
r$   r#   r1   r"   r2   r   a_2r:   r<   r=   )r*   rA   r5   s      r,   __r_consonant_pairz!SwedishStemmer.__r_consonant_pairm   s    ;""5!"ij4;&^/00A55"%D5j3&;;$---"%D5q;~~ 	5!t    c                    | j         | j        k     rdS | j        }| j        | _        | j         | _        |                     t
          j                  }|dk    r	|| _        dS | j         | _        || _        |dk    r|                                 sdS nV|dk    r9| 	                    t
          j
                  sdS |                     d          sdS n|                     d          sdS dS )NFr   r   r8   u   ösfullT)r$   r#   r1   r:   r2   r   a_3r<   r=   r0   g_ost_ending
slice_from)r*   rA   rB   s      r,   __r_other_suffixzSwedishStemmer.__r_other_suffix   s    ;""5!"i;%%n&899	>>"%D5;!>>>>## u !^^%%n&ABB u??6** u ??7++ utrG   c                    | j         }|                                  || _         | j         | _        | j        | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | j         z
  }|                                  | j        |z
  | _         | j        | _         dS )NT)r$   _SwedishStemmer__r_mark_regionsr1   r"   _SwedishStemmer__r_main_suffix!_SwedishStemmer__r_consonant_pair_SwedishStemmer__r_other_suffix)r*   r+   rA   r5   v_4s        r,   _stemzSwedishStemmer._stem   s    k"kjj4;&j3&j4;&!!!j3&j4;&j3&)trG   fabr   pakrakstakkomietcitditalitilitmitnitpitritsittituitivitkvitxitr   r   arnaernaheternar8   ornaadr   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atr9   r!   andet"   hetastddgdnndtgtktttigligelsfulltu   östN)__name__
__module____qualname____doc__r'   r@   rK   r%   r#   rO   r?   rP   rQ   rR   rT   r   r3   r;   rE   rJ    rG   r,   r   r      s        
 D
C
CCwwwJIIIL
CD  .  *( ( (T  ,  4  & 	fb"dBfb"fb"gr2fb"fb"fb"fb"gr2gr2fb"fb"fb"fb"fb"fb"fb"gr2gr2fb"+C0'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 	eRG'H 	hAI'J 	fb!K'L 	fb!M'CT 	eReReReReReReRC 	eRfafb!hAgr1CCCrG   r   c                       e Zd ZdS )r)   Nr   r   r   r   rG   r,   r)   r)               rG   r)   c                       e Zd ZdS )r4   Nr   r   rG   r,   r4   r4     r   rG   r4   N)basestemmerr   amongr   r   BaseExceptionr)   r4   r   rG   r,   <module>r      s    % $ $ $ $ $      x x x x x[ x x xv      =         =     rG   