‹“Renã@sxddlmZddlmZddlmZmZmZddlm Z m Z m Z m Z Gdd„deƒZ dS)é)Ú CharSetProber)ÚCodingStateMachine)ÚLanguageFilterÚ ProbingStateÚ MachineState)Ú HZ_SM_MODELÚISO2022CN_SM_MODELÚISO2022JP_SM_MODELÚISO2022KR_SM_MODELcsyeZdZdZd‡fdd†Z‡fdd†Zedd„ƒZed d „ƒZd d „Z d d„Z ‡S)Ú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. NcsÜtt|ƒjd|ƒg|_|jtj@r^|jjtt ƒƒ|jjtt ƒƒ|jtj @r„|jjtt ƒƒ|jtj @rª|jjttƒƒd|_d|_d|_d|_|jƒdS)NÚ lang_filter)Úsuperr Ú__init__Ú coding_smr rÚCHINESE_SIMPLIFIEDÚappendrrrÚJAPANESEr ÚKOREANr Úactive_sm_countÚ_detected_charsetÚ_detected_languageÚ_stateÚreset)Úselfr )Ú __class__©úŒ/builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/chardet/escprober.pyr*s     zEscCharSetProber.__init__csktt|ƒjƒx-|jD]"}|s,qd|_|jƒqWt|jƒ|_d|_d|_dS)NT) r r rrÚactiveÚlenrrr)rr)rrrr:s  zEscCharSetProber.resetcCs|jS)N)r)rrrrÚ charset_nameEszEscCharSetProber.charset_namecCs|jS)N)r)rrrrÚlanguageIszEscCharSetProber.languagecCs|jr dSdSdS)Ng®Gáz®ï?g)r)rrrrÚget_confidenceMs zEscCharSetProber.get_confidencecCsØxÎ|D]Æ}x½|jD]²}| s|j r1q|j|ƒ}|tjkrŒd|_|jd8_|jdkrÉtj|_|j Sq|tj krtj |_|j ƒ|_ |j|_|j SqWqW|j S)NFré)rrÚ next_staterÚERRORrrÚNOT_MErÚstateÚITS_MEÚFOUND_ITÚget_coding_state_machinerr r)rÚbyte_strÚcrÚ coding_staterrrÚfeedSs"      zEscCharSetProber.feed) Ú__name__Ú __module__Ú __qualname__Ú__doc__rrÚpropertyrr r!r-rr)rrr #s   r N)Ú charsetproberrÚcodingstatemachinerÚenumsrrrÚescsmrrr r r rrrrÚs"