o
    
 ¢i‰  ã                   @   s`   d dl Z ddlmZ ddlmZ dZdZdZde e d	 e e Zd
d„ Z	dd„ Z
dd„ ZdS )é    Né   )Ún2w)Úvietnamese_rez(\"|\')?z(\s)zS(\b(?!LLC)(?=[MDCLXVI]+\b)M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})\b)u$   (chá»¯|chá»¯ cÃ¡i|kÃ­ tá»±|kÃ½ tá»±)z([A-Z]+)c                 C   s¢   ddddddddœ}d	}|   d	¡ ¡  ¡ }t|ƒD ]%\}}|d t|ƒks1|| |||d   kr8||| 7 }q||| 8 }qt|ƒd
krG|S dtt|ƒƒ d S )Nr   é   é
   é2   éd   iô  iè  )ÚIÚVÚXÚLÚCÚDÚMr   é'   ú )ÚgroupÚstripÚrstripÚ	enumerateÚlenÚintr   Ústr)ÚmatchÚroman_numeralsÚresultÚnumÚiÚc© r   úU/home/ubuntu/.local/lib/python3.10/site-packages/misaki/vi_cleaner/roman_number_vi.pyÚ_expand_roman   s   (r!   c                 C   s   |   d¡ ¡ S )Nr   )r   Úlower)r   r   r   r    Ú_not_roman_number   s   r#   c                 C   s    t  tt| ¡} t  tt| ¡} | S )N)ÚreÚsubÚ_true_letter_rer#   Ú_roman_number_rer!   )Útextr   r   r    Únormalize_roman_numbers   s   r)   )r$   Únum2vir   Ú	symbol_vir   Ú_quotes_symbolÚ_spacer'   r&   r!   r#   r)   r   r   r   r    Ú<module>   s    