o
    욌h$Q                     @   s   d dl mZ d dlmZ G dd deZG dd deZG dd deZG d	d
 d
eZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZdS )   )BaseStemmer)Amongc                
   @   sj	  e 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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d2dded3dded4d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Z
g 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dddedNddedOddedPddedQddedRddedSddedTddedUddedVdWdedXdWdedYdWdedZd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dfdgdedhdgdedidgdedjdgdedkdgdedldgdedmddednddedoddedpddedqddedrddedsddedtddeduddedvddedwddedxddedydzded{dzded|dzded}d~dedd~dedd~deddzdeddzded5dzdeddzd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g dӢZdZdZdZddՄ Zddׄ Zddل Zddۄ Zdd݄ Zdd߄ Zdd Zdd Zdd Zdd Zdd ZdS )PortugueseStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
           ã    r      õ   a~o~icadosivanteavelu   ívelabilicau   ânciau   ência   logiaira	   adoraosaistaiva   ezaidade   mente   amente      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erir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áaio   á   í   óe   ç   é   ê)   A   rP   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r	   r      r%   r   c                 C      	 | j }zA| j | _| tj}|dkrt | j | _|dkr'| ds&W dS n|dkr4| ds3W dS n| j | jkr=t |  j d7  _ W q  tyN   Y nw || _ 	 dS )NTr	   r   r   Fr   r   )	cursorbra
find_amongr   a_0lab0ket
slice_fromlimitselfv_1	among_var r   _/var/www/Befach/backend/venv/lib/python3.10/site-packages/snowballstemmer/portuguese_stemmer.py__r_prelude   0   

zPortugueseStemmer.__r_preludec                 C   s  | j | _| j | _| j | _| j}zz| j}zh| tjdds t zQ| j}z | 	tjdds0t
 | tjdds;t
 |  jd7  _t  t
yM   Y nw || _| tjdds\t | tjddsgt |  jd7  _W t  ty|   Y t w  ty   Y nw || _| 	tjddst zM| j}z | 	tjddst | tjddst |  jd7  _t  ty   Y nw || _| tjddst | j| j krt |  jd7  _W n	 ty   Y nw W n	 ty   Y nw | j| _W n
 ty   Y nw || _| j}zV| tjddst |  jd7  _| tjdds,t |  jd7  _| j| _| tjddsCt |  jd7  _| tjddsVt |  jd7  _| j| _W n
 tyl   Y nw || _dS )Na      r   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_5r   r   r   __r_mark_regions  s   z"PortugueseStemmer.__r_mark_regionsc                 C   r   )NTr	   r   r   Fr   r
   )	r   r   r   r   a_1r   r   r   r   r   r   r   r   __r_postludeQ  r   zPortugueseStemmer.__r_postludec                 C      | j | jksdS dS NFT)r   r   r   r   r   r   __r_RVj     zPortugueseStemmer.__r_RVc                 C   r   r   )r   r   r   r   r   r   __r_R1o  r   zPortugueseStemmer.__r_R1c                 C   r   r   )r   r   r   r   r   r   __r_R2t  r   zPortugueseStemmer.__r_R2c                 C   s  | j | _| tj}|dkrdS | j | _|dkr&|  sdS |  s$dS dS |dkr9|  s0dS | ds7dS dS |dkrL|  sCdS | dsJdS dS |dkr_|  sVdS | d	s]dS dS |d
