Ë
    ì—0jü  ã                   óÜ   — d Z ddlZddlZddlmZ i ZdZdgZej                  Z G d„ de	e
«      Zd	„ Zd
„ Z ej                  e«       ej                  dk(  rd„ Z ej                  e«       yy)a2   Standard "encodings" Package

    Standard Python encoding modules are stored in this package
    directory.

    Codec modules must have names corresponding to normalized encoding
    names as defined in the normalize_encoding() function below, e.g.
    'utf-8' must be implemented by the module 'utf_8.py'.

    Each codec module must export the following interface:

    * getregentry() -> codecs.CodecInfo object
    The getregentry() API must return a CodecInfo object with encoder, decoder,
    incrementalencoder, incrementaldecoder, streamwriter and streamreader
    attributes which adhere to the Python Codec Interface Standard.

    In addition, a module may optionally also define the following
    APIs which are then used by the package's codec search function:

    * getaliases() -> sequence of encoding name strings to use as aliases

    Alias names returned by getaliases() must be normalized encoding
    names as defined by normalize_encoding().

Written by Marc-Andre Lemburg (mal@lemburg.com).

(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.

é    Né   )Úaliasesz--unknown--Ú*c                   ó   — e Zd Zy)ÚCodecRegistryErrorN)Ú__name__Ú
__module__Ú__qualname__© ó    ú//usr/local/lib/python3.12/encodings/__init__.pyr   r   (   s   „ Ør   r   c                 ó  — t        | t        «      rt        | d«      } g }d}| D ]R  }|j                  «       s|dk(  r9|r|r|j	                  d«       |j                  «       r|j	                  |«       d}ŒQd}ŒT dj                  |«      S )ae   Normalize an encoding name.

        Normalization works as follows: all non-alphanumeric
        characters except the dot used for Python package names are
        collapsed and replaced with a single underscore, e.g. '  -;#'
        becomes '_'. Leading and trailing underscores are removed.

        Note that encoding names should be ASCII only.

    ÚasciiFÚ.Ú_TÚ )Ú
isinstanceÚbytesÚstrÚisalnumÚappendÚisasciiÚjoin)ÚencodingÚcharsÚpunctÚcs       r   Únormalize_encodingr   +   s|   € ô �(œEÔ"Ü�x Ó)ˆà€EØ€EÛˆØ�9‰9Œ;˜!˜sš(Ù™Ø—‘˜SÔ!Ø�y‰yŒ{Ø—‘˜Q”Ø‰Eà‰Eð ð �7‰7�5‹>Ðr   c                 óþ  — t         j                  | t        «      }|t        ur|S t        | «      }t        j                  |«      xs% t        j                  |j                  dd«      «      }|�||g}n|g}|D ]   }|rd|v rŒ
	 t        d|z   t        d¬«      } n d }	 |j                  }|€
d t         | <   y  «       }t        |t        j                  «      �s@dt        |«      cxk  rdk  s(n t        d|j                   ›d	|j"                  ›d
�«      ‚t%        |d   «      rvt%        |d   «      rh|d   �t%        |d   «      rU|d   �t%        |d   «      rBt        |«      dkD  r|d   �t%        |d   «      r!t        |«      dkD  r9|d   �4t%        |d   «      s&t        d|j                   ›d	|j"                  ›d�«      ‚t        |«      dk  s|d   €5|ddt        |«      z
  z  |j                   j'                  dd«      d   fz   z  }t        j                  |Ž }|t         | <   	 |j)                  «       }|D ]  }	|	t        vsŒt        |	<   Œ |S # t        $ r Y �Œáw xY w# t        $ r d }Y �ŒÁw xY w# t        $ r Y |S w xY w)Nr   r   z
encodings.r   )ÚfromlistÚlevelé   é   zmodule "z" (z) failed to registerr   é   é   é   zincompatible codecs in module "Ú)é   )N)Ú_cacheÚgetÚ_unknownr   Ú_aliasesÚreplaceÚ
__import__Ú_import_tailÚImportErrorÚgetregentryÚAttributeErrorr   ÚcodecsÚ	CodecInfoÚlenr   r   Ú__file__ÚcallableÚsplitÚ
getaliases)
r   ÚentryÚnorm_encodingÚaliased_encodingÚmodnamesÚmodnameÚmodr1   ÚcodecaliasesÚaliass
             r   Úsearch_functionrB   G   s¨  € ô �J‰J�x¤Ó*€EØ”HÑØˆô ' xÓ0€MÜ—|‘| MÓ2ò EÜ—|‘| M×$9Ñ$9¸#¸sÓ$CÓDð àÐ#Ø$Ø!ð#‰ð "�?ˆÛˆÙ˜# ™.Øð
	ô ˜\¨GÑ3¼lØ#$ô&ˆCñ ð ð ˆðØ—o‘oˆð
 €{àŒˆxÑØñ ‹M€EÜ�eœV×-Ñ-Õ.Ø”C˜“JÔ# !Ô#Ý$Ø(+¯«°c·l³lð&Dó Eð Eä˜˜a™Ô!¬°%¸±(Ô);Ø�!‰HÐ ¬°%¸±(Ô);Ø�!‰HÐ ¬°%¸±(Ô);Ü�‹J˜ŠN˜u Q™xÐ3¼HÀUÈ1ÁXÔ<NÜ�‹J˜ŠN˜u Q™xÐ3¼HÀUÈ1ÁXÔ<NÝ$Ø(+¯«°c·l³lð&Dó Eð Eäˆu‹:�aŠ<˜5 ™8Ð+Ø�W˜a¤ E£
™lÑ+¨s¯|©|×/AÑ/AÀ#ÀqÓ/IÈ!Ñ/LÐ.NÑNÑNˆEÜ× Ñ  %Ð(ˆð „Fˆ8Ñð*Ø—~‘~Ó'ˆó "ˆEØœHÒ$Ø")”˜’ð "ð
 €Løôi ò 	ò ð	ûô ò à‹ðûôB ò Øð €Lðús6   ÂIÂI È"I/ É	IÉIÉI,É+I,É/	I<É;I<Úwin32c                 ó˜   — 	 dd l }d|j                  «       z  }| |k(  rdd l}|j                  j	                  «       S y # t
        $ r Y y w xY w)Nr   zcp%s)Ú_winapiÚGetACPÚencodings.mbcsÚmbcsr1   r0   )r   rE   Úansi_code_pageÚ	encodingss       r   Ú_alias_mbcsrK   £   sR   € ð	ÛØ# g§n¡nÓ&6Ñ6ˆNØ˜>Ò)Û%Ø —~‘~×1Ñ1Ó3Ð3ð *øô ò 	áð	ús   ‚9= ½	A	ÁA	)Ú__doc__r3   Úsysr   r   r)   r+   r/   r,   ÚLookupErrorÚSystemErrorr   r   rB   ÚregisterÚplatformrK   r   r   r   Ú<module>rR      s   ðñó< Û 
Ý à	€Ø€Øˆu€Ø�?‰?€ô	˜ kô 	òò8Rðj €‡��Ô  à‡<�<�7Òò
	ð €F‡O�O�KÕ ð! r   