o
    
 ¢i'  ã                   @   s   d ddddddddd	d
œ
Z dd„ Zdefdd„Zdefdd„Zdefdd„Zdefdd„Zdefdd„Zdefdd„Zdefdd„Z	ddgZ
dS )õ   khÃ´ngõ   má»™tÚhaiÚbau   bá»‘nõ   nÄƒmu   sÃ¡uu   báº£yu   tÃ¡mu   chÃ­n)
Ú0Ú1Ú2Ú3Ú4Ú5Ú6Ú7Ú8Ú9c                 C   s4   g }t dt| ƒ|ƒD ]}| | ||| … ¡ q
|S )um  HÃ m chia nhá» danh sÃ¡ch Ä‘áº§u vÃ o.

    HÃ m dÃ¹ng chia nhá» danh sÃ¡ch Ä‘áº§u vÃ o thÃ nh cÃ¡c nhÃ³m danh sÃ¡ch con vá»›i sá»‘ lÆ°á»£ng cÃ¡c pháº§n tá»­ trong
    nhÃ³m con lÃ  n

    Args:
        lst: Danh sÃ¡ch Ä‘áº§u vÃ o.
        n: Sá»‘ lÆ°á»£ng pháº§n tá»­ trong má»™t nhÃ³m con.

    Returns:
        Danh sÃ¡ch cÃ¡c nhÃ³m con cÃ³ n pháº§n tá»­.
    é    )ÚrangeÚlenÚappend)ÚlstÚnÚ
chunks_lstÚi© r   úL/home/ubuntu/.local/lib/python3.10/site-packages/misaki/vi_cleaner/num2vi.pyÚchunks   s   r   Únumbersc                 C   s(   | st dƒ‚t| ƒdkrt dƒ‚t|  S )u5  HÃ m chuyá»ƒn Ä‘á»•i sá»‘ sang chá»¯ sá»‘ cho hÃ ng Ä‘Æ¡n vá»‹.

    Args:
        numbers (str): Chuá»—i sá»‘ Ä‘áº§u vÃ o.

    Returns:
        Chuá»—i chá»¯ sá»‘ Ä‘áº§u ra.

    Raises:
        ValueError: Sá»‘ Ä‘áº§u vÃ o lÃ  rá»—ng.
        ValueError: Sá»‘ Ä‘áº§u vÃ o cÃ³ giÃ¡ trá»‹ lá»›n hÆ¡n 9.

    u:   Sá»‘ rá»—ng!! vui lÃ²ng nháº­p sá»‘ Ä‘Ãºng Ä‘á»‹nh dáº¡ng!é   u4   Sá»‘ vÆ°á»£t quÃ¡ giÃ¡ trá»‹ cá»§a hÃ ng Ä‘Æ¡n vá»‹!)Ú
ValueErrorr   Úunits)r   r   r   r   Ú	n2w_units'   s
   r   Únumberc                 C   sj   d}dddddœ}|  ¡ D ]
\}}|  ||¡} q|  ¡ s tdƒ‚| D ]
}|tv r,||7 }q"|s3tdƒ‚|S )u²   HÃ m tiá»n xá»¯ lÃ½ dá»¯ liá»‡u Ä‘áº§u vÃ o.

    Args:
        number (str): Chuá»—i sá»‘ Ä‘áº§u vÃ o.

    Returns:
        Chuá»—i sá»‘ sau khi Ä‘Æ°á»£c tiá»n xá»¯ lÃ½.
    Ú )ú ú-Ú.ú,uW   Äáº§u vÃ o khÃ´ng pháº£i lÃ  kiá»ƒu chuá»—i chá»‰ chá»©a cÃ¡c kÃ½ tá»± sá»‘ (isdigit)!uD   Sá»‘ khÃ´ng há»£p lá»‡, vui lÃ²ng nháº­p sá»‘ Ä‘Ãºng Ä‘á»‹nh dáº¡ng!)ÚitemsÚreplaceÚisdigitr   r   )r    Úclean_numberÚchar_to_replaceÚkeyÚvalueÚelementr   r   r   Úpre_process_n2w>   s"   	ü€r.   c                 C   s&   d}| D ]
}|t | d 7 }q| ¡ S )u¶   HÃ m chuyá»ƒn Ä‘á»•i sá»‘ sang chá»¯ sá»‘ theo tá»«ng sá»‘ má»™t.

    Args:
        numbers (str): Chuá»—i sá»‘ Ä‘áº§u vÃ o.

    Returns:
        Chuá»—i chá»¯ sá»‘ Ä‘áº§u ra.
    r!   r"   )r   Ústrip)r   Útotal_numberr-   r   r   r   Úprocess_n2w_singlec   s   	r1   c                 C   s†  t | ƒdkr