kr| 	 sidS |  sodS | j
| j  }zc| j | _| tj}|dkr| j
| | _ t | j | _|  s| j
| | _ t |  sW dS |dkr| j | _| ds| j
| | _ t | j | _|  s| j
| | _ t |  sW dS W dS W dS  ty   Y dS w |dkr9|  sdS |  sdS | j
| j  }z3| j | _| tjdkr| j
| | _ t | j | _|  s#| j
| | _ t |  s+W dS W dS  ty8   Y dS w |dkr|  sEdS |  sLdS | j
| j  }z3| j | _| tjdkri| j
| | _ t | j | _|  s{| j
| | _ t |  sW dS W dS  ty   Y dS w |dkr|  sdS |  sdS | j
| j  }z0| j | _| ds| j
| | _ t | j | _|  s| j
| | _ t |  sW dS W dS  ty   Y dS w |  sdS | dsdS | dsdS dS )Nr	   Fr   r   logr   ur   enter&   atr#   r!   r   r   rm   T)r   r   find_among_br   a_5r   _PortugueseStemmer__r_R2	slice_delr   _PortugueseStemmer__r_R1r   a_2r   eq_s_ba_3r   a_4r   r   _PortugueseStemmer__r_RV)r   r   r   r   r   r   r   r   r   __r_standard_suffixy  s  u
o
j
e
PGD


30










z%PortugueseStemmer.__r_standard_suffixc                 C   s^   | j | jk rdS | j}| j| _| j | _| tjdkr || _dS | j | _|  s*dS || _dS )NFr	   T)	r   r   limit_backwardr   r   r   a_6r   r   )r   r   r   r   r   __r_verb_suffix  s   z!PortugueseStemmer.__r_verb_suffixc                 C   s@   | j | _| tjdkrdS | j | _|  sdS |  sdS dS )Nr	   FT)r   r   r   r   a_7r   r   r   r   r   r   r   __r_residual_suffix
  s   z%PortugueseStemmer.__r_residual_suffixc                 C   sH  | j | _| tj}|dkrdS | j | _|dkr|  sdS |  s$dS | j | _z[| j| j  }z#| 	ds8t
 | j | _| j| j  }| 	dsJt
 | j| | _ t  t
y[   Y nw | j| | _ | 	dsjW dS | j | _| j| j  }| 	ds|W dS | j| | _ W n	 ty   Y nw |  sdS |  sdS dS | dsdS dS )	Nr	   Fr   r   gr   cT)r   r   r   r   a_8r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   __r_residual_form  sP   




z#PortugueseStemmer.__r_residual_formc           
      C   s  | j }|   || _ |   | j | _| j| _ | j| j  }zz| j| j  }z| j| j  }z)| j| j  }z
|  s:t t  tyE   Y nw | j| | _ |  sSt	 W n	 ty]   Y nw | j| | _ | j| j  }z7| j | _
| dswt | j | _| j| j  }| dst | j| | _ |  st |  sW W W W dS W n	 ty   Y nw | j| | _ t  t	y   Y nw | j| | _ |  st W n	 ty   Y nw W n	 ty   Y nw | j| | _ | j| j  }|   | j| | _ | j| _ | j }	|   |	| _ dS )Nr   r   FT)r   _PortugueseStemmer__r_prelude"_PortugueseStemmer__r_mark_regionsr   r   %_PortugueseStemmer__r_standard_suffixr   r   !_PortugueseStemmer__r_verb_suffixr   r   r   r   r   r   r   r   %_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_10r   r   r   _stemB  sx   

zPortugueseStemmer._stemN)__name__
__module____qualname____doc__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      s    
























	























 
!
"
#
$
%
&
'
(
)
*
+
,
-0








	























 
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
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
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
|









J ,r   c                   @      e Zd ZdS )r   Nr  r  r  r   r   r   r   r   ~      r   c                   @   r  )r   Nr	  r   r   r   r   r     r
  r   c                   @   r  )r   Nr	  r   r   r   r   r     r
  r   c                   @   r  )r   Nr	  r   r   r   r   r     r
  r   c                   @   r  )r   Nr	  r   r   r   r   r     r
  r   c                   @   r  )r   Nr	  r   r   r   r   r     r
  r   c                   @   r  )r   Nr	  r   r   r   r   r     r
  r   c                   @   r  )r   Nr	  r   r   r   r   r     r
  r   N)basestemmerr   amongr   r   BaseExceptionr   r   r   r   r   r   r   r   r   r   r   r   <module>   s       {