Your IP : 3.138.134.77
�
c��f� � �T � d Z ddlZddlZ ddlT n# e$ rZ edez � � �dZ[ww xY wg d�ZdZdxZ Z
dxZZd Z
d
Zej dk re
xZZe
ZnexZZeZe
ZeZe
ZeZ G d� d
e� � Z G d� d� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� d� � Z! G d� d� � Z"d7d#�Z#d8d$�Z$d%� Z%d&� Z&d'� Z'd(� Z(d)� Z)d*� Z*d9d+�Z+d9d,�Z,d-� Z-d.� Z. e/d!� � Z0 e/d/� � Z1 e/d0� � Z2 e/d1� � Z3 e/d2� � Z4 e/d3� � Z5n# e6$ r dZ0dZ1dZ2dZ3dZ4dZ5Y nw xY wdZ7e7rddl8Z8e9d4k r0 e$ej: d5d6� � e_: e$ej; d6d5� � e_; dS dS ):z� codecs -- Python Codec Registry, API and helpers.
Written by Marc-Andre Lemburg (mal@lemburg.com).
(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
� N)�*z%Failed to load the builtin codecs: %s),�register�lookup�open�EncodedFile�BOM�BOM_BE�BOM_LE�BOM32_BE�BOM32_LE�BOM64_BE�BOM64_LE�BOM_UTF8� BOM_UTF16�BOM_UTF16_LE�BOM_UTF16_BE� BOM_UTF32�BOM_UTF32_LE�BOM_UTF32_BE� CodecInfo�Codec�IncrementalEncoder�IncrementalDecoder�StreamReader�StreamWriter�StreamReaderWriter�
StreamRecoder�
getencoder�
getdecoder�getincrementalencoder�getincrementaldecoder� getreader� getwriter�encode�decode�
iterencode�
iterdecode�
strict_errors�
ignore_errors�replace_errors�xmlcharrefreplace_errors�backslashreplace_errors�namereplace_errors�register_error�lookup_errors s ��s ��s �� s ���littlec �. � e Zd ZdZdZ ddd�d�Zd� ZdS )r z0Codec details when looking up the codec registryTN)�_is_text_encodingc � � t � | ||||f� � } || _ || _ || _ || _ || _ || _ || _ |�|| _ | S �N)
�tuple�__new__�namer$ r% �incrementalencoder�incrementaldecoder�streamwriter�streamreaderr2 )
�clsr$ r% r; r: r8 r9 r7 r2 �selfs
�-/opt/alt/python311/lib64/python3.11/codecs.pyr6 zCodecInfo.__new__^ sh � � �}�}�S�6�6�<��"N�O�O���� �������"4���"4���(���(����(�%6�D�"��� c �` � d| j j | j j | j t | � � fz S )Nz%<%s.%s object for encoding %s at %#x>)� __class__�
__module__�__qualname__r7 �id�r= s r>