Ë
    Ã?ÆiE  ã                  ó~   — d Z ddlmZ ddlZddl­ ddlmZ  ej                  d«      Zh d£Z	dd„Z
dd	„Zdd
„Zdd„Zy)a  BIC (ISO 9362 Business identifier codes).

An ISO 9362 identifier (also: BIC, BEI, or SWIFT code) uniquely
identifies an institution. They are commonly used to route financial
transactions.

The code consists of a 4 letter institution code, a 2 letter country code,
and a 2 character location code, optionally followed by a three character
branch code.

More information:

* https://en.wikipedia.org/wiki/ISO_9362

>>> validate('AGRIFRPP882')
'AGRIFRPP882'
>>> validate('ABNA BE 2A')
'ABNABE2A'
>>> validate('AGRIFRPP')
'AGRIFRPP'
>>> validate('AGRIFRPP8')
Traceback (most recent call last):
    ...
InvalidLength: ..
>>> validate('AGRIF2PP')  # country code can't contain digits
Traceback (most recent call last):
    ...
InvalidFormat: ..
>>> format('agriFRPP')  # conventionally caps
'AGRIFRPP'

é    )ÚannotationsN)Ú*)Úcleanz=^[A-Z]{4}(?P<country_code>[A-Z]{2})[0-9A-Z]{2}([0-9A-Z]{3})?$>ú   ÚADÚAEÚAFÚAGÚAIÚALÚAMÚAOÚAQÚARÚASÚATÚAUÚAWÚAXÚAZÚBAÚBBÚBDÚBEÚBFÚBGÚBHÚBIÚBJÚBLÚBMÚBNÚBOÚBQÚBRÚBSÚBTÚBVÚBWÚBYÚBZÚCAÚCCÚCDÚCFÚCGÚCHÚCIÚCKÚCLÚCMÚCNÚCOÚCRÚCUÚCVÚCWÚCXÚCYÚCZÚDEÚDJÚDKÚDMÚDOÚDZÚECÚEEÚEGÚEHÚERÚESÚETÚFIÚFJÚFKÚFMÚFOÚFRÚGAÚGBÚGDÚGEÚGFÚGGÚGHÚGIÚGLÚGMÚGNÚGPÚGQÚGRÚGSÚGTÚGUÚGWÚGYÚHKÚHMÚHNÚHRÚHTÚHUÚIDÚIEÚILÚIMÚINÚIOÚIQÚIRÚISÚITÚJEÚJMÚJOÚJPÚKEÚKGÚKHÚKIÚKMÚKNÚKPÚKRÚKWÚKYÚKZÚLAÚLBÚLCÚLIÚLKÚLRÚLSÚLTÚLUÚLVÚLYÚMAÚMCÚMDÚMEÚMFÚMGÚMHÚMKÚMLÚMMÚMNÚMOÚMPÚMQÚMRÚMSÚMTÚMUÚMVÚMWÚMXÚMYÚMZÚNAÚNCÚNEÚNFÚNGÚNIÚNLÚNOÚNPÚNRÚNUÚNZÚOMÚPAÚPEÚPFÚPGÚPHÚPKÚPLÚPMÚPNÚPRÚPSÚPTÚPWÚPYÚQAÚREÚROÚRSÚRUÚRWÚSAÚSBÚSCÚSDÚSEÚSGÚSHÚSIÚSJÚSKÚSLÚSMÚSNÚSOÚSRÚSSÚSTÚSVÚSXÚSYÚSZÚTCÚTDÚTFÚTGÚTHÚTJÚTKÚTLÚTMÚTNÚTOÚTRÚTTÚTVÚTWÚTZÚUAÚUGÚUMÚUSÚUYÚUZÚVAÚVCÚVEÚVGÚVIÚVNÚVUÚWFÚWSÚXKÚYEÚYTÚZAÚZMÚZWc                óR   — t        | d«      j                  «       j                  «       S )zkConvert the number to the minimal representation. This strips the
    number of any surrounding whitespace.z -)r   ÚstripÚupper©Únumbers    úQ/var/www/html/myprovider/mon_projet_qr/lib/python3.12/site-packages/stdnum/bic.pyÚcompactr  ]   s#   € ô �˜Ó×$Ñ$Ó&×,Ñ,Ó.Ð.ó    c                óÎ   — t        | «      } t        | «      dvr
t        «       ‚t        j	                  | «      }|s
t        «       ‚|j                  d«      t        vr
t        «       ‚| S )zjCheck if the number is a valid routing number. This checks the length
    and characters in each position.)é   é   Úcountry_code)	r  ÚlenÚInvalidLengthÚ_bic_reÚsearchÚInvalidFormatÚgroupÚ_country_codesÚInvalidComponent)r  Úmatchs     r  Úvalidater  c   sY   € ô �V‹_€FÜ
ˆ6ƒ{˜'Ñ!Ü‹oÐÜ�N‰N˜6Ó"€EÙÜ‹oÐØ‡{�{�>Ó"¬.Ñ8ÜÓ Ð Ø€Mr  c                óJ   — 	 t        t        | «      «      S # t        $ r Y yw xY w)z,Check if the number provided is a valid BIC.F)Úboolr  ÚValidationErrorr  s    r  Úis_validr  q   s)   € ðÜ”H˜VÓ$Ó%Ð%øÜò Ùðús   ‚ –	"¡"c                ó   — t        | «      S )z8Reformat the number to the standard presentation format.)r  r  s    r  Úformatr  y   s   € ä�6‹?Ðr  )r  ÚstrÚreturnr  )r  r  r  r  )Ú__doc__Ú
__future__r   ÚreÚstdnum.exceptionsÚstdnum.utilr   Úcompiler  r  r  r  r  r  © r  r  ú<module>r%     sG   ðñ*õB #ã 	ä Ý ð ˆ"�*‰*ÐUÓ
V€ò€ó0/óóôr  