
    ?peA                     :   g d g dfg dg dffg dg dfg dg dffg dg d	ffg d
g dfg dddgfg dg dfg ddgfg dg dffg dg d	fg dg dfg dg dffg dddgfg dg dfg dg dfg dg dffg dddgfg dg dfg d g dffg d!g d"ffd#Z g d$d%d&gfg d'g fg d(ddgffg d)d%d&gffg d*d%d&gfg dg ffg d+g ffd,Zddgfg dg dfdd-gfd%d&gfg d.g d/fg d0g d1g d2g dfg d3fg dg d4fg dfg dfg d	fd5Z G d6 d7e      Zy8)9)ationr   lr   r   e)r   r   r   r   r   r   )r   r   r   r   )r	   r   cr   )r	   r   r
   r	   )r   r   r
   r   )r   r   r
   r	   )r   zr	   rr   r   r	   )br   r   r   r   r	   )r   r   r   r   r   r   )r	   r   r   r   r   )r	   r   r   )r	   r   r   r	   )r   usr   r   )r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   )r   r   r   r   m)r   vr	   r   r	   r   r   )r   r   r	   )fr   r   r   r	   r   r   )r   r   r   )r   r   r   r   r	   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   )r   r   gr   )r   r   r   )r   r
   r	   r   r   r   r   r   )r   r
   r   r   r	   r   r
   )r   r   r   r   r	   )r   r   r   r   r	   )r   r
   r   r   r   )r   r
   r   r   )r   r	   r   r   )r	   r   r   r   r   )r   r   r   r	   )r   r   r   r	   )r   r   r   )r	   r   r	   r   r   )r   r	   r   r   )r   r   r   )r   r   r   )r   r
   r	   r   r   r   r   r   r   r   r   c                   l    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zy)Stemmerc                 X    t        |      | _        t        |      dz
  | _        d| _        y )N       )listr   lenkj)selfr   s     2/usr/lib/python3/dist-packages/jellyfish/porter.py__init__zStemmer.__init__G   s#    aQ!    c                     | j                   |   dv ry| j                   |   dk(  r|dk(  rdS | j                  |dz
         S y)z True iff b[i] is a consonant aeiouFyr   Tr   r   consr   r   s     r    r'   zStemmer.consL   sI    66!9VVAY#64;499QU+;';;r"   c                 2   dx}}	 || j                   kD  r|S | j                  |      sn|dz  })|dz  }	 	 || j                   kD  r|S | j                  |      rn|dz  })|dz  }|dz  }	 || j                   kD  r|S | j                  |      sn|dz  })|dz  }d)Nr   r   )r   r'   )r   r   r   s      r    r   z	Stemmer.mT   s    	A466z99Q<FA  	
Qtvv:H99Q<Q  FAFAtvv:Hyy|Q  FA# r"   c                 f    t        d| j                  dz         D ]  }| j                  |      r y y)z True iff 0...j contains vowel r   r   TF)ranger   r'   r(   s     r    vowel_in_stemzStemmer.vowel_in_stemp   s3    q$&&1*% 	A99Q<	 r"   c                 t    |dk  s"| j                   |   | j                   |dz
     k7  ry| j                  |      S )z+ True iff j, j-1 contains double consonant r   Fr&   )r   r   s     r    doubleczStemmer.doublecw   s5    q5DFF1IA.yy|r"   c                     |dk  sJ| j                  |      r9| j                  |dz
        s%| j                  |dz
        r| j                  |   dv ryy)z True iff i-2,i-1,i is consonant-vowel consonant
        and if second c isn't w,x, or y.
        used to restore e at end of short words like cave, love, hope, crime
           r   wxyFT)r'   r   r(   s     r    cvczStemmer.cvc}   sL     E99Q<yyQ99QU#vvayE!r"   c                     t        |      }	 | j                  | j                  |z
  dz   | j                  dz    |k(  }|r| j                  |z
  | _        |S Nr   )r   r   r   r   )r   r   lengthress       r    endszStemmer.ends   sO    Q1ffTVVf_q(466A:6!;VVf_DF
r"   c                     t        |      }|| j                  | j                  dz   | j                  dz   |z    | j                  |z   | _        y)z( set j+1...k to string s, readjusting k r   N)r   r   r   r   )r   r   r5   s      r    settozStemmer.setto   s?    Q34tvvzDFFQJ/0&r"   c                 N    | j                         dkD  r| j                  |       y y )Nr   )r   r9   )r   r   s     r    r   z	Stemmer.r   s    668a<JJqM r"   c                    | j                   | j                     dk(  r| j                  g d      r| xj                  dz  c_        nZ| j                  g d      r| j                  dg       n4| j                   | j                  dz
     dk7  r| xj                  dz  c_        | j                  g d      r*| j	                         dkD  r| xj                  dz  c_        y y | j                  d	d
