
    9%i:                     N    d dl mZmZmZ ddlmZ  G d dej                        Zy)    )divisionprint_functionunicode_literals   )lang_EUc                   >     e Zd Zd Z fdZd Zd Zd ZddZ xZ	S )Num2Word_ENc                     ddt        |      z  z   }t        |t        |dd            D ]  \  }}|dz   | j                  d|z  <    y )N   illion
   )lenziprangecards)selfhighmaxwordns        k/var/www/html/navyabakers_fullstack/navyabakers_prod/venv/lib/python3.12/site-packages/num2words/lang_EN.pyset_high_numwordszNum2Word_EN.set_high_numwords   sM    !c$i-4sAr!23 	2GD!"&/DJJrQw	2    c                     t         t        |           d| _        d| _        g d| _        g d| _        g d| _        dddd	d
dddddddd| _        y )Nzminus point)andr   minus)	)i  thousand)d   hundred)Z   ninety)P   eighty)F   seventy)<   sixty)2   fifty)(   forty)   thirty)twentynineteeneighteen	seventeensixteenfifteenfourteenthirteentwelveeleventennineeightsevensixfivefourthreetwoonezerofirstsecondthirdfourthfifthsixthseventheighthninthtentheleventhtwelfth)rC   rB   rA   r@   r?   r>   r=   r<   r;   r:   r9   r8   )	superr	   setupnegword	pointwordexclude_titlemid_numwordslow_numwordsords)r   	__class__s    r   rR   zNum2Word_EN.setup   si    k4&( 6-,
 $$%%$#'&$#)(*	r   c                     |\  }}|\  }}|dk(  r	|dk  r||fS d|cxkD  r|kD  rn n|d|||z   fS |dcxk\  r|kD  rn n|d|||z   fS ||kD  r|d|||z  fS |d|||z   fS )Nr   r    -z and  z,  )r   lpairrpairltextlnumrtextrnums          r   mergezNum2Word_EN.merge:   s    tt194= 4$$e,dTk::S4#(%0$+>>D[$e,dTk::!5)4$;77r   c                    | j                  |       | j                  |      j                  d      }|d   j                  d      }|d   j                         }	 | j                  |   }| j                  |      |d<   dj                  |      |d<   dj                  |      S # t
        $ r |d   dk(  r|d d dz   }|dz  }Y Yw xY w)Nr\   r[   yieth)verify_ordinalto_cardinalsplitlowerrX   KeyErrortitlejoin)r   valueoutwords	lastwordslastwords        r   
to_ordinalzNum2Word_EN.to_ordinalG   s    E"##E*005RL&&s+	R=&&(	yy*H
 

8,	"xx	*xx!!  	|s"#CR=4/H	s   B" "CCc                 T    | j                  |       || j                  |      dd  S )N)rj   ru   )r   rq   s     r   to_ordinal_numzNum2Word_EN.to_ordinal_numV   s+    E" 6rs ;<<r   c                 @   |dk  rt        |      }|sdn|}|dz  |dz  }}|dk(  s|dz  dk(  r|dk  s|dk\  r| j                  |      }nK| j                  |      }|dk(  rd}n+|dk  rd| j                  |      z  }n| j                  |      }|d|}|s|S |d|S )Nr   BCr    r   r!   zoh-%sr\   )absrk   )	r   valsuffixlongvalr   lowvaltexthightextlowtexts	            r   to_yearzNum2Word_EN.to_yearZ   s    7c(C!'TVFCZscAI2INsRx3;&&s+G''-Hax#r!D$4$4S$99**3/!)73G% 	2 '0	2r   )NT)
__name__
__module____qualname__r   rR   rd   ru   rx   r   __classcell__)rY   s   @r   r	   r	      s!    2
*:8"=2r   r	   N)
__future__r   r   r    r   Num2Word_EUr	   r]   r   r   <module>r      s%   $ B A W2'%% W2r   