+
    œ°³jÖ"  ã                   óZ   € R t ^ RIt]P                  R8¼  d   ^ RItM^ RIt ! R R4      tR# )z"English Normalizer class for CLVP.Nc                   óà   a € ] tR t^t o R tV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltR tRtV tR# )ÚEnglishNormalizerc                óè   € R Uu. uF?  p\         P                  ! RV^ ,          ,          \         P                  4      V^,          3NKA  	  upV n        . ROV n        . ROV n        . ROV n        R# u upi )Úmrsz\b%s\.N))r   Úmisess)ÚmrÚmister)ÚdrÚdoctor)ÚstÚsaint)ÚcoÚcompany)ÚjrÚjunior)ÚmajÚmajor)ÚgenÚgeneral)ÚdrsÚdoctors)ÚrevÚreverend)ÚltÚ
lieutenant)ÚhonÚ	honorable)ÚsgtÚsergeant)ÚcaptÚcaptain)ÚesqÚesquire)ÚltdÚlimited)ÚcolÚcolonel)ÚftÚfort)
Ú ÚoneÚtwoÚthreeÚfourÚfiveÚsixÚsevenÚeightÚnine)
ÚtenÚelevenÚtwelveÚthirteenÚfourteenÚfifteenÚsixteenÚ	seventeenÚeighteenÚnineteen)
r)   r)   ÚtwentyÚthirtyÚfortyÚfiftyÚsixtyÚseventyÚeightyÚninety)ÚreÚcompileÚ
IGNORECASEÚ_abbreviationsÚonesÚteensÚtens)ÚselfÚxs   & Úk/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/clvp/number_normalizer.pyÚ__init__ÚEnglishNormalizer.__init__   sl   € ñó
ñ�ô �ZŠZ˜
 Q q¥TÕ)¬2¯=©=Ó9¸1¸Q½4Ó@ññ
ˆÔò0 aˆŒ	ò
ˆŒ
ò kˆŽ	ùòK
s   …AA/c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©é   ÚnumÚreturn)ÚintÚstr)ÚformatÚ__classdict__s   "€rN   Ú__annotate__ÚEnglishNormalizer.__annotate__E   s   ø€ ÷ 9)ñ 9)¡3ð 9)©3ñ 9)ó    c                ó  € V^ 8X  d   R# V^ 8  d"   RV P                  \        V4      4      ,           # V^
8  d   V P                  V,          # V^8  d   V P                  V^
,
          ,          # V^d8  dU   V P                  V^
,          ,          V^
,          ^ 8w  d&   RV P                  V^
,          4      ,           ,           # R,           # VR8  d\   V P                  V^d,          ,          R,           V^d,          ^ 8w  d&   RV P                  V^d,          4      ,           ,           # R,           # VR8  dZ   V P                  VR,          4      R	,           VR,          ^ 8w  d&   R
V P                  VR,          4      ,           ,           # R,           # VR8  dZ   V P                  VR,          4      R,           VR,          ^ 8w  d&   R
V P                  VR,          4      ,           ,           # R,           # VR8  dZ   V P                  VR,          4      R,           VR,          ^ 8w  d&   R
V P                  VR,          4      ,           ,           # R,           # VR8  dZ   V P                  VR,          4      R,           VR,          ^ 8w  d&   R
V P                  VR,          4      ,           ,           # R,           # VR8  dZ   V P                  VR,          4      R,           VR,          ^ 8w  d&   R
V P                  VR,          4      ,           ,           # R,           # R# )aP  
Converts numbers(`int`) to words(`str`).

