Your IP : 3.139.80.194
a
R�fA� �
@ sN d Z ddlZddlZzddlT W n0 eyP Z zede ��W Y dZ[n
dZ[0 0 g d�ZdZd Z Z
d ZZd Z
d
Zejdkr�e
ZZe
Zne ZZeZe
ZeZe
ZeZG dd
� d
e�ZG dd� d�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�Z G dd� d�Z!G dd� d�Z"dCd#d$�Z#dDd%d&�Z$d'd(� Z%d)d*� Z&d+d,� Z'd-d.� Z(d/d0� Z)d1d2� Z*dEd3d4�Z+dFd5d6�Z,d7d8� Z-d9d:� Z.z4e/d!�Z0e/d;�Z1e/d<�Z2e/d=�Z3e/d>�Z4e/d?�Z5W n, e6�y dZ0dZ1dZ2dZ3dZ4dZ5Y n0 dZ7e7�r ddl8Z8e9d@k�rJe$ej:dAdB�e_:e$ej;dBdA�e_;dS )Gz� 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 @ s, e Zd ZdZdZd dd�dd�Zdd� ZdS )
r z0Codec details when looking up the codec registryTN)�_is_text_encodingc
C sP t �| ||||f�} || _|| _|| _|| _|| _|| _|| _|d urL|| _ | S �N)
�tuple�__new__�namer# r$ �incrementalencoder�incrementaldecoder�streamwriter�streamreaderr0 )
�clsr# r$ r8 r7 r5 r6 r4 r0 �self� r; �+/opt/alt/python39/lib64/python3.9/codecs.pyr3 ^ s zCodecInfo.__new__c C s d| j j| j j| jt| �f S )Nz%<%s.%s object for encoding %s at %#x>)� __class__�
__module__�__qualname__r4 �id�r: r; r; r<