ó
    Eñið  ã                   ó\   • S r SSKrSSKJs  Jr  SSKJrJ	r	   " S S5      r
 " S S\
5      rg)zW
This module is responsible for generating the check digit and formatting
SBN numbers.
é    N)ÚAnyÚOptionalc                   óB   • \ rS rSrSr  SS\\   S\\   SS4S jjrSrg)	ÚSBNé	   NÚ
registrantÚpublicationÚreturnc                 ó   • Xl         X l        g ©N)r   r	   )Úselfr   r	   s      ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/faker/providers/sbn/sbn.pyÚ__init__ÚSBN.__init__   s   € ð
 %ŒØ&Õó    )r	   r   )NN)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
MAX_LENGTHr   Ústrr   Ú__static_attributes__© r   r   r   r   	   s=   † Ø€Jð %)Ø%)ñ'à˜S‘Mð'ð ˜c‘]ð'ð 
÷	'ð 'r   r   c                   ó\   ^ • \ rS rSrS\S\SS4U 4S jjrS\4S jrSS\S\4S	 jjrS
r	U =r
$ )ÚSBN9é   ÚargsÚkwargsr
   Nc                 óP   >• [         TU ]  " U0 UD6  U R                  5       U l        g r   )Úsuperr   Ú_check_digitÚcheck_digit)r   r   r   Ú	__class__s      €r   r   ÚSBN9.__init__   s&   ø€ Ü‰Ò˜$Ð) &Ò)Ø×,Ñ,Ó.ˆÕr   c                 ó  • [        SS5      nSR                  U R                  U R                  4 Vs/ s H	  o"c  M  UPM     sn5      n[	        S [        X15       5       5      S-  nUS:X  a  SO
[        U5      n[        U5      $ s  snf )a  Calculate the check digit for SBN-9.
SBNs use the same check digit calculation as ISBN. See
https://en.wikipedia.org/wiki/International_Standard_Book_Number
        for calculation. Only modification is weights range from 1 to 9
        instead of 1 to 10.
é   r   Ú c              3   óB   #   • U  H  u  p[        U5      U-  v •  M     g 7fr   )Úint)Ú.0ÚbÚws      r   Ú	<genexpr>Ú$SBN9._check_digit.<locals>.<genexpr>#   s   é € ÐBÒ/A¡t qœ˜A› ž
Ò/Aùs   ‚é   é
   ÚX)ÚrangeÚjoinr   r	   ÚsumÚzipr   )r   ÚweightsÚpartÚbodyÚ	remainderr"   s         r   r!   ÚSBN9._check_digit   sy   € ô ˜˜1“+ˆØ�w‰w¨$¯/©/¸4×;KÑ;KÑ)LÓaÒ)L ŸÑ)LÑaÓbˆÜÑB¬s°4Ô/AÓBÓBÀRÑGˆ	Ø&¨"›_‘c´#°i³.ˆÜ�;ÓÐùò bs
   ²B¼BÚ	separatorc                 óœ   • UR                  U R                  U R                  U R                  4 Vs/ s H
  nUc  M  UPM     sn5      $ s  snf r   )r3   r   r	   r"   )r   r;   r7   s      r   ÚformatÚSBN9.format'   sY   € Ø�~‰~ð —O‘OØ×$Ñ$Ø×$Ñ$ñóò�Dð
 ÷ ññó

ð 
	
ùòs
   ±A	¼A	)r"   )r'   )r   r   r   r   r   r   r   r!   r=   r   Ú__classcell__)r#   s   @r   r   r      sA   ø† ð/˜cð /¨Sð /°T÷ /ð ˜cô  ñ
 ð 
¨S÷ 
ó 
r   r   )Ú__doc__ÚbuiltinsÚ@py_builtinsÚ_pytest.assertion.rewriteÚ	assertionÚrewriteÚ
@pytest_arÚtypingr   r   r   r   r   r   r   Ú<module>rH      s*   ðñ÷
 „ ×  ÷	'ñ 	'ô
ˆ3õ 
r   