
    Ri-O                         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 G d	 d
e      Z G d de      Z	 G d de      Z
 G d de      Z G d de      Z G d de      Zy)   )BaseStemmer)Amongc                   T   e Zd ZdZh 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 eddd       eddd       eddd      gZ eddd       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      gZ eddd       eddd       eddd      gZ 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ddd       ed/dd0       ed1d2d3       ed4dd       edd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       ed>dd       ed?dd#       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+      Zg  edRdd       edSdd       edTdd       edUdd       edVdd       edWdd       edXdd       edYdd       ed%dd       edZd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dadd       edbdcd       edddcd       ededcd       edfdd       edgdhd       edidjd       edkdjd       edldjd       edmdhd       edndhd       edodhd       edpdhd       edqdd       edrdsd       edtdsd       edudsd       edvdsd       edwdsd       edxdsd       edydd       edzdd       ed{dd       ed|dd       ed}dd       ed~dd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       edAdd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd       eddd      Z eddd       eddd       eddd       eddd       eddd       eddd       eddd      gZ eddd       eddd       eddd       eddd      gZy)PortugueseStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated from portuguese.sbl by Snowball 3.0.1 - https://snowballstem.org/
    >   aeiou   á   â   é   ê   í   ó   ô   ú    c                    	 | j                   }	 | j                   | _        | j                  t        j                        }| j                   | _        |dk(  r| j                  d      sPy|dk(  r| j                  d      s9y| j                   | j                  k\  r
t               | xj                   dz  c_         # t        $ r Y nw xY w|| _         	 y)NTr   a~F   o~)	cursorbra
find_amongr   a_0ket
slice_fromlimitlab0selfv_1	among_vars      Z/home/agent/.friday_env/lib/python3.12/site-packages/snowballstemmer/portuguese_stemmer.py__r_preludezPortugueseStemmer.__r_prelude       ++C;; OO,=,A,AB	;;>??51$!^??51${{djj0"fKK1$KDK   AB7 'B7 >8B7 7	CCc                    | j                   | _        | j                   | _        | j                   | _        | j                  }	 	 | j                  }	 | j                  t        j                        s
t               	 | j                  }	 | j                  t        j                        s
t               | j                  t        j                        s
t               | xj                  dz  c_        t               # t        $ r Y nw xY w|| _        | j                  t        j                        s
t               | j                  t        j                        s
t               | xj                  dz  c_        t               # t        $ r Y t               w xY w# t        $ r Y nw xY w|| _        | j                  t        j                        s
t               	 | j                  }	 | j                  t        j                        s
t!               | j                  t        j                        s
t!               | xj                  dz  c_        t#               # t         $ r Y nw xY w|| _        | j                  t        j                        s
t               | j                  | j                   k\  r
t               | xj                  dz  c_        n# t"        $ r Y nw xY wn# t        $ r Y nw xY w| j                  | _        n# t        $ r Y nw xY w|| _        | j                  }	 | j                  t        j                        s
t%               | xj                  dz  c_        | j                  t        j                        s
t%               | xj                  dz  c_        | j                  | _        | j                  t        j                        s
t%               | xj                  dz  c_        | j                  t        j                        s
t%               | xj                  dz  c_        | j                  | _        || _        y# t$        $ r
 Y || _        yw xY w)Nr   T)r   I_pVI_p1I_p2r   in_groupingr   g_vlab2out_groupinglab4go_out_groupinglab3go_in_groupinglab1r    lab6lab5lab7)r"   r#   v_2v_3v_4v_5s         r%   __r_mark_regionsz"PortugueseStemmer.__r_mark_regions+   sF   JJ	JJ	JJ	kk/	,kk"++,=,A,AB"f&"kk*#'#4#45F5J5J#K&*f#'#7#78I8M8M#N&*f KK1,K"&&L#)T)&)#//0A0E0EF"&&L#223D3H3HI"&&Lq(&L  %&L &!T!!(():)>)>?&L"++C&#001B1F1FG"&&L#334E4I4IJ"&&Lq("f%%"%DK++,=,A,AB"f{{djj0"fKK1$K!T!DITkk	''(9(=(=>fKK1K&&'8'<'<=fKK1KDI''(9(=(=>fKK1K&&'8'<'<=fKK1KDI T 	s   K )F 9E> A1C7 7	D E> DA1E> 4
