Ë
    Ã?Æiò  ã                  óÄ   — d Z ddlmZ ddl­ ddlmZmZ i dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd
“dd“dd“dd“dd“dddd œ¥Zd&d!„Zd&d"„Z	d'd#„Z
d&d$„Zy%)(u  Tax Registration Number (Ø§Ù„Ø±Ù‚Ù… Ø§Ù„Ø¶Ø±ÙŠØ¨ÙŠ, Egypt tax number).

This number consists of 9 digits, usually separated into three groups
using hyphens to make it easier to read, like XXX-XXX-XXX.

More information:

* https://emsp.mts.gov.eg:8181/EMDB-web/faces/authoritiesandcompanies/authority/website/SearchAuthority.xhtml?lang=en

>>> validate('100-531-385')
'100531385'
>>> validate('Ù£Ù£Ù¡-Ù¡Ù Ù¥-Ù¢Ù¦Ù¨')
'331105268'
>>> validate('12345')
Traceback (most recent call last):
    ...
InvalidLength: ...
>>> validate('VV3456789')
Traceback (most recent call last):
    ...
InvalidFormat: ...
>>> format('100531385')
'100-531-385'
é    )Úannotations)Ú*)ÚcleanÚisdigitsu   Ù Ú0u   Ù¡Ú1u   Ù¢Ú2u   Ù£Ú3u   Ù¤Ú4u   Ù¥Ú5u   Ù¦Ú6u   Ù§Ú7u   Ù¨Ú8u   Ù©Ú9u   Û°u   Û±u   Û²u   Û³u   Û´u   Ûµu   Û¶)u   Û·u   Û¸u   Û¹c                ób   — dj                  d„ t        | d«      j                  «       D «       «      S )z³Convert the number to the minimal representation.

    This strips the number of any valid separators and removes surrounding
    whitespace. It also converts arabic numbers.
    Ú c              3  óH   K  — | ]  }t         j                  ||«      –— Œ y ­w)N)Ú_ARABIC_NUMBERS_MAPÚget)Ú.0Úcs     úS/var/www/html/myprovider/mon_projet_qr/lib/python3.12/site-packages/stdnum/eg/tn.pyú	<genexpr>zcompact.<locals>.<genexpr>U   s   è ø€ ÒX°aÔ'×+Ñ+¨A¨q×1ÑXùs   ‚ "z -/)Újoinr   Ústrip©Únumbers    r   Úcompactr   O   s)   € ð �7‰7ÑX¼5ÀÈÓ;O×;UÑ;UÓ;WÔXÓYÐYó    c                óv   — t        | «      } t        | «      s
t        «       ‚t        | «      dk7  r
t	        «       ‚| S )zhCheck if the number is a valid Egypt Tax Number number.

    This checks the length and formatting.
    é	   )r   r   ÚInvalidFormatÚlenÚInvalidLengthr   s    r   Úvalidater%   X   s6   € ô
 �V‹_€FÜ�FÔÜ‹oÐÜ
ˆ6ƒ{�aÒÜ‹oÐØ€Mr   c                óJ   — 	 t        t        | «      «      S # t        $ r Y yw xY w)z7Check if the number is a valid Egypt Tax Number number.F)Úboolr%   ÚValidationErrorr   s    r   Úis_validr)   e   s)   € ðÜ”H˜VÓ$Ó%Ð%øÜò Ùðús   ‚ –	"¡"c                óR   — t        | «      } dj                  | dd | dd | dd g«      S )z8Reformat the number to the standard presentation format.ú-Né   éýÿÿÿ)r   r   r   s    r   Úformatr.   m   s3   € ä�V‹_€FØ�8‰8�V˜B˜Q�Z ¨¨" ¨v°b°c¨{Ð;Ó<Ð<r   N)r   ÚstrÚreturnr/   )r   r/   r0   r'   )Ú__doc__Ú
__future__r   Ústdnum.exceptionsÚstdnum.utilr   r   r   r   r%   r)   r.   © r   r   ú<module>r6      s  ðñ,õ2 #ä ß 'ðàˆ#ðð 	ˆ#ðð 	ˆ#ð	ð
 	ˆ#ðð 	ˆ#ðð 	ˆ#ðð 	ˆ#ðð 	ˆ#ðð 	ˆ#ðð 	ˆ#ðð 	ˆ#ðð 	ˆ#ðð 	ˆ#ðð  	ˆ#ð!ð" 	ˆ#ð#ð$ 	ˆ#ð%ð& 	ˆ#ð'ð( Ø
Ø
ò-Ð ó4Zó
óô=r   