File: //usr/local/lib/python3.10/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-310.pyc
o
��i� � @ sh d dl mZmZ ddlmZ ddlmZ ddlmZm Z m
Z
ddlmZm
Z
mZmZ G dd� de�Zd S )
� )�Optional�Union� )�
CharSetProber)�CodingStateMachine)�LanguageFilter�MachineState�ProbingState)�HZ_SM_MODEL�ISO2022CN_SM_MODEL�ISO2022JP_SM_MODEL�ISO2022KR_SM_MODELc s� e Zd ZdZejfdeddf� fdd�
Zd� fdd�Zede e
fd d
��Zede e
fdd��Zde
fd
d�Zdeeef defdd�Z� ZS )�EscCharSetProberz�
This CharSetProber uses a "code scheme" approach for detecting encodings,
whereby easily recognizable escape or shift sequences are relied on to
identify these encodings.
�lang_filter�returnNc s� t � j|d� g | _| jtj@ r | j�tt�� | j�tt �� | jtj
@ r.| j�tt�� | jtj@ r<| j�tt
�� d| _d | _d | _tj| _| �� d S )N)r r )�super�__init__� coding_smr r �CHINESE_SIMPLIFIED�appendr r
r �JAPANESEr �KOREANr
�active_sm_count�_detected_charset�_detected_languager � DETECTING�_state�reset)�selfr �� __class__� �H/usr/local/lib/python3.10/site-packages/pip/_vendor/chardet/escprober.pyr 0 s zEscCharSetProber.__init__c s@ t � �� | jD ] }d|_|�� qt| j�| _d | _d | _d S )NT)r r r �active�lenr r r )r r r r! r"