Ë
    Ã?Æi	  ã                  óB   — d Z ddlmZ ddl­ ddlmZ d	d„Zd	d„Zd
d„Zy)u¼  nÂ° TVA (taxe sur la valeur ajoutÃ©e, Monacan VAT number).

For VAT purposes Monaco is treated as territory of France. The number is
also validated the same as the French TVA, except that it is not based on
a French SIREN.

>>> compact('53 0000 04605')
'FR53000004605'
>>> validate('53 0000 04605')
'FR53000004605'
>>> validate('FR 61 954 506 077')  # French numbers are invalid
Traceback (most recent call last):
    ...
InvalidComponent: ...
é    )Úannotations)Ú*)Útvac                ó2   — dt        j                  | «      z   S )zˆConvert the number to the minimal representation. This strips the
    number of any valid separators and removes surrounding whitespace.ÚFR)r   Úcompact©Únumbers    úT/var/www/html/myprovider/mon_projet_qr/lib/python3.12/site-packages/stdnum/mc/tva.pyr   r   +   s   € ð ”#—+‘+˜fÓ%Ñ%Ð%ó    c                óZ   — t        j                  | «      } | dd dk7  r
t        «       ‚d| z   S )zbCheck if the number is a valid VAT number. This checks the length,
    formatting and check digit.é   é   Ú000r   )r   ÚvalidateÚInvalidComponentr	   s    r   r   r   1   s3   € ô �\‰\˜&Ó!€FØˆa�€{�eÒÜÓ Ð Ø�&‰=Ðr   c                óJ   — 	 t        t        | «      «      S # t        $ r Y yw xY w)z*Check if the number is a valid VAT number.F)Úboolr   ÚValidationErrorr	   s    r   Úis_validr   :   s)   € ðÜ”H˜VÓ$Ó%Ð%øÜò Ùðús   ‚ –	"¡"N)r
   ÚstrÚreturnr   )r
   r   r   r   )	Ú__doc__Ú
__future__r   Ústdnum.exceptionsÚ	stdnum.frr   r   r   r   © r   r   ú<module>r      s$   ðñ*õ  #ä Ý ó&óôr   