ó
    Eñi²
  ã                   ól   • S SK rS SKJs  Jr  S SKJrJrJ	r	  SSK
Jr  SSKJrJrJr  Sr " S S	\5      rg)
é    N)ÚDictÚListÚTupleé   )ÚBaseProvideré   )ÚISBN10ÚISBN13Ú
MAX_LENGTHTc            	       óÊ   • \ rS rSr% Sr0 r\\\\\\	\\\
4      4   4   \S'   S\\   4S jr\S\S\\	\\\
4      S\	\\4   4S j5       rSS\S\4S	 jjrSS\S\4S
 jjrSrg)ÚProvideré	   zêGenerates fake ISBNs.

See https://www.isbn-international.org/content/what-isbn for the
format of ISBNs.
See https://www.isbn-international.org/range_file_generation for the
list of rules pertaining to each prefix/registration group.
ÚrulesÚreturnc                 óh  • U R                  U R                  R                  5       5      nU R                  U R                  U   R                  5       5      n[        [	        U5      -
  [	        U5      -
  S-
  nU R                  SU-  5      nU R                  U   U   nU R                  XE5      u  pgXXg/$ )zCGenerate the information required to create an ISBN-10 or
ISBN-13.
r   Ú#)Úrandom_elementr   Úkeysr   ÚlenÚnumerifyÚ_registrant_publication)ÚselfÚeanÚ	reg_groupÚreg_pub_lenÚreg_pubr   Ú
registrantÚpublications           ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/faker/providers/isbn/__init__.pyÚ_bodyÚProvider._body   s¥   € ð ×&Ñ& t§z¡z§¡Ó'8Ó9ˆØ×,Ñ,¨T¯Z©Z¸©_×-AÑ-AÓ-CÓDˆ	ô &¬¨C«Ñ0´3°y³>ÑAÀAÑEˆð —}‘} S¨;Ñ%6Ó7ˆð —
‘
˜3‘ 	Ñ*ˆØ"&×">Ñ">¸wÓ"NÑˆ
Ø 
Ð8Ð8ó    r   c                 óŠ   • U H$  nUS   U SS s=::  a  US   ::  d  M  O  M  US   n  O   [        SU  S35      eU SU XS pTXE4$ )a8  Separate the registration from the publication in a given
string.

:param reg_pub: A string of digits representing a registration
    and publication.
:param rules: A list of registrant rules which designate where
    to separate the values in the string.
:returns: A (registrant, publication) tuple of strings.
r   Néÿÿÿÿr   r   zRegistrant/Publication 'z$' not found in registrant rule list.)Ú	Exception)r   r   ÚruleÚreg_lenr   r   s         r   r   Ú Provider._registrant_publication)   sl   € ó ˆDØ�A‰w˜' # 2˜,Õ1¨$¨q©'×1Ñ1Ø˜q™'�Ùñ ô
 Ð6°w°iÐ?cÐdÓeÐeØ")¨(¨7Ð"3°W¸XÐ5F�KØÐ&Ð&r"   Ú	separatorc                 ób   • U R                  5       u  p#pE[        X#XE5      nUR                  U5      $ ©z

:sample:
)r    r
   Úformat©r   r)   r   Úgroupr   r   Úisbns          r   Úisbn13ÚProvider.isbn13=   ó/   € ð /3¯j©j«lÑ+ˆ�JÜ�c *Ó:ˆØ�{‰{˜9Ó%Ð%r"   c                 ób   • U R                  5       u  p#pE[        X#XE5      nUR                  U5      $ r+   )r    r	   r,   r-   s          r   Úisbn10ÚProvider.isbn10E   r2   r"   © N)Ú-)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   Ústrr   r   ÚintÚ__annotations__r    Ústaticmethodr   r0   r4   Ú__static_attributes__r6   r"   r   r   r   	   s¹   ‡ ñð ?A€Eˆ4��T˜#˜t E¨#¨s°C¨-Ñ$8Ñ9Ð9Ñ:Ð:Ñ;Ó@ð9�t˜C‘yô 9ð* ð'¨ð '°T¸%ÀÀSÈ#ÀÑ:NÑ5Oð 'ÐTYÐZ]Ð_bÐZbÑTcó 'ó ð'ñ&& ð &¨cõ &ñ& ð &¨c÷ &ð &r"   r   )ÚbuiltinsÚ@py_builtinsÚ_pytest.assertion.rewriteÚ	assertionÚrewriteÚ
@pytest_arÚtypingr   r   r   Ú r   r/   r	   r
   r   Ú	localizedr   r6   r"   r   Ú<module>rK      s,   ðß  „ × $Ñ $å ß ,Ñ ,à€	ôB&ˆ|õ B&r"   