Please note that it only supports upto - "'nine hundred ninety-nine quadrillion, nine hundred ninety-nine
trillion, nine hundred ninety-nine billion, nine hundred ninety-nine million, nine hundred ninety-nine
thousand, nine hundred ninety-nine'" or `number_to_words(999_999_999_999_999_999)`.
Úzerozminus Ú-r)   éè  ú hundredÚ i@B z	 thousandú, i Êš;z millionl    J)£z billionl     �Iú5 z	 trillionl     ÈNÎZoz quadrillionznumber out of range)Únumber_to_wordsÚabsrI   rJ   rK   )rL   rT   s   &&rN   rd   Ú!EnglishNormalizer.number_to_wordsE   s	  € ð �!Œ8ÙØ�1ŒWØ˜d×2Ñ2´3°s³8Ó<Õ<Ð<Ø�2ŒXØ—9‘9˜S•>Ð!Ø�2ŒXØ—:‘:˜c B�hÕ'Ð'Ø�3ŒYØ—9‘9˜S B�YÕ'ÐSVÐY[ÕS[Ð_`ÔS`¨3°×1EÑ1EÀcÈBÅhÓ1OÕ+OÕiÐiÐfhÕiÐiØ�4ŒZà—	‘	˜# �*Õ%¨
Õ2Ð_bÐehÕ_hÐlmÔ_m°c¸D×<PÑ<PÐQTÐWZÕQZÓ<[Õ6[ÕvðØsuÕvðð �9Œ_à×$Ñ$ S¨D¥[Ó1Øõà>AÀD½jÈA¼o�4˜$×.Ñ.¨s°T­zÓ:Õ:õWðð TVõWðð
 �=Ô à×$Ñ$ S¨IÕ%5Ó6ØõàCFÈÅ?ÐVWÔCW�4˜$×.Ñ.¨s°Y­Ó?Õ?õaðð ^`õaðð
 Ð$Ô$à×$Ñ$ S¨MÕ%9Ó:ØõàGJÈ]ÕGZÐ^_ÔG_�4˜$×.Ñ.¨s°]Õ/BÓCÕCõiðð fhõiðð
 Ð(Ô(à×$Ñ$ SÐ,=Õ%=Ó>ØõàKNÐQbÕKbÐfgÔKg�4˜$×.Ñ.¨sÐ5FÕ/FÓGÕGõqðð npõqðð
 Ð,Ô,à×$Ñ$ SÐ,AÕ%AÓBØ õ!ð Ð2Õ2°aÔ7ð ˜4×/Ñ/°Ð6KÕ0KÓLÕLõðð õðñ )r\   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©rS   ÚtextrU   ©rW   )rX   rY   s   "€rN   rZ   r[   €   s   ø€ ÷ >ñ >¡Sð >©Sñ >r\   c                óD   € VP                  RR4      P                  R4      # )z
Converts unicode to ascii
ÚasciiÚignorezutf-8)ÚencodeÚdecode©rL   ri   s   &&rN   Úconvert_to_asciiÚ"EnglishNormalizer.convert_to_ascii€   s    € ð �{‰{˜7 HÓ-×4Ñ4°WÓ=Ð=r\   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©rS   ÚmrU   rj   )rX   rY   s   "€rN   rZ   r[   †   s   ø€ ÷ "ñ "¡ð "©ñ "r\   c                ó  € VP                  ^4      pVP                  R4      p\        V4      ^8”  d
   VR,           # V^ ,          '       d   \        V^ ,          4      M^ p\        V4      ^8”  d"   V^,          '       d   \        V^,          4      M^ pV'       d0   V'       d(   V^8X  d   RMRpV^8X  d   RMRpV: RV: RV: RV: 2# V'       d   V^8X  d   RMRpV: RV: 2# V'       d   V^8X  d   RMRpV: RV: 2# R	# )
zJ
This method is used to expand numerical dollar values into spoken words.
Ú.z dollarsÚdollarÚdollarsÚcentÚcentsrb   rc   zzero dollars)ÚgroupÚsplitÚlenrV   )rL   ru   ÚmatchÚpartsry   r{   Údollar_unitÚ	cent_units   &&      rN   Ú_expand_dollarsÚ!EnglishNormalizer._expand_dollars†   sÔ   € ð —‘˜“
ˆØ—‘˜CÓ ˆÜˆu‹:˜Œ>Ø˜:Õ%Ð%à#(¨§8¤8”#�e˜A•h”-°ˆÜ!$ U£¨a¤°E¸!·H´H”�E˜!•H”À!ˆß—uØ&-°¤l™(¸	ˆKØ"'¨1¤*™°'ˆIÛ%,«k»5Â)ÐLÐLßØ&-°¤l™(¸	ˆKÛ%¢{Ð3Ð3ßØ"'¨1¤*™°'ˆIÛ#¢YÐ/Ð/á!r\   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# rt   rj   )rX   rY   s   "€rN   rZ   r[   ž   s   ø€ ÷ +ñ +¡ð +©ñ +r\   c                óD   € VP                  ^4      P                  RR4      # )z6
This method is used to remove commas from sentences.
Ú,r)   ©r|   Úreplace©rL   ru   s   &&rN   Ú_remove_commasÚ EnglishNormalizer._remove_commasž   s   € ð �w‰w�q‹z×!Ñ! # rÓ*Ð*r\   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# rt   rj   )rX   rY   s   "€rN   rZ   r[   ¤   s   ø€ ÷ 2ñ 2¡sð 2©sñ 2r\   c                óD   € VP                  ^4      P                  RR4      # )z?
This method is used to expand '.' into spoken word ' point '.
rw   z point rˆ   rŠ   s   &&rN   Ú_expand_decimal_pointÚ'EnglishNormalizer._expand_decimal_point¤   s   € ð �w‰w�q‹z×!Ñ! # yÓ1Ð1r\   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# rR   rj   )rX   rY   s   "€rN   rZ   r[   ª   s   ø€ ÷ 2ñ 2¡3ð 2©3ñ 2r\   c                óì   € ^R^R^R/p\        VP                  ^ 4      RR 4      pV^d,          ^
8¼  d   V^d,          ^8:  d   RpMVP                  V^
,          R4      pV P                  V4      V,           # )zP
This method is used to expand ordinals such as '1st', '2nd' into spoken words.
r   ÚndÚrdNÚthéþÿÿÿ)rV   r|   Úgetrd   )rL   rT   Úordinal_suffixesÚsuffixs   &&  rN   Ú_expand_ordinalÚ!EnglishNormalizer._expand_ordinalª   sv   € ð ˜t Q¨¨a°Ð6Ðä�#—)‘)˜A“,˜s Ð#Ó$ˆØ��9˜Œ?˜s S�y¨BœØ‰Fà%×)Ñ)¨#°­(°DÓ9ˆFØ×#Ñ# CÓ(¨6Õ1Ð1r\   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# rt   rj   )rX   rY   s   "€rN   rZ   r[   ·   s   ø€ ÷ -ñ -¡ð -©ñ -r\   c                ó\  € \        VP                  ^ 4      4      pVR8”  d|   VR8  du   VR8X  d   R# VR8”  d'   VR8  d    RV P                  V^d,          4      ,           # V^d,          ^ 8X  d    V P                  V^d,          4      R,           # V P                  V4      # V P                  V4      # )zì
This method acts as a preprocessing step for numbers between 1000 and 3000 (same as the original repository,
link :
https://github.com/neonbjb/tortoise-tts/blob/4003544b6ff4b68c09856e04d3eff9da26d023c2/tortoise/utils/tokenizer.py#L86)
r`   i¸  iÐ  ztwo thousandiÚ  ztwo thousand ra   )rV   r|   rd   )rL   ru   rT   s   && rN   Ú_expand_numberÚ EnglishNormalizer._expand_number·   sš   € ô �!—'‘'˜!“*‹oˆà�Œ:˜# œ*Ø�dŒ{Ù%Ø�t”  d¤
Ø&¨×)=Ñ)=¸cÀC½iÓ)HÕHÐHØ�s•˜a”Ø×+Ñ+¨C°3­JÓ7¸*ÕDÐDà×+Ñ+¨CÓ0Ð0à×'Ñ'¨Ó,Ð,r\   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# rh   rj   )rX   rY   s   "€rN   rZ   r[   Ë   s   ø€ ÷ ñ ¡cð ©cñ r\   c                óŠ  € \         P                  ! RV P                  V4      p\         P                  ! RRV4      p\         P                  ! RV P                  V4      p\         P                  ! RV P                  V4      p\         P                  ! RV P
                  V4      p\         P                  ! RV P                  V4      pV# )zw
