
    =wge1                        d Z ddlm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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 gd!z  Z  e!d"efd#efd$eff      e d%<    e!d&efd'efd(efd)eff      e d*<    e!d+efd,efd-efd.efd/efd0efd1efd2efd3efd4efd5efd6efd7efd8efd9efd:efd;eff      e d<<    e!d=efd>efd?efd@efdAefdBefdCefdDefdEefdFefdGefdHefdIeff      e dJ<    e!g dKefdLefdMefdNefdOefdPefdQefdRefdSefdTefdUefdVefdWefdXefdYefdZefd[efd\efd]efd^efd_efd`efdaefdbefdce	fddefdeefdfefdgefdhefdiefdjefdkefdlefdmefdnefdoefdpefdqefdref      e ds<    e!g dtefduefdve	fdwefdxefdyefdzefd{efd|efd}efd~efdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdef      e d<    e!g defdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdef      e d<    e!g defdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefdefd efdefdefdefdefde
fdefdefdefd	efd
efdefdefdefdefdef      e d<    e!g defdefdefdefdefdefdefdefdefdefdefdefdefdefdefd efd!efd"efd#efd$efd%efd&efd'efd(efd)efd*efd+efd,efd-efd.efd/efd0efd1efd2efd3efd4efd5efd6efd7ef      e d8<    e!d9efd:efd;efd<efd=efd>efd?efd@efdAefdBefdCefdDefdEefdFefdGefdHefdIefdJeff      e dK<    e!dLefdMefdNefdOefdPefdQeff      e dR<   dS Z"dTZ# ee$      Z%e#D ]  Z&e%e&d   dU      jO                  e&         e(dV      Z)dW Z*dX Z+y (Y  zsThis module implements the Lovins stemming algorithm. Use the ``stem()``
function::

    stemmed_word = stem(word)
    )defaultdictc                      y)NT bases    I/var/www/horilla/myenv/lib/python3.12/site-packages/whoosh/lang/lovins.pyAr	      s        c                     t        |       dkD  S )N   lenr   s    r   Br          t9q=r
   c                     t        |       dkD  S )N   r   r   s    r   Cr      r   r
   c                     t        |       dkD  S )N   r   r   s    r   Dr      r   r
   c                     | d   dk7  S )Ner   r   s    r   Er           8s?r
   c                 2    t        |       dkD  xr | d   dk7  S )Nr   r   r   r   r   s    r   Fr   %       t9q=,T"X_,r
   c                 2    t        |       dkD  xr | d   dk(  S )Nr   r   fr   r   s    r   Gr!   *   r   r
   c                 8    | dd  \  }}|dk(  xs |dk(  xr |dk(  S )Ntlr   r   c1c2s      r   Hr)   /   -    "#YFB91s0rSy1r
   c                 $    | d   }|dk7  xr |dk7  S )Nr   or   r   r   cs     r   Ir/   5       RA8 S r
   c                 $    | d   }|dk7  xr |dk7  S )Nr   ar   r   r-   s     r   Jr3   ;   r0   r
   c                 j    | d   }| d   }t        |       dkD  xr |dk(  xs |dk(  xs |dk(  xr |dk(  S )Nr   r   r%   ir   ur   r   r.   ccs      r   Kr:   A   sF    RA	bBt9q=Oa3hN!s(NqCx7MB#IOr
   c                 F    | dd  \  }}|dk7  xr |dk7  xr |dk7  xs |dk(  S )Nr#   r7   xsr,   r   r&   s      r   Lr>   H   s6    "#YFB9?s?c	(>R3Y?r
   c                 @    | d   }|dk7  xr |dk7  xr |dk7  xr |dk7  S )Nr   r2   r.   r   mr   r-   s     r   MrA   N   s0    RA8:S:Q#X:!s(:r
   c                 R    t        |       dkD  xs t        |       dk(  xr | d   dk7  S )Nr   r   r=   r   r   s    r   NrC   T   s*    t9q=@SY!^?RC@r
   c                 $    | d   }|dk(  xs |dk(  S )Nr   r%   r6   r   r-   s     r   OrE   Y       RA8qCxr
   c                     | d   dk7  S Nr   r.   r   r   s    r   PrI   _   r   r
   c                 D    | d   }t        |       dkD  xr |dk7  xr |dk7  S )Nr   r   r%   nr   r-   s     r   QrL   d   s+    RAt9q=4a3h3184r
   c                 $    | d   }|dk(  xs |dk(  S )Nr   rK   rr   r-   s     r   RrO   j   rF   r
   c                 8    | d   }|dk(  xs | d   dk(  xr |dk7  S )Nr#   rdr   r$   ttr   )r   l2s     r   SrT   p   s+    	bB:9$r(c/8bDj9r
   c                 8    | dd  \  }}|dk(  xs |dk(  xr |dk7  S )Nr#   r=   r$   r,   r   r&   s      r   TrV   v   r*   r
   c                 @    | d   }|dk(  xs |dk(  xs |dk(  xs |dk(  S )Nr   r%   r@   rK   rN   r   r-   s     r   UrX   |   s0    RA87qCx7187qCx7r
   c                     | d   dk(  S rH   r   r   s    r   VrZ      r   r
   c                 $    | d   }|dk7  xr |dk7  S )Nr   r=   r7   r   r-   s     r   Wr\      r0   r
   c                 J    | d   }| d   }|dk(  xs |dk(  xs |dk(  xr |dk(  S )Nr   r5   r%   r6   r   r7   r   r8   s      r   Xr^      s9    RA	bB8;qCx;AH$:s;r
   c                     | dd  dk(  S )Nr#   inr   r   s    r   Yra      s    9r
   c                     | d   dk7  S )Nr   r    r   r   s    r   Zrc      r   r
   c                     | d   }| dd  }|dk(  xs6 |dk(  xs/ |dk(  xs( |dk(  xs! |dk(  xs |dk(  xs |d	k(  xs |d
k(  xs |dk(  S )Nr   r#   dr    phthr%   eroresr$   r   )r   r.   rS   s      r   r2   r2      s    RA	bcBH BS BB$J B"* BS BTzB4ZB+-:B9:cCr
   c                 l    t        |       dkD  xr% | j                  d      xs | j                  d       S )Nr   metryst)r   endswithr   s    r   bro      s8    t9q= <$--"6 #;%)]]6%:< <r
   c                     | d   dk(  S )Nr   r%   r   r   s    r   r.   r.      r   r
   N   alisticallyarizabilityizationally   
antialness
arisations
arizations
entialness
   	allically	antaneous	antiality	arisation	arization	ationally	ativeness	eableness	entations	entiality	entialize	entiation	ionalness	istically	itousness	izability	izational	   ablenessarizableentationentiallyeousnessiblenessicalnessionalismionalityionalizeiousnessizationslessness   abilityaicallyalisticalitiesarinessaristicarizingatenessatinglyationalativelyativismelihoodencibleentallyentialsentiateentnessfulnessibilityicalismicalisticalityicalizeicationicianryinationingnessionallyisationishnessisticalitenessivenessivisticivitiesizationizementoidallyousness   aceousaciousactionalnessancialanciesancingariserarizedarizeratableationsativeseatureefullyenciesencingentialentingentisteouslyialistialityializeicallyicanceiciansicistsifullyionalsionateioningionistiouslyisticsizablelesslynessesoidism   aciesacityagingaicalalistalismalityalizeallicancedancesanticarialariesarilyarityarizearoidatelyatingationativeatorsatoryatureearlyehoodelesselilyementencedencesenesseningentalentedentlyfullyiallyicanticianicideicismicisticityidineiedlyihoodinateinessinglyinisminityionalionedishedisticitiesitousivelyivityizersizingoidaloidesotideously   ableablyagesallyanceancyantsaricarlyatedatesaticatorealyedlyefuleityenceencyenedenlyeoushoodialsiansibleiblyicalidesiersifulinesingsionsiousismsistsiticizedizerlesslilynessogenwardwiseyingyishr   acyageaicalsantarsaryataateealearelyeneenteryesefulialianicsideiedieriesilyineingionishismistiteityiumiveizeoidoneousr   aealarasedenrj   iaicislyonri   umusylzs'z'sr   r2   r   r6   r,   r=   y   c                     t        |       }d}|dkD  rG||z
  dkD  r4| ||z
  d  }t        |   j                  |      }|r| d ||z
   } ||      r|S |dz  }|dkD  rG| S )Nru   r   r  )r   r@   get)wordlengthelendingcondr   s         r   remove_endingr    s|    YF	B
