� ��^c@s*ddlmZmZmZddlmZmZmZddlm Z m Z m Z ddl m Z mZmZddlmZmZmZdefd��YZdefd ��YZd efd ��YZd efd ��YZdefd��YZdefd��YZdefd��YZdS(i(tEUCTW_CHAR_TO_FREQ_ORDERtEUCTW_TABLE_SIZEt EUCTW_TYPICAL_DISTRIBUTION_RATIO(tEUCKR_CHAR_TO_FREQ_ORDERtEUCKR_TABLE_SIZEt EUCKR_TYPICAL_DISTRIBUTION_RATIO(tGB2312_CHAR_TO_FREQ_ORDERtGB2312_TABLE_SIZEt!GB2312_TYPICAL_DISTRIBUTION_RATIO(tBIG5_CHAR_TO_FREQ_ORDERtBIG5_TABLE_SIZEtBIG5_TYPICAL_DISTRIBUTION_RATIO(tJIS_CHAR_TO_FREQ_ORDERtJIS_TABLE_SIZEtJIS_TYPICAL_DISTRIBUTION_RATIOtCharDistributionAnalysiscBsVeZdZdZdZdZd�Zd�Zd�Zd�Z d�Z d �Z RS( ig�G�z��?g{�G�z�?icCsDd|_d|_d|_d|_d|_d|_|j�dS(N(tNonet_char_to_freq_ordert _table_sizettypical_distribution_ratiot_donet _total_charst _freq_charstreset(tself((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyt__init__.s      cCst|_d|_d|_dS(sreset analyser, clear any stateiN(tFalseRRR(R((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR=s  cCs}|dkr|j|�}nd}|dkry|jd7_||jkryd|j|krv|jd7_qvqyndS(s"feed a character with known lengthii����iiiN(t get_orderRRRR(Rtchartchar_lentorder((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pytfeedFs  cCsu|jdks!|j|jkr(|jS|j|jkrn|j|j|j|j}||jkrn|Sn|jS(s(return confidence based on existing datai(RRtMINIMUM_DATA_THRESHOLDtSURE_NORtSURE_YES(Rtr((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pytget_confidenceTs! cCs|j|jkS(N(RtENOUGH_DATA_THRESHOLD(R((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pytgot_enough_datadscCsdS(Ni����((Rtbyte_str((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyRis( t__name__t __module__R%R"R!R RRRR$R&R(((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR(s    tEUCTWDistributionAnalysiscBseZd�Zd�ZRS(cCs2tt|�j�t|_t|_t|_dS(N( tsuperR*RRRRRRR(R((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyRrs  cCs6|d}|dkr.d|d|ddSdSdS(Nii�i^ii�i����((RR't first_char((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyRxs  (R(R)RR(((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR*qs tEUCKRDistributionAnalysiscBseZd�Zd�ZRS(cCs2tt|�j�t|_t|_t|_dS(N( R+R-RRRRRRR(R((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR�s  cCs6|d}|dkr.d|d|ddSdSdS(Nii�i^ii�i����((RR'R,((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR�s  (R(R)RR(((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR-�s tGB2312DistributionAnalysiscBseZd�Zd�ZRS(cCs2tt|�j�t|_t|_t|_dS(N( R+R.RRRRRRR(R((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR�s  cCsI|d|d}}|dkrA|dkrAd|d|dSdSdS(Niii�i�i^i����((RR'R,t second_char((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR�s(R(R)RR(((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR.�s tBig5DistributionAnalysiscBseZd�Zd�ZRS(cCs2tt|�j�t|_t|_t|_dS(N( R+R0RR RR RR R(R((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR�s  cCsd|d|d}}|dkr\|dkrEd|d|ddSd|d|dSndSdS( Niii�i�i�i?i@i����((RR'R,R/((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR�s   (R(R)RR(((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR0�s tSJISDistributionAnalysiscBseZd�Zd�ZRS(cCs2tt|�j�t|_t|_t|_dS(N( R+R1RR RR RRR(R((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR�s  cCs�|d|d}}|dkr>|dkr>d|d}n1|dkrk|dkrkd|dd}nd S||d }|d kr�d }n|S( Niii�i�i�i�i�ii����i@i((RR'R,R/R((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR�s  (R(R)RR(((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR1�s tEUCJPDistributionAnalysiscBseZd�Zd�ZRS(cCs2tt|�j�t|_t|_t|_dS(N( R+R2RR RR RRR(R((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR�s  cCs6|d}|dkr.d|d|ddSdSdS(Nii�i^i�ii����((RR'R((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR�s  (R(R)RR(((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pyR2�s N(t euctwfreqRRRt euckrfreqRRRt gb2312freqRRRtbig5freqR R R tjisfreqR R RtobjectRR*R-R.R0R1R2(((s9/tmp/pip-build-1THPZW/chardet/chardet/chardistribution.pytsI