This method is used to normalize numbers within a text such as converting the numbers to words, removing
commas, etc.
z([0-9][0-9,]+[0-9])u   Â£([0-9,]*[0-9])z	\1 poundsz\$([0-9.,]*[0-9])z([0-9]++\.[0-9]+)z[0-9]++(st|nd|rd|th)z[0-9]+)rE   Úsubr‹   rƒ   r�   rš   rž   rp   s   &&rN   Únormalize_numbersÚ#EnglishNormalizer.normalize_numbersË   s˜   € ô
 �vŠvÐ,¨d×.AÑ.AÀ4ÓHˆÜ�vŠvÐ)¨<¸Ó>ˆÜ�vŠvÐ*¨D×,@Ñ,@À$ÓGˆÜ�vŠvÐ*¨D×,FÑ,FÈÓMˆÜ�vŠvÐ-¨t×/CÑ/CÀTÓJˆÜ�vŠv�i ×!4Ñ!4°dÓ;ˆØˆr\   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# rh   rj   )rX   rY   s   "€rN   rZ   r[   Ø   s   ø€ ÷ ñ ©ð ±ñ r\   c                ó^   € V P                    F  w  r#\        P                  ! W#V4      pK  	  V# )z
Expands the abbreviate words.
)rH   rE   r¢   )rL   ri   ÚregexÚreplacements   &&  rN   Úexpand_abbreviationsÚ&EnglishNormalizer.expand_abbreviationsØ   s,   € ð #'×"5Ô"5ÑˆEÜ—6’6˜%¨dÓ3ŠDñ #6àˆr\   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# rh   rj   )rX   rY   s   "€rN   rZ   r[   à   s   ø€ ÷ 5ñ 5©ð 5±ñ 5r\   c                óZ   € \         P                  ! \         P                  ! R4      RV4      # )z
Removes multiple whitespaces
z\s+rb   )rE   r¢   rF   rp   s   &&rN   Úcollapse_whitespaceÚ%EnglishNormalizer.collapse_whitespaceà   s    € ô �vŠv”b—j’j Ó(¨#¨tÓ4Ð4r\   c                óÒ   € V P                  V4      pVP                  4       pV P                  V4      pV P                  V4      pV P	                  V4      pVP                  RR4      pV# )zt
Converts text to ascii, numbers / number-like quantities to their spelt-out counterparts and expands
abbreviations
Ú"r)   )rq   Úlowerr£   r©   r­   r‰   rp   s   &&rN   Ú__call__ÚEnglishNormalizer.__call__æ   sd   € ð ×$Ñ$ TÓ*ˆØ�z‰z‹|ˆØ×%Ñ% dÓ+ˆØ×(Ñ(¨Ó.ˆØ×'Ñ'¨Ó-ˆØ�|‰|˜C Ó$ˆàˆr\   )rH   rI   rJ   rK   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rO   rd   rq   rƒ   r‹   r�   rš   rž   r£   r©   r­   r²   Ú__static_attributes__Ú__classdictcell__)rY   s   @rN   r   r      s{   ø‡ € ò'k÷R9)ð 9)÷v>ð >÷"ð "÷0+ð +÷2ð 2÷2ð 2÷-ð -÷(ð ÷ð ÷5ð 5÷ð r\   r   )é   é   )Ú__doc__ÚsysÚversion_inforE   r§   r   © r\   rN   Ú<module>rÀ      s/   ðñ )ã 
ð ×Ñ�wÔäã÷Xó Xr\   