g      s| j                  g d      r=| j                         r+| j                  | _        | j                  ddg      r| j                  g d       y | j                  ddg      r| j                  g d       y | j                  ddg      r| j                  g d       y | j                  | j                        rG| xj                  dz  c_        | j                   | j                     dv r| xj                  dz  c_        y y | j	                         dk(  r/| j                  | j                        r| j                  d	g       y y y y y )Nr   )r   r   r	   r   r0   )r   r	   r   r   r   )r	   r	   dr   r	   r<   )r   r   r   r   r   r   r   r   r   r   r   lsz)	r   r   r7   r9   r   r,   r   r.   r2   r   s    r    step1abzStemmer.step1ab   s   66$&&>S yy-.!?+

C5!
#s*!99_%vvx!|!  IIsCj!TYY%?  "VVDFyy#s$

?+C:&

?+C:&

?+dff%!66$&&>U*FFaKF +Q488DFF#3

C5! $4 # &@r"   c                 ~    | j                  dg      r+| j                         rd| j                  | j                  <   yyy)z3 turn terminal y into i if there's a vowel in stem r%   r   N)r7   r,   r   r   r>   s    r    step1czStemmer.step1c   s4    99cU 2 2 4 DFF466N !5r"   c                 n   t         j                  | j                  | j                  dz
     g       D ])  \  }}| j	                  |      s| j                  |        n t        j                  | j                  | j                     g       D ])  \  }}| j	                  |      s| j                  |        y  y r4   )_s2_optionsgetr   r   r7   r   _s3_options)r   endrepls      r    	step2and3zStemmer.step2and3   s    $
);R@ 	ICyy~t	
 %< 	ICyy~t	r"   c                 v   | j                   | j                  dz
     }|dk(  rB| j                  g d      r| j                   | j                     dv sE| j                  ddg      s2y t        j                  |g       }|D ]  }| j                  |      s n y | j                         dkD  r| j                  | _        y y )Nr   r   )r   r   r   str   )r   r   r7   r   _s4_endingsrD   r   )r   chendingsrF   s       r    step4zStemmer.step4   s    VVDFFQJ9?+tvv$0F99c3Z(!oob"-G 99S> 668a<VVDF r"   c                    | j                   | _        | j                  | j                      dk(  rM| j                         }|dkD  s#|dk(  r3| j	                  | j                   dz
        s| xj                   dz  c_         | j                  | j                      dk(  rF| j                  | j                         r*| j                         dkD  r| xj                   dz  c_         y y y y )Nr	   r   r   )r   r   r   r   r2   r.   )r   r   s     r    step5zStemmer.step5   s    66$&&>S A1uQtxx
';!66$&&>S T\\$&&%9dffhlFFaKF ?K%9 r"   c                 X    dj                  | j                  d | j                  dz          S )N r   )joinr   r   r>   s    r    resultzStemmer.result   s$    wwtvvl
+,,r"   c                     | j                   dkD  rP| j                          | j                          | j                          | j	                          | j                          | j                         S r4   )r   r?   rA   rH   rN   rP   rT   r>   s    r    stemzStemmer.stem   sG    66A:LLNKKMNNJJLJJL{{}r"   N)__name__
__module____qualname__r!   r'   r   r,   r.   r2   r7   r9   r   r?   rA   rH   rN   rP   rT   rV    r"   r    r   r   F   sR    
8!"8!
	(-r"   r   N)rC   rE   rK   objectr   rZ   r"   r    <module>r\      s   
-o>	')=>

 
34	34
  
1	3	/*	Sz*	"O4	3% 	"O4
 
-o>	"O4	/
 
#S#J/	,o>	,o>	,o>	
 
#S#J/	"O4	'9

  
1	3C"N 
#S#J/	"B'	"S#J/

 %sCj
1	3#s
,.C	D
$	&	 *
 4	5**
 4	5!	
 	
?	+
	
	
	#*kf kr"   