tdƒ‚t | ƒdkrtdƒ‚t | ƒdkrt| ƒS | ddd… }g }tdt |ƒƒD ]/}|dkr>| t||  ¡ q.|dkrN| t||  d ¡ q.|dkr]| t||  d	 ¡ q.t|ƒD ]T\}}|dkr||d
kr||d dkrxd|d< d||< |dkr”|dkr”|d dkr”|d dkr”d||< |dkr¦|dkr¦|d dkr¦d||< |dkr®d||< |dkr¶d||< qbd |ddd… ¡ ¡ S )u  HÃ m chuyá»ƒn Ä‘á»•i sá»‘ sang chá»¯ sá»‘ lá»›p trÄƒm.

    HÃ m chuyá»ƒn Ä‘á»•i sá»‘ sang chá»¯ sá»‘ Ã¡p dá»¥ng cho cÃ¡c sá»‘ tá»« 0 Ä‘áº¿n 999

    Args:
        numbers (str): Chuá»—i sá»‘ Ä‘áº§u vÃ o.

    Returns:
        Chuá»—i chá»¯ sá»‘ Ä‘áº§u ra.

    Raises:
        ValueError: Náº¿u sá»‘ Ä‘áº§u vÃ o lá»›n hÆ¡n 999.
        ValueError: Náº¿u sá»‘ Ä‘áº§u vÃ o lÃ  chuá»—i rá»—ng.

    é   u/   Sá»‘ vÆ°á»£t quÃ¡ giÃ¡ trá»‹ cá»§a hÃ ng trÄƒm!r   r   Néÿÿÿÿu    mÆ°Æ¡i é   u    trÄƒm r   u   khÃ´ng mÆ°Æ¡i r!   r   u   má»™t mÆ°Æ¡i u   má»‘tr   u   lÄƒmu   láº» u   mÆ°á»i )	r   r   r   r   r   r   Ú	enumerateÚjoinr/   )r   Úreversed_hundredsr0   ÚeÚidxr,   r   r   r   Ún2w_hundredsr   sB   €€r:   c                 C   sô   | ddd… }t |dƒ}g }tdt|ƒƒD ]X}|dkr+|d ddd… }| t|ƒ¡ |dkrA|d ddd… }| t|ƒd ¡ |dkrW|d ddd… }| t|ƒd ¡ |dkrm|d ddd… }| t|ƒd	 ¡ qd
 |ddd… ¡ ¡ S )u  HÃ m chuyá»ƒn Ä‘á»•i cÃ¡c sá»‘ cÃ³ giÃ¡ trá»‹ lá»›n.

    HÃ m chuyá»ƒn Ä‘á»•i cÃ¡c sá»‘ cÃ³ giÃ¡ trá»‹ lá»›n tá»« 999 Ä‘áº¿n 999.999.999.999

    Args:
        numbers (str): Chuá»—i sá»‘ Ä‘áº§u vÃ o.

    Returns:
        Chuá»—i chá»¯ sá»‘ Ä‘áº§u ra.

    Nr3   r2   r   r   u    nghÃ¬n r4   u	    triá»‡u u    tá»· r!   )r   r   r   r   r:   r6   r/   )r   Úreversed_large_numberr0   r8   Úvalue_of_hundredÚvalue_of_thousandÚvalue_of_millionÚvalue_of_billionr   r   r   Ún2w_large_number¾   s$   
€r@   c                 C   s   t | ƒ}t|ƒS )N)r.   r@   ©r    r)   r   r   r   Ún2wä   s   rB   c                 C   s,   | dd… dkr|   dd¡} t| ƒ}t|ƒS )Nr   r2   z+84r   )r'   r.   r1   rA   r   r   r   Ú
n2w_singleê   s   rC   N)r   r   Ústrr   r.   r1   r:   r@   rB   rC   Ú__all__r   r   r   r   Ú<module>   s(   ö%L&
