<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
a
    Re                     @   sN   d dl mZ ddlmZ ddlmZmZmZ edg dZG dd deZ	d	S )
    )
namedtuple   )CharSetProber)CharacterCategoryProbingStateSequenceLikelihoodSingleByteCharSetModel)charset_namelanguagechar_to_order_maplanguage_modeltypical_positive_ratiokeep_ascii_lettersalphabetc                       sb   e Zd ZdZdZdZdZd fdd	Z fd	d
Ze	dd Z
e	dd Zdd Zdd Z  ZS )SingleByteCharSetProber@   i   gffffff?g?FNc                    sJ   t t|   || _|| _|| _d | _d | _d | _d | _	d | _
|   d S N)superr   __init___model	_reversed_name_prober_last_order_seq_counters_total_seqs_total_char
_freq_charreset)selfmodelreversedname_prober	__class__ /builddir/build/BUILDROOT/alt-python39-pip-21.3.1-2.el8.x86_64/opt/alt/python39/lib/python3.9/site-packages/pip/_vendor/chardet/sbcharsetprober.pyr   3   s    z SingleByteCharSetProber.__init__c                    s:   t t|   d| _dgt  | _d| _d| _d| _	d S )N   r   )
r   r   r   r   r   get_num_categoriesr   r   r   r   r   r"   r$   r%   r   A   s    zSingleByteCharSetProber.resetc                 C   s   | j r| j jS | jjS d S r   )r   r	   r   r(   r$   r$   r%   r	   K   s    z$SingleByteCharSetProber.charset_namec                 C   s   | j r| j jS | jjS d S r   )r   r
   r   r(   r$   r$   r%   r
   R   s    z SingleByteCharSetProber.languagec           	      C   sJ  | j js| |}|s| jS | j j}| j j}|D ]}||tj}|tj	k rZ|  j
d7  _
|| jk r|  jd7  _| j| jk r|  jd7  _| js|| j | }n|| | j }| j|  d7  < || _q0| j j}| jtjkrD| j| jkrD|  }|| jkr| jd|| tj| _n(|| jk rD| jd||| j tj| _| jS )Nr   z$%s confidence = %s, we have a winnerz9%s confidence = %s, below negative shortcut threshhold %s)r   r   filter_international_wordsstater   r   getr   	UNDEFINEDCONTROLr   SAMPLE_SIZEr   r   r   r   r   r	   r   	DETECTINGSB_ENOUGH_REL_THRESHOLDget_confidencePOSITIVE_SHORTCUT_THRESHOLDloggerdebugFOUND_IT_stateNEGATIVE_SHORTCUT_THRESHOLDNOT_ME)	r   byte_strr   r   charorderlm_catr	   
confidencer$   r$   r%   feedY   sH    



zSingleByteCharSetProber.feedc                 C   sL   d}| j dkrHd| jtj  | j  | jj }|| j | j }|dkrHd}|S )Ng{Gz?r   g      ?gGz?)r   r   r   POSITIVEr   r   r   r   )r   rr$   r$   r%   r1      s    
z&SingleByteCharSetProber.get_confidence)FN)__name__
__module____qualname__r.   r0   r2   r7   r   r   propertyr	   r
   r>   r1   __classcell__r$   r$   r"   r%   r   -   s   


0r   N)
collectionsr   charsetproberr   enumsr   r   r   r   r   r$   r$   r$   r%   <module>   s   