q&B;?&2+,'FR599V$DLVb[):K
a q& Kr
   )$ieviefuctucr  r  )umptr  )rptrb)ursur)istrister)metrmeter)olvolut)ulr%   aoi)bexbic)dexdic)pexpic)textic)axac)exec)ixr  )luxluc)uaduas)vadvas)cidcis)lidlis)erideris)pandpans)endensr=   )ondons)ludlus)rudrus)herhespt)mitmis)rm  r  r@   )erters)etrj   rK   )ytys)yzr  r   )	ddggllmmnnpprrssrR   c                    | dd  t         v r| d d } t        | d      D ]`  }|d d \  }}| j                  |      st        |      dkD  r!|d   }| dt        |      dz   z
     }||v r| c S | d dt        |      z
   |z   c S  | S )Nr#   r   r   r   r  )_doubles_endingrulesrn   r   )r  
endingruletargetnewendexceptafterr.   s         r   
fix_endingr  %  s    BCyHCRy"48, 	3
#BQ== :"(mc&kAo./#K(S[)F22	3 Kr
   c                 *    t        t        |             S )z8Returns the stemmed version of the argument string.
    )r  r  )r  s    r   stemr  7  s     mD)**r
   ),__doc__collectionsr   r	   r   r   r   r   r   r!   r)   r/   r3   r:   r>   rA   rC   rE   rI   rL   rO   rT   rV   rX   rZ   r\   r^   ra   rc   r2   ro   r.   r@   dictr  _endingslistr  ruleappend	frozensetr  r  r  r   r
   r   <module>r     sC   $





-
-
2!!P@;A
 
5 :28
!<

C< 
FRK			 	" 		q	q	q	q	 	"
 	a	a	a	a	a	a	a	a	a	a	a	a	a	a	a	a	a# !$ 	Q	Q	Q	Q	Q	Q	Q	Q	Q	Q	Q	Q	Q !  (	A(	A( 
A( 
A	(
 
A( 
A( 
A( 
A( 
A( 
A( 
A( 
A( 
A( 
A( 
A(  
A!(" 
A#($ 
A%(& 
A'(( 
A)(* 
A+(, 
A-(. 
A/(0 
A1(2 
A3(4 
A5(6 
A7(8 
A9(: 
A;(< 
A=(> 
A?(@ 
AA(B 
AC(D 
AE(F 
AG(H 
AI(J 
AK(L 
AM(N 
AO(P 
AQ( (!R  '	1'	1' 
1' 
1	'
 
1' 
1' 
1' 
1' 
1' 
1' 
1' 
1' 
1' 
1' 
1'  
1!'" 
1#'$ 
1%'& 
1''( 
1)'* 
1+', 
1-'. 
1/'0 
11'2 
13'4 
15'6 
17'8 
19': 
1;'< 
1='> 
1?'@ 
1A'B 
1C'D 
1E'F 
1G'H 
1I'J 
1K'L 
1M'N 
1O' '!P  C	!C	!C 
!C 
!	C
 
!C 
!C 
!C 
!C 
!C 
!C 
!C 
!C 
!C 
!C 
!C  
!!C" 
!#C$ 
!%C& 
!'C( 
!)C* 
!+C, 
!-C. 
!/C0 
!1C2 
!3C4 
!5C6 
!7C8 
!9C: 
!;C< 
!=C> 
!?C@ 
!ACB 
!CCD 
!ECF 
!GCH 
!ICJ 
!KCL 
!MCN 
!OCP 
!QCR 
!SCT 
!UCV 
!WCX 
!YCZ 
![C\ 
!]C^ 
!_C` 
!aCb 
!cCd 
!eCf 
!gCh 
!iCj 
!kCl 
!mCn 
!oCp 
!qCr 
!sCt 
!uCv 
!wCx 
!yCz 
!{C| 
!}C~ 
!C@ 
!ACB 
!CCD 
!ECF 
!GC C!H  0	0	0 
0 
	0
 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0  
!0" 
#0$ 
%0& 
'0( 
)0* 
+0, 
-0. 
/00 
102 
304 
506 
708 
90: 
;0< 
=0> 
?0@ 
A0B 
C0D 
E0F 
G0H 
I0J 
K0L 
M0N 
O0P 
Q0R 
S0T 
U0V 
W0X 
Y0Z 
[0\ 
]0^ 
_0` 
a0 0!b  '	
'	
' 

' 

	'
 

' 

' 

' 

' 

' 

' 

' 

' 

' 

' 

'  

!'" 

#'$ 

%'& 

''( 

)'* 

+', 

-'. 

/'0 

1'2 

3'4 

5'6 

7'8 

9': 

;'< 

='> 

?'@ 

A'B 

C'D 

E'F 

G'H 

I'J 

K'L 

M'N 

O' '!P 	q		q		q		q		q		q		q		q		q		q		q		q		q		q		q		q		q		q	% !& 	a	a	a	a	a	a !#N 4  +Da$$T*+ KL$+r
   