a
    |Ä#d^  ã                   @   sl   d dl mZ ddlmZ ddlmZ ddlmZmZ ddl	m
Z
 ddlmZ ddlmZ G d	d
„ d
eƒZdS )é    )ÚUnioné   )ÚEUCJPDistributionAnalysis)ÚCodingStateMachine)ÚMachineStateÚProbingState)ÚEUCJPContextAnalysis)ÚMultiByteCharSetProber)ÚEUCJP_SM_MODELc                       s~   e Zd Zddœ‡ fdd„Zddœ‡ fdd„Zeedœdd„ƒZeedœd	d
„ƒZe	e
ef edœdd„Zedœdd„Z‡  ZS )ÚEUCJPProberN)Úreturnc                    s0   t ƒ  ¡  ttƒ| _tƒ | _tƒ | _|  	¡  d S ©N)
ÚsuperÚ__init__r   r
   Ú	coding_smr   Údistribution_analyzerr   Úcontext_analyzerÚreset©Úself©Ú	__class__© úV/var/www/html/gsl.tools/lib/python3.9/site-packages/pip/_vendor/chardet/eucjpprober.pyr   '   s
    

zEUCJPProber.__init__c                    s   t ƒ  ¡  | j ¡  d S r   )r   r   r   r   r   r   r   r   .   s    
zEUCJPProber.resetc                 C   s   dS )NzEUC-JPr   r   r   r   r   Úcharset_name2   s    zEUCJPProber.charset_namec                 C   s   dS )NÚJapaneser   r   r   r   r   Úlanguage6   s    zEUCJPProber.language)Úbyte_strr   c                 C   sJ  | j d usJ ‚| jd usJ ‚t|ƒD ]Þ\}}| j  |¡}|tjkrf| j d| j| j	|¡ t
j| _ �q|tjkr~t
j| _ �q|tjkr$| j  ¡ }|dkrÆ|| jd< | j | j|¡ | j | j|¡ q$| j ||d |d … |¡ | j ||d |d … |¡ q$|d | jd< | jt
jk�rD| j ¡ �rD|  ¡ | jk�rDt
j| _| jS )Nz!%s %s prober hit error at byte %sr   r   éÿÿÿÿ)r   r   Ú	enumerateÚ
next_stater   ÚERRORÚloggerÚdebugr   r   r   ÚNOT_MEÚ_stateÚITS_MEÚFOUND_ITÚSTARTÚget_current_charlenÚ
_last_charr   ÚfeedÚstateÚ	DETECTINGÚgot_enough_dataÚget_confidenceÚSHORTCUT_THRESHOLD)r   r   ÚiÚbyteÚcoding_stateÚchar_lenr   r   r   r+   :   s>    
ü



 ÿzEUCJPProber.feedc                 C   s,   | j d usJ ‚| j ¡ }| j  ¡ }t||ƒS r   )r   r   r/   Úmax)r   Úcontext_confÚdistrib_confr   r   r   r/   a   s    

zEUCJPProber.get_confidence)Ú__name__Ú
__module__Ú__qualname__r   r   ÚpropertyÚstrr   r   r   ÚbytesÚ	bytearrayr   r+   Úfloatr/   Ú__classcell__r   r   r   r   r   &   s   'r   N)Útypingr   Úchardistributionr   Úcodingstatemachiner   Úenumsr   r   Újpcntxr   Úmbcharsetproberr	   Úmbcssmr
   r   r   r   r   r   Ú<module>   s   