F >	FF FF 	F"K !F""3K K #A1I 	I K I  A+K K 	KK KK K= 	K(%K= 'K((K= =	L	L	 DQ 	QQc                    	 | j                   }	 | j                   | _        | j                  t        j                        }| j                   | _        |dk(  r| j                  d      sPy|dk(  r| j                  d      s9y| j                   | j                  k\  r
t               | xj                   dz  c_         # t        $ r Y nw xY w|| _         	 y)NTr      ãFr      õ)	r   r   r   r   a_1r   r   r   r    r!   s      r%   __r_postludezPortugueseStemmer.__r_postludeu   r'   r(   c                 4    | j                   | j                  k  S N)r*   r   r"   s    r%   __r_RVzPortugueseStemmer.__r_RV       yyDKK''    c                 4    | j                   | j                  k  S rD   )r+   r   rE   s    r%   __r_R1zPortugueseStemmer.__r_R1   rG   rH   c                 4    | j                   | j                  k  S rD   )r,   r   rE   s    r%   __r_R2zPortugueseStemmer.__r_R2   rG   rH   c                 
   | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        |dk(  r#| j                         sy| j                         syy|dk(  r$| j                         sy| j                  d      syy|dk(  r$| j                         sy| j                  d      syy|dk(  r$| j                         sy| j                  d	      syy|d
k(  ru| j                         sy| j                         sy| j                  | j                   z
  }	 | j                   | _        | j                  t        j                        }|dk(  r| j                  |z
  | _         t               | j                   | _        | j                         s| j                  |z
  | _         t               | j                         sy|dk(  r| j                   | _        | j                  d      s| j                  |z
  | _         t               | j                   | _        | j                         s| j                  |z
  | _         t               | j                         syy|dk(  r| j                         sy| j                         sy| j                  | j                   z
  }	 | j                   | _        | j                  t        j                        dk(  r| j                  |z
  | _         t               | j                   | _        | j                         s| j                  |z
  | _         t               | j                         sy	 y|dk(  r| j                         sy| j                         sy| j                  | j                   z
  }	 | j                   | _        | j                  t        j                         dk(  r| j                  |z
  | _         t#               | j                   | _        | j                         s| j                  |z
  | _         t#               | j                         sy	 y|dk(  r| j                         sy| j                         sy| j                  | j                   z
  }	 | j                   | _        | j                  d      s| j                  |z
  | _         t%               | j                   | _        | j                         s| j                  |z
  | _         t%               | j                         sy	 y| j'                         sy| j                  d      sy| j                  d      syy# t        $ r Y yw xY w# t        $ r Y yw xY w# t"        $ r Y yw xY w# t$        $ r Y yw xY w)Nr   Fr   r   log   r      ente   at         r   irT)r   r   find_among_br   a_5r   _PortugueseStemmer__r_R2	slice_delr   _PortugueseStemmer__r_R1r   a_2r    eq_s_ba_3r5   a_4r/   r3   _PortugueseStemmer__r_RV)r"   r$   r#   r9   r:   r;   s         r%   __r_standard_suffixz%PortugueseStemmer.__r_standard_suffix   s   ;;%%&7&;&;<	>;;>;;=>>#j g !^;;=??6*^ ] !^;;=??4(T S !^;;=??7+J I !^;;=>>#**t{{*C;; --.?.C.CD	>"&**s"2DK&L;;{{}"&**s"2DK&L~~' >#{{DH;;u-&*jj3&6"f#{{DH;;=&*jj3&6"f>>+$L G !^;;=>>#**t{{*C;;$$%6%:%:;q@"&**s"2DK&L;;{{}"&**s"2DK&L~~'  (f _ !^;;=>>#**t{{*C;;$$%6%:%:;q@"&**s"2DK&L;;{{}"&**s"2DK&L~~'  (> 7 !^;;=>>#**t{{*C;;{{5)"&**s"2DK&L;;{{}"&**s"2DK&L~~'  (  ;;=;;t$??5)I H I ( ` a ( 8 9 (   sS   -B"T7 BT7 'B U B U /BU$ 7	UU	UU	U! U!$	U0/U0c                 :   | j                   | j                  k  ry| j                  }| j                  | _        | j                   | _        | j	                  t
        j                        dk(  r|| _        y| j                   | _        | j                         sy|| _        y)NFr   T)	r   r*   limit_backwardr   rX   r   a_6r   r[   )r"   r9   s     r%   __r_verb_suffixz!PortugueseStemmer.__r_verb_suffix  s    ;;"!!"ii;;.223q8"%D;;~~!rH   c                     | j                   | _        | j                  t        j                        dk(  ry| j                   | _        | j                         sy| j                         syy)Nr   FT)r   r   rX   r   a_7r   ra   r[   rE   s    r%   __r_residual_suffixz%PortugueseStemmer.__r_residual_suffix&  sQ    ;;.223q8;;{{}~~rH   c                    | j                   | _        | j                  t        j                        }|dk(  ry| j                   | _        |dk(  r| j                         sy| j                         sy| j                   | _        	 | j                  | j                   z
  }	 | j                  d      s
t               | j                   | _        | j                  | j                   z
  }| j                  d      s
t               | j                  |z
  | _         t               | j                  d      syy# t        $ r Y nw xY w| j                  |z
  | _         | j                  d      sy| j                   | _        | j                  | j                   z
  }| j                  d      sy| j                  |z
  | _         n# t        $ r Y nw xY w| j                         sy| j                         syy)	Nr   Fr   r   gr	   cT)r   r   rX   r   a_8r   ra   r[   r   r^   r5   r    r   )r"   r$   r#   r9   r:   s        r%   __r_residual_formz#PortugueseStemmer.__r_residual_form2  s   ;;%%&7&;&;<	>;;>;;=>>#{{DHjj4;;.	";;t,"f#{{DH**t{{2C;;t,"f"&**s"2DK&L" ??4(% !T!"jj3.{{4( ;;jj4;;.{{4( "jj3.;;=>>#
 s=   F2 A>D, ,	D85F2 7D88(F2 !;F2 F2 2	F>=F>c                 >   | j                   }| j                          || _         | j                          | j                   | _        | j                  | _         | j                  | j                   z
  }	 	 | j                  | j                   z
  }	 | j                  | j                   z
  }	 | j                  | j                   z
  }	 | j                         s
t               t               # t        $ r Y nw xY w| j                  |z
  | _         | j                         s
t               n# t        $ r Y nw xY w| j                  |z
  | _         | j                  | j                   z
  }	 | j                   | _
        | j                  d      s
t               | j                   | _        | j                  | j                   z
  }| j                  d      s
t               | j                  |z
  | _         | j                         s
t               | j                         syn# t        $ r Y nw xY w| j                  |z
  | _         t!               # t        $ r Y nw xY w| j                  |z
  | _         | j#                         s
t%               n# t         $ r Y nw xY wn# t$        $ r Y nw xY w| j                  |z
  | _         | j                  | j                   z
  }| j'                          | j                  |z
  | _         | j                  | _         | j                   }	| j)                          |	| _         y)Nr	   rl   FT)r   _PortugueseStemmer__r_prelude"_PortugueseStemmer__r_mark_regionsrd   r   %_PortugueseStemmer__r_standard_suffixr1   r3   !_PortugueseStemmer__r_verb_suffixr/   r   r^   r7   r   ra   r[   r5   %_PortugueseStemmer__r_residual_suffixr    #_PortugueseStemmer__r_residual_form_PortugueseStemmer__r_postlude)
r"   r#   r:   r;   r<   v_6v_7v_8v_9v_10s
             r%   _stemzPortugueseStemmer._stem^  s   kk"kkjjjj4;;&(	&jj4;;. "**t{{2C
&"jj4;;6*#'#;#;#=&*f"&&L#)T)&*jj3&6#335"&&L  6%%"&**s"2DK**t{{2C&#';;#{{40"&&L#';;"jj4;;6#{{40"&&L&*jj3&6#{{}"&&L#~~/#(  0  %%"&**s"2DK&L!T!"jj3.//1&L 2Tjj3&jj4;;& jj3&)){{s   1I: H< %D! ?$C# #	C/,D! .C//1D!  H< !	D-*H< ,D--0H< B/H H< 	HH< H!H< <	II: I1I: 9J
 :	JJ
 JJ
 
	JJ rO   r?   r   r@   r   r   r   icadosivanteavelu   ívelabilicau   ânciau   ênciarP   logiaira	   adoraosaistaivarV   ezaidaderU   menterT   amente   rR   u   ávelicoismoosoamentoimentoivou   aça~ou   uça~oadoricasu   ênciaslogiasirasadorasosasistasivasezasidadesadoresantesu   aço~esu   uço~esicosismosososamentosimentosivosadaidaiaariaeriairiaaraeraavaasseesseisseasteesteisteeiarei   ereiireiamiam   ariam   eriamiriamarameramiramavamemarem   eremiremassemessemissemadoidoandoendoindozara~ozera~ozira~oarerrW   asadas/   idasiasarias2   eriasiriasaraserasavasesardes:   erdesirdesareseresiresassesessesissesastesestesistesisaisG   eisareisI   ereisireisu   áreisu   éreisu   íreisu   ásseisu   ésseisu   ísseisu   áveisu   íeisu   aríeisT   u   eríeisu   iríeisadosidosamosu   áramosZ   u   éramosu   íramosu   ávamosu   íamosu   aríamos_   u   eríamosu   iríamosemosaremosc   eremosiremosu   ássemosu   êssemosu   íssemosimosarmosermosirmosu   ámosu   arásu   erásu   iráseuiuouu   aráu   eráu   irár   r	   r
   r   r   r   r      çr   r   N)__name__
__module____qualname____doc__r.   r,   r+   r*   rp   rq   rv   ra   r\   rZ   rr   rs   rt   ru   r|   r   r   rA   r]   r_   r`   rY   re   rh   rm    rH   r%   r   r      sl   
 aCDDD.HT.(((B 
*X9x 	c2qeQeQC 	c2qeQeQC 	eReReReR	C 	gr1gr1hAC 	eRgr1eRC.fb!.iQ. 	iQ. 	hA	.
 	fb!. 	hA. 	fb!. 	gr1. 	fb!. 	fb!. 	hA. 	gr1. 	hA. 	iQ. 	hA.  	hA!." 	fb!#.$ 	gr1%.& 	fb!'.( 	iQ).* 	iQ+., 	fb!-.. 	iQ/.0 	iQ1.2 	gr13.4 	gr15.6 	j"a 7.8 	iQ9.: 	gr1;.< 	iQ=.> 	gr1?.@ 	hAA.B 	gr1C.D 	gr1E.F 	iQG.H 	iQI.J 	hAK.L 	j"a M.N 	j"a O.P 	gr1Q.R 	hAS.T 	gr1U.V 	j"a W.X 	j"a Y.Z 	gr1[.C`yfb!yfb!y 	eRy 	gq!	y
 	gq!y 	gq!y 	fb!y 	fb!y 	fb!y 	fb!y 	gr1y 	gr1y 	gr1y 	gr1y 	gr1y  	gr1!y" 	eR#y$ 	gr1%y& 	gr1'y( 	gr1)y* 	eR+y, 	fb!-y. 	hA/y0 	hA1y2 	hA3y4 	gr15y6 	gr17y8 	gr19y: 	gr1;y< 	eR=y> 	gr1?y@ 	gr1AyB 	gr1CyD 	hAEyF 	hAGyH 	hAIyJ 	fb!KyL 	fb!MyN 	gr1OyP 	gr1QyR 	gr1SyT 	hAUyV 	hAWyX 	hAYyZ 	eR[y\ 	eR]y^ 	eR_y` 	eRayb 	gr1cyd 	gr1eyf 	fb!gyh 	hAiyj 	hAkyl 	hAmyn 	gr1oyp 	gr1qyr 	gr1syt 	gr1uyv 	eRwyx 	hAyyz 	hA{y| 	hA}y~ 	gr1y@ 	gr1AyB 	gr1CyD 	hAEyF 	hAGyH 	hAIyJ 	hAKyL 	hAMyN 	hAOyP 	eRQyR 	fb!SyT 	fb!UyV 	hAWyX 	hAYyZ 	hA[y\ 	iQ]y^ 	iQ_y` 	iQayb 	j"a cyd 	j"a eyf 	j"a gyh 	iQiyj 	hAkyl 	j"a myn 	j"a oyp 	j"a qyr 	gr1syt 	gr1uyv 	gr1wyx 	j"a yyz 	j"a {y| 	j"a }y~ 	j"a y@ 	iQAyB 	k2q!CyD 	k2q!EyF 	k2q!GyH 	gr1IyJ 	iQKyL 	iQMyN 	iQOyP 	k2q!QyR 	k2q!SyT 	k2q!UyV 	gr1WyX 	hAYyZ 	hA[y\ 	hA]y^ 	hA_y` 	hAayb 	hAcyd 	hAeyf 	eRgyh 	eRiyj 	eRkyl 	gr1myn 	gr1oyp 	gr1qyCx 	dBdBdBeReReReRC 	dBeReReR	CrH   r   c                       e Zd Zy)r    Nr  r  r  r  rH   r%   r    r    u      rH   r    c                       e Zd Zy)r5   Nr  r  rH   r%   r5   r5   x  r  rH   r5   c                       e Zd Zy)r/   Nr  r  rH   r%   r/   r/   {  r  rH   r/   c                       e Zd Zy)r3   Nr  r  rH   r%   r3   r3   ~  r  rH   r3   c                       e Zd Zy)r1   Nr  r  rH   r%   r1   r1     r  rH   r1   c                       e Zd Zy)r7   Nr  r  rH   r%   r7   r7     r  rH   r7   c                       e Zd Zy)r6   Nr  r  rH   r%   r6   r6     r  rH   r6   c                       e Zd Zy)r8   Nr  r  rH   r%   r8   r8     r  rH   r8   N)basestemmerr   amongr   r   BaseExceptionr    r5   r/   r3   r1   r7   r6   r8   r  rH   r%   <module>r      sl    % j	 j	Z  =   =   =   =   =   =   =   = rH   