Ë
    Ã?Æi4	  ã                  óF   — d Z ddlmZ ddl­ d
d„Zdd„Zd
d„Zd
d„Zdd„Zy	)aÒ  The ISO 7064 Mod 97, 10 algorithm.

The Mod 97, 10 algorithm evaluates the whole number as an integer which is
valid if the number modulo 97 is 1. As such it has two check digits.

>>> calc_check_digits('99991234567890121414')
'90'
>>> validate('9999123456789012141490')
'9999123456789012141490'
>>> calc_check_digits('4354111611551114')
'31'
>>> validate('08686001256515001121751')
'08686001256515001121751'
>>> calc_check_digits('22181321402534321446701611')
'35'
é    )Úannotations)Ú*c                ó2   — dj                  d„ | D «       «      S )z0Prepare the number to its base10 representation.Ú c              3  óF   K  — | ]  }t        t        |d «      «      –— Œ y­w)é$   N)ÚstrÚint)Ú.0Úxs     ú_/var/www/html/myprovider/mon_projet_qr/lib/python3.12/site-packages/stdnum/iso7064/mod_97_10.pyú	<genexpr>z_to_base10.<locals>.<genexpr>,   s   è ø€ ò )ØŒŒC��2‹J�ñ)ùs   ‚!)Újoin©Únumbers    r   Ú
_to_base10r   *   s    € à�7‰7ñ )Ø!'ô)ó )ð )ó    c                ó0   — t        t        | «      «      dz  S )zCCalculate the checksum. A valid number should have a checksum of 1.éa   )r
   r   r   s    r   Úchecksumr   0   s   € äŒz˜&Ó!Ó" RÑ'Ð'r   c                ó*   — ddt        | dz   «      z
  z  S )z_Calculate the extra digits that should be appended to the number to
    make it a valid number.z%02déb   Ú00)r   r   s    r   Úcalc_check_digitsr   5   s   € ð �Rœ( 6¨D¡=Ó1Ñ1Ñ2Ð2r   c                ój   — 	 t        | «      dk(  }|s
t        «       ‚| S # t        $ r t        «       ‚w xY w)ú'Check whether the check digit is valid.é   )r   Ú	ExceptionÚInvalidFormatÚInvalidChecksum)r   Úvalids     r   Úvalidater"   ;   sB   € ðÜ˜Ó  AÑ%ˆñ ÜÓÐØ€Møô	 ò Ü‹oÐðús   ‚ ž2c                óJ   — 	 t        t        | «      «      S # t        $ r Y yw xY w)r   F)Úboolr"   ÚValidationErrorr   s    r   Úis_validr&   F   s)   € ðÜ”H˜VÓ$Ó%Ð%øÜò Ùðús   ‚ –	"¡"N)r   r	   Úreturnr	   )r   r	   r'   r
   )r   r	   r'   r$   )	Ú__doc__Ú
__future__r   Ústdnum.exceptionsr   r   r   r"   r&   © r   r   ú<module>r,      s+   ðñ(õ" #ä ó)ó(ó
3óôr   