+
    LV-jév  ã                  óÞ  a € 0 t $ ^ RIHt ^ RIt^ RIHt ^ RIHt ]P                  R(8¼  d   ^ RI	H
t
 M ^ RIH
t
 ^RIHtHtHtHtHtHtHtHtHtHtHtHtHt ^RIHtHtHtHtH t H!t!H"t" ]],          ],          ],          ],          t#R	]$R
&   ]
 ! R R4      4       t% ! R R4      t&]
 ! R R]&4      4       t']
 ! R R]&4      4       t(]
 ! R R]&4      4       t)]
 ! R R]&4      4       t*]
 ! R R]&4      4       t+]
 ! R R]&4      4       t,]
 ! R R]&4      4       t-]
 ! R R]&4      4       t.]
 ! R R ]&4      4       t/]! R!R"7      R# R$ l4       t0]! R%R"7      R)R& R' ll4       t1R#   ] d    R t
 EL1i ; i)*é    )ÚannotationsN)Ú	lru_cache)Ú	getLogger)Úfinalc                ó   € V # )N© )Úclss   &Úf/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/charset_normalizer/md.pyr   r      s   € ØˆJó    )ÚCOMMON_CJK_CHARACTERSÚCOMMON_SAFE_ASCII_CHARACTERSÚTRACEÚUNICODE_SECONDARY_RANGE_KEYWORDÚ_ACCENTUATEDÚ_ARABICÚ_ARABIC_ISOLATED_FORMÚ_CJKÚ_HANGULÚ	_HIRAGANAÚ	_KATAKANAÚ_LATINÚ_THAI)Ú_character_flagsÚis_emoticonÚis_punctuationÚis_separatorÚ	is_symbolÚremove_accentÚunicode_rangeÚintÚ_GLYPH_MASKc                  ó6   € ] tR t^/tRtRtR R ltR R ltRtR# )	ÚCharInfouc  Pre-computed character properties shared across all detectors.

Instantiated once and reused via :meth:`update` on every character
in the hot loop so that redundant calls to str methods
(``isalpha``, ``isupper``, â€¦) and cached utility functions
(``_character_flags``, ``is_punctuation``, â€¦) are avoided when
several plugins need the same information.
c               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚNoner   )Úformats   "r
   Ú__annotate__ÚCharInfo.__annotate__N   s   € ÷ ñ ˜$ñ r   c                	óô   € R V n         RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        ^ V n	        RV n
        RV n        RV n        RV n        RV n        RV n        RV n        R# )Ú FN©Ú	characterÚ	printableÚalphaÚupperÚlowerÚspaceÚdigitÚis_asciiÚcase_variableÚflagsÚaccentuatedÚlatinÚis_cjkÚ	is_arabicÚis_glyphÚpunctÚsym©Úselfs   &r
   Ú__init__ÚCharInfo.__init__N   s{   € Ø ˆŒØ$ˆŒØ ˆŒ
Ø ˆŒ
Ø ˆŒ
Ø ˆŒ
Ø ˆŒ
Ø#ˆŒØ#(ˆÔØˆŒ
Ø!&ˆÔØ ˆŒ
Ø!ˆŒØ$ˆŒØ#ˆŒØ ˆŒ
ØˆŽr   c               ó    € V ^8„  d   QhRRRR/# )r&   r/   Ústrr'   r(   r   )r)   s   "r
   r*   r+   a   s"   € ÷ jIñ jI ð jI¨ñ jIr   c                ó  € Wn         \        V4      pV^€8  EdQ   RV n        RV n        RV n        RV n        RV n        ^ATu;8:  d   ^Z8:  dW   M MSRV n        RV n        RV n	        RV n
        RV n        RV n        RV n        \        V n        RV n        RV n        RV n        R# ^aTu;8:  d   ^z8:  dW   M MSRV n        RV n        RV n	        RV n
        RV n        RV n        RV n        \        V n        RV n        RV n        RV n        R# ^0Tu;8:  d   ^98:  dS   M MORV n        RV n        RV n	        RV n
        RV n        RV n        RV n        ^ V n        RV n        RV n        RV n        R# V^ 8X  g   ^	Tu;8:  d   ^8:  dV   M MRRV n        RV n        RV n	        RV n
        RV n        V^ 8H  V n        RV n        ^ V n        RV n        RV n        RV n        R# VP'                  4       V n        RV n        RV n        RV n	        RV n
        RV n        RV n        ^ V n        RV n        V P                  '       d   \)        V4      MRV n        V P                  '       d   \+        V4      MRV n        R# RV n        VP'                  4       V n        VP-                  4       V n        VP/                  4       V n        VP1                  4       V n	        VP3                  4       V n
        VP5                  4       V n        V P                  V P                  8g  V n        V P                  '       d   \7        V4      pM^ pW0n        \9        V\:        ,          4      V n        \9        V\        ,          4      V n        \9        V\<        ,          4      V n        \9        V\>        ,          4      V n        \9        V\@        ,          4      V n        V P                  '       d   \)        V4      MRV n        V P                  '       d   \+        V4      MRV n        R# )zBUpdate all properties for *character* (called once per character).TFN)!r/   Úordr6   r9   r;   r<   r=   r1   r2   r3   r4   r5   r0   r7   r   r8   r:   r>   r?   Úisprintabler   r   ÚisalphaÚisupperÚislowerÚisspaceÚisdigitr   Úboolr   r   r   r!   )rA   r/   Úor8   s   &&  r
   ÚupdateÚCharInfo.updatea   s@  € à"Œô �Y“ˆØˆs�7Ø ˆDŒMØ$ˆDÔØˆDŒKØ"ˆDŒNØ!ˆDŒMà�QŽ}˜"�}à!�”
Ø!�”
Ø"�”
Ø"�”
Ø"�”
Ø!%�”Ø%)�Ô"Ü#�”
Ø!�”
Ø"�”
Ø �–Ø�q–˜C—à!�”
Ø"�”
Ø!�”
Ø"�”
Ø"�”
Ø!%�”Ø%)�Ô"Ü#�”
Ø!�”
Ø"�”
Ø �–Ø�q–˜B—à"�”
Ø"�”
Ø"�”
Ø"�”
Ø!�”
Ø!%�”Ø%*�Ô"Ø�”
Ø"�”
Ø"�”
Ø �–Ø�b”˜Q !ž\ rŸ\à"�”
Ø"�”
Ø"�”
Ø!�”
Ø"�”
Ø!" b¡�”Ø%*�Ô"Ø�”
Ø"�”
Ø"�”
Ø �–ð "+×!6Ñ!6Ó!8�”Ø"�”
Ø"�”
Ø"�”
Ø"�”
Ø"�”
Ø%*�Ô"Ø�”
Ø"�”
Ø:>¿.¿.¸.œ^¨IÔ6Èe�”
Ø37·>·>°>œ9 YÔ/Àu�–ð "ˆDŒMØ&×2Ñ2Ó4ˆDŒNØ"×*Ñ*Ó,ˆDŒJØ"×*Ñ*Ó,ˆDŒJØ"×*Ñ*Ó,ˆDŒJØ"×*Ñ*Ó,ˆDŒJØ"×*Ñ*Ó,ˆDŒJØ!%§¡¨t¯z©zÑ!9ˆDÔð �z�zˆzÜ(¨Ó3‘à�ØŒJÜ# E¬LÕ$8Ó9ˆDÔÜ˜e¤f�nÓ-ˆDŒJÜ˜u¤t�|Ó,ˆDŒKÜ! %¬'¥/Ó2ˆDŒNÜ  ¬Õ!4Ó5ˆDŒMð 7;·n·n°nœ¨	Ô2È%ˆDŒJØ/3¯~¯~¨~”y Ô+À5ˆDŽHr   )r9   r1   r7   r/   r5   r8   r<   r6   r;   r=   r:   r3   r0   r>   r4   r?   r2   Nr.   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__rB   rP   Ú__static_attributes__r   r   r
   r#   r#   /   s!   † ñð€Iõ(÷&jIñ jIr   r#   c                  óL   € ] tR t^ÎtRtRtR R ltR R lt]R R l4       t	Rt
R	# )
ÚMessDetectorPluginzm
Base abstract class used for mess detection plugins.
All detectors MUST extend and implement given methods.
c               ó$   € V ^8„  d   QhRRRRRR/# ©r&   r/   rE   Úinfor#   r'   r(   r   )r)   s   "r
   r*   ÚMessDetectorPlugin.__annotate__Ö   s!   € ÷ "ñ " 3ð "¨hð "¸4ñ "r   c                ó   € \         h)zq
The main routine to be executed upon character.
Insert the logic in witch the text would be considered chaotic.
©ÚNotImplementedError©rA   r/   r]   s   &&&r
   Ú	feed_infoÚMessDetectorPlugin.feed_infoÖ   s
   € ô
 "Ð!r   c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   r^   Ý   s   € ÷ "ñ "�tñ "r   c                ó   € \         h)z2
Permit to reset the plugin to the initial state.
r`   r@   s   &r
   ÚresetÚMessDetectorPlugin.resetÝ   s
   € ô "Ð!r   c               ó   € V ^8„  d   QhRR/# ©r&   r'   Úfloatr   )r)   s   "r
   r*   r^   ä   s   € ÷ "ñ "�uñ "r   c                ó   € \         h)zm
Compute the chaos ratio based on what your feed() has seen.
Must NOT be lower than 0.; No restriction gt 0.
r`   r@   s   &r
   ÚratioÚMessDetectorPlugin.ratioã   s
   € ô "Ð!r   r   N)rR   rS   rT   rU   rV   rW   rc   rg   Úpropertyrm   rX   r   r   r
   rZ   rZ   Î   s,   † ñð
 €Iõ"õ"ð ô"ó ô"r   rZ   c                  óT   € ] tR t^ìtRtR R ltR R ltR R lt]R R l4       t	R	t
R
# )Ú TooManySymbolOrPunctuationPluginc               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   Ú-TooManySymbolOrPunctuationPlugin.__annotate__ö   s   € ÷ 2ñ 2˜$ñ 2r   c                	óL   € ^ V n         ^ V n        ^ V n        RV n        RV n        R# ©r   NF©Ú_punctuation_countÚ_symbol_countÚ_character_countÚ_last_printable_charÚ_frenzy_symbol_in_wordr@   s   &r
   rB   Ú)TooManySymbolOrPunctuationPlugin.__init__ö   s*   € Ø'(ˆÔØ"#ˆÔØ%&ˆÔà04ˆÔ!Ø,1ˆÖ#r   c               ó$   € V ^8„  d   QhRRRRRR/# r\   r   )r)   s   "r
   r*   rs   þ   s!   € ÷ .ñ . 3ð .¨hð .¸4ñ .r   c                ón  € V ;P                   ^,          un         WP                  8w  d†   V\        9  d{   VP                  '       d   V ;P                  ^,          un        MNVP
                  '       g=   VP                  '       d+   \        V4      '       g   V ;P                  ^,          un        Wn        R# ©ú1Optimized feed using pre-computed character info.N)	ry   rz   r   r>   rw   r5   r?   r   rx   rb   s   &&&r
   rc   Ú*TooManySymbolOrPunctuationPlugin.feed_infoþ   sv   € à×Ò Õ"Õð ×2Ñ2Ô2ØÔ!=Ô=à�z�zˆzØ×'Ò'¨1Õ,Ö'Ø—Z—Z�Z D§H§H H´[À×5KÒ5KØ×"Ò" aÕ'Õ"à$-Ö!r   c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   rs     s   € ÷ ñ �tñ r   c                	ó0   € ^ V n         ^ V n        ^ V n        R# ©r   N)rw   ry   rx   r@   s   &r
   rg   Ú&TooManySymbolOrPunctuationPlugin.reset  s   € Ø"#ˆÔØ !ˆÔØˆÖr   c               ó   € V ^8„  d   QhRR/# rj   r   )r)   s   "r
   r*   rs     s   € ÷ Lñ L�uñ Lr   c                	óš   € V P                   ^ 8X  d   R# V P                  V P                  ,           V P                   ,          pVR8¼  d   V# R# )r   ç        ç333333Ó?)ry   rw   rx   )rA   Úratio_of_punctuations   & r
   rm   Ú&TooManySymbolOrPunctuationPlugin.ratio  sO   € à× Ñ  AÔ%Ùð ×#Ñ# d×&8Ñ&8Õ8Ø×!Ñ!õ'"Ðð (<¸sÔ'BÐ#ÐKÈÐKr   )ry   r{   rz   rw   rx   Nrv   ©rR   rS   rT   rU   rW   rB   rc   rg   ro   rm   rX   r   r   r
   rq   rq   ì   s.   † ð€Iõ2õ.õð
 ôLó ôLr   rq   c                  óT   € ] tR tRtRtR R ltR R ltR R lt]R R	 l4       t	R
t
R# )ÚTooManyAccentuatedPlugini  c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   Ú%TooManyAccentuatedPlugin.__annotate__"  s   € ÷ )ñ )˜$ñ )r   c                	ó"   € ^ V n         ^ V n        R# r„   ©ry   Ú_accentuated_countr@   s   &r
   rB   Ú!TooManyAccentuatedPlugin.__init__"  s   € Ø%&ˆÔØ'(ˆÖr   c               ó$   € V ^8„  d   QhRRRRRR/# r\   r   )r)   s   "r
   r*   r�   &  s!   € ÷ )ñ ) 3ð )¨hð )¸4ñ )r   c                ó’   € V ;P                   ^,          un         VP                  '       d   V ;P                  ^,          un        R# R# r   )ry   r9   r“   rb   s   &&&r
   rc   Ú"TooManyAccentuatedPlugin.feed_info&  s5   € à×Ò Õ"Õà××ÐØ×#Ò# qÕ(×#ñ r   c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   r�   -  s   € ÷ $ñ $�tñ $r   c                	ó"   € ^ V n         ^ V n        R# r„   r’   r@   s   &r
   rg   ÚTooManyAccentuatedPlugin.reset-  s   € Ø !ˆÔØ"#ˆÖr   c               ó   € V ^8„  d   QhRR/# rj   r   )r)   s   "r
   r*   r�   2  s   € ÷ Oñ O�uñ Or   c                	óx   € V P                   ^8  d   R# V P                  V P                   ,          pVR8¼  d   V# R# )é   rˆ   gffffffÖ?r’   )rA   Úratio_of_accentuations   & r
   rm   ÚTooManyAccentuatedPlugin.ratio1  s=   € à× Ñ  1Ô$Ùà'+×'>Ñ'>À×AVÑAVÕ'VÐØ(=ÀÔ(EÐ$ÐNÈ3ÐNr   )r“   ry   Nr’   rŒ   r   r   r
   rŽ   rŽ     s,   † à:€Iõ)õ)õ$ð ôOó ôOr   rŽ   c                  óT   € ] tR tRtRtR R ltR R ltR R lt]R R	 l4       t	R
t
R# )ÚUnprintablePlugini:  c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   ÚUnprintablePlugin.__annotate__>  s   € ÷ 'ñ '˜$ñ 'r   c                	ó"   € ^ V n         ^ V n        R# r„   ©Ú_unprintable_country   r@   s   &r
   rB   ÚUnprintablePlugin.__init__>  s   € Ø'(ˆÔØ%&ˆÖr   c               ó$   € V ^8„  d   QhRRRRRR/# r\   r   )r)   s   "r
   r*   r£   B  s!   € ÷ 	#ñ 	# 3ð 	#¨hð 	#¸4ñ 	#r   c                óÎ   € VP                   '       g:   VP                  '       g(   VR8w  d!   VR8w  d   V ;P                  ^,          un        V ;P                  ^,          un        R# )r€   Úu   ï»¿N)r4   r0   r¦   ry   rb   s   &&&r
   rc   ÚUnprintablePlugin.feed_infoB  sH   € ð —
—
�
Ø—N—N�NØ˜VÔ#Ø˜XÔ%à×#Ò# qÕ(Õ#Ø×Ò Õ"×r   c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   r£   M  s   € ÷ $ñ $�tñ $r   c                	ó   € ^ V n         R# r„   )r¦   r@   s   &r
   rg   ÚUnprintablePlugin.resetM  s
   € Ø"#ˆÖr   c               ó   € V ^8„  d   QhRR/# rj   r   )r)   s   "r
   r*   r£   Q  s   € ÷ Eñ E�uñ Er   c                	óp   € V P                   ^ 8X  d   R# V P                  ^,          V P                   ,          # ©r   rˆ   ©ry   r¦   r@   s   &r
   rm   ÚUnprintablePlugin.ratioP  s/   € à× Ñ  AÔ%Ùà×'Ñ'¨!Õ+¨t×/DÑ/DÕDÐDr   r²   Nr¥   rŒ   r   r   r
   r¡   r¡   :  s,   † à:€Iõ'õ	#õ$ð ôEó ôEr   r¡   c                  óT   € ] tR tRtRtR R ltR R ltR R lt]R R	 l4       t	R
t
R# )ÚSuspiciousDuplicateAccentPluginiX  c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   Ú,SuspiciousDuplicateAccentPlugin.__annotate__a  s   € ÷ 1ñ 1˜$ñ 1r   c                	ó>   € ^ V n         ^ V n        RV n        RV n        R# ru   ©Ú_successive_country   Ú_last_latin_characterÚ_last_was_accentuatedr@   s   &r
   rB   Ú(SuspiciousDuplicateAccentPlugin.__init__a  s"   € Ø&'ˆÔØ%&ˆÔà15ˆÔ"Ø+0ˆÖ"r   c               ó$   € V ^8„  d   QhRRRRRR/# r\   r   )r)   s   "r
   r*   r·   h  s!   € ÷ 6ñ 6 3ð 6¨hð 6¸4ñ 6r   c                óØ  € V ;P                   ^,          un         V P                  e¬   VP                  '       dš   V P                  '       dˆ   VP                  '       d:   V P                  P                  4       '       d   V ;P                  ^,          un        \        V4      \        V P                  4      8X  d   V ;P                  ^,          un        Wn        VP                  V n        R# r   )ry   r»   r9   r¼   r2   rJ   rº   r   rb   s   &&&r
   rc   Ú)SuspiciousDuplicateAccentPlugin.feed_infoh  s¢   € à×Ò Õ"Õà×&Ñ&Ò2Ø× × Ð Ø×*×*Ð*à�z�zˆz˜d×8Ñ8×@Ñ@×BÒBØ×&Ò&¨!Õ+Õ&Ü˜YÓ'¬=¸×9SÑ9SÓ+TÔTØ×&Ò&¨!Õ+Õ&Ø%.Ô"Ø%)×%5Ñ%5ˆÖ"r   c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   r·   w  s   € ÷ +ñ +�tñ +r   c                	ó>   € ^ V n         ^ V n        RV n        RV n        R# ru   r¹   r@   s   &r
   rg   Ú%SuspiciousDuplicateAccentPlugin.resetw  s"   € Ø!"ˆÔØ !ˆÔØ%)ˆÔ"Ø%*ˆÖ"r   c               ó   € V ^8„  d   QhRR/# rj   r   )r)   s   "r
   r*   r·   ~  s   € ÷ Dñ D�uñ Dr   c                	óp   € V P                   ^ 8X  d   R# V P                  ^,          V P                   ,          # r±   )ry   rº   r@   s   &r
   rm   Ú%SuspiciousDuplicateAccentPlugin.ratio}  s/   € à× Ñ  AÔ%Ùà×&Ñ&¨Õ*¨d×.CÑ.CÕCÐCr   )ry   r»   r¼   rº   Nr¹   rŒ   r   r   r
   rµ   rµ   X  s.   † ð€Iõ1õ6õ+ð ôDó ôDr   rµ   c                  óT   € ] tR tRtRtR R ltR R ltR R lt]R R	 l4       t	R
t
R# )ÚSuspiciousRangei…  c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   ÚSuspiciousRange.__annotate__Ž  s   € ÷ 6ñ 6˜$ñ 6r   c                	ó>   € ^ V n         ^ V n        RV n        RV n        R# r„   ©Ú"_suspicious_successive_range_country   Ú_last_printable_seenÚ_last_printable_ranger@   s   &r
   rB   ÚSuspiciousRange.__init__Ž  s"   € Ø78ˆÔ/Ø%&ˆÔØ04ˆÔ!Ø15ˆÖ"r   c               ó$   € V ^8„  d   QhRRRRRR/# r\   r   )r)   s   "r
   r*   rÊ   ”  s!   € ÷ 5ñ 5 3ð 5¨hð 5¸4ñ 5r   c                óœ  € V ;P                   ^,          un         VP                  '       g   VP                  '       g   V\        9   d   RV n        RV n        R# V P                  f   Wn        \        V4      V n        R# V P
                  p\        V4      p\        W44      '       d   V ;P                  ^,          un        Wn        W@n        R# r   )	ry   r4   r>   r   rÎ   rÏ   r   Ú is_suspiciously_successive_rangerÍ   )rA   r/   r]   Úunicode_range_aÚunicode_range_bs   &&&  r
   rc   ÚSuspiciousRange.feed_info”  sž   € à×Ò Õ"Õà�:�:ˆ:˜ŸŸ˜ yÔ4PÔ'PØ(,ˆDÔ%Ø)-ˆDÔ&Ùà×$Ñ$Ò,Ø(1Ô%Ü)6°yÓ)AˆDÔ&Ùà&*×&@Ñ&@ˆÜ&3°IÓ&>ˆä+¨O×MÒMØ×3Ò3°qÕ8Õ3à$-Ô!Ø%4Ö"r   c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   rÊ   «  s   € ÷ *ñ *�tñ *r   c                	ó>   € ^ V n         ^ V n        RV n        RV n        R# r„   )ry   rÍ   rÎ   rÏ   r@   s   &r
   rg   ÚSuspiciousRange.reset«  s"   € Ø !ˆÔØ23ˆÔ/Ø$(ˆÔ!Ø%)ˆÖ"r   c               ó   € V ^8„  d   QhRR/# rj   r   )r)   s   "r
   r*   rÊ   ²  s   € ÷ /ñ /�uñ /r   c                	ót   € V P                   ^8:  d   R# V P                  ^,          V P                   ,          pV# )é   rˆ   )ry   rÍ   )rA   Úratio_of_suspicious_range_usages   & r
   rm   ÚSuspiciousRange.ratio±  s<   € à× Ñ  BÔ&Ùð ×3Ñ3°aÕ7Ø×!Ñ!õ2"Ð'ð /Ð.r   )ry   rÏ   rÎ   rÍ   NrÌ   rŒ   r   r   r
   rÈ   rÈ   …  s,   † ð€Iõ6õ5õ.*ð ô/ó ô/r   rÈ   c                  óT   € ] tR tRtRtR R ltR R ltR R lt]R R	 l4       t	R
t
R# )ÚSuperWeirdWordPlugini½  c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   Ú!SuperWeirdWordPlugin.__annotate__Ï  s   € ÷ *ñ *˜$ñ *r   c                	ó¼   € ^ V n         ^ V n        ^ V n        RV n        RV n        ^ V n        ^ V n        ^ V n        RV n        RV n	        ^ V n
        ^ V n        ^ V n        R# )r   FN©Ú_word_countÚ_bad_word_countÚ_foreign_long_countÚ_is_current_word_badÚ_foreign_long_watchry   Ú_bad_character_countÚ_buffer_lengthÚ_buffer_last_charÚ_buffer_last_char_accentuatedÚ_buffer_accent_countÚ_buffer_glyph_countÚ_buffer_upper_countr@   s   &r
   rB   ÚSuperWeirdWordPlugin.__init__Ï  sj   € Ø !ˆÔØ$%ˆÔØ()ˆÔ à*/ˆÔ!Ø).ˆÔ à%&ˆÔØ)*ˆÔ!à#$ˆÔØ-1ˆÔØ38ˆÔ*Ø)*ˆÔ!Ø()ˆÔ Ø()ˆÖ r   c               ó$   € V ^8„  d   QhRRRRRR/# r\   r   )r)   s   "r
   r*   râ   á  s&   € ÷ I7ñ I7 3ð I7¨hð I7¸4ñ I7r   c                óL  € VP                   '       Ed   V ;P                  ^,          un        Wn        VP                  '       d   V ;P                  ^,          un        VP
                  V n        VP
                  '       d   V ;P                  ^,          un        V P                  '       g>   VP                  '       d   VP
                  '       d   VP                  '       g   RV n        VP                  '       d   V ;P                  ^,          un        R# V P                  '       g   R# VP                  '       g%   VP                  '       g   \        V4      '       Edç   V ;P                  ^,          un        V P                  pV ;P                   V,          un        V^8¼  d¶   V P                  V,          R8¼  d	   RV n        M•V P                  '       dS   V P                  P%                  4       '       d3   V P                  V8w  d"   V ;P&                  ^,          un        RV n        M1V P                  ^8X  d!   RV n        V ;P&                  ^,          un        V^8¼  dh   V P                  '       dV   V P                  ^ 8„  ;'       d    V P                  V,          R8*  pV'       g!   V ;P&                  ^,          un        RV n        V P"                  '       d:   V ;P(                  ^,          un        V ;P*                  V,          un        RV n        RV n        ^ V n        RV n        RV n        ^ V n        ^ V n        ^ V n        R# VR9  dX   VP,                  '       gD   VP.                  '       d0   RV n        V ;P                  ^,          un        Wn        RV n        R# R# R# R# )r€   TNç      à?r‰   F>   Ú-Ú<Ú=Ú>Ú_Ú|Ú~)r1   rë   rì   r2   rð   r9   rí   rî   ré   r:   r=   rï   r4   r>   r   rå   ry   rè   rJ   rç   ræ   rê   r5   r?   )rA   r/   r]   Úbuffer_lengthÚprobable_camel_caseds   &&&  r
   rc   ÚSuperWeirdWordPlugin.feed_infoá  sÁ  € à�:�:‰:Ø×Ò 1Õ$ÕØ%.Ô"à�z�zˆzØ×(Ò(¨AÕ-Õ(à15×1AÑ1AˆDÔ.à××ÐØ×)Ò)¨QÕ.Õ)à×,×,Ð,ØŸŸ˜ t×'7×'7Ð'7ØŸŸ˜à+/�Ô(Ø�}�}ˆ}Ø×(Ò(¨AÕ-Õ(ÙØ×"×"Ð"ÙØ�:�:ˆ:˜ŸŸ˜¤|°I×'>Ó'>Ø×Ò Õ!ÕØ!%×!4Ñ!4ˆMà×!Ò! ]Õ2Õ!à Ô!Ø×,Ñ,¨}Õ<ÀÔCØ04�DÕ-à×6×6Ð6Ø×.Ñ.×6Ñ6×8Ò8Ø×0Ñ0°MÔAà×,Ò,°Õ1Õ,Ø04�DÕ-Ø×-Ñ-°Ô2Ø04�DÔ-Ø×,Ò,°Õ1Õ,Ø Ô" t×'?×'?Ð'?à×,Ñ,¨qÑ0÷ Hð HØ×0Ñ0°=Õ@ÀCÑGð %÷
 ,Ø×,Ò,°Õ1Õ,Ø04�DÔ-à×(×(Ð(Ø×$Ò$¨Õ)Õ$Ø×)Ò)¨]Õ:Õ)Ø,1�Ô)à',ˆDÔ$Ø"#ˆDÔØ%)ˆDÔ"Ø16ˆDÔ.Ø()ˆDÔ%Ø'(ˆDÔ$Ø'(ˆDÖ$àÐ@Ô@Ø—J—J�JØ——�à(,ˆDÔ%Ø×Ò 1Õ$ÕØ%.Ô"Ø16ˆDÖ.ñ ñ ñ Ar   c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   râ   ,  s   € ÷ %ñ %�tñ %r   c                	ó¼   € ^ V n         RV n        RV n        RV n        RV n        ^ V n        ^ V n        ^ V n        ^ V n        ^ V n	        ^ V n
        ^ V n        ^ V n        R# ru   )rë   rì   rí   rè   ré   ræ   rå   ry   rê   rç   rî   rï   rð   r@   s   &r
   rg   ÚSuperWeirdWordPlugin.reset,  sj   € ØˆÔØ!%ˆÔØ-2ˆÔ*Ø$)ˆÔ!Ø#(ˆÔ Ø ˆÔØˆÔØ !ˆÔØ$%ˆÔ!Ø#$ˆÔ Ø$%ˆÔ!Ø#$ˆÔ Ø#$ˆÖ r   c               ó   € V ^8„  d   QhRR/# rj   r   )r)   s   "r
   r*   râ   <  s   € ÷ Añ A�uñ Ar   c                	ó„   € V P                   ^
8:  d   V P                  ^ 8X  d   R# V P                  V P                  ,          # )é
   rˆ   )rå   rç   rê   ry   r@   s   &r
   rm   ÚSuperWeirdWordPlugin.ratio;  s7   € à×Ñ˜rÔ! d×&>Ñ&>À!Ô&CÙà×(Ñ(¨4×+@Ñ+@Õ@Ð@r   )rê   ræ   rî   rï   rì   rí   rë   rð   ry   rç   ré   rè   rå   Nrä   rŒ   r   r   r
   rà   rà   ½  s0   † ð€Iõ *õ$I7õV%ð ôAó ôAr   rà   c                  óX   € ] tR tRtRtRtR R ltR R ltR R lt]	R	 R
 l4       t
RtR# )ÚCjkUncommonPluginiC  z4
Detect messy CJK text that probably means nothing.
c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   ÚCjkUncommonPlugin.__annotate__K  s   € ÷ &ñ &˜$ñ &r   c                	ó"   € ^ V n         ^ V n        R# r„   ©ry   Ú_uncommon_countr@   s   &r
   rB   ÚCjkUncommonPlugin.__init__K  s   € Ø%&ˆÔØ$%ˆÖr   c               ó$   € V ^8„  d   QhRRRRRR/# r\   r   )r)   s   "r
   r*   r	  O  s!   € ÷ &ñ & 3ð &¨hð &¸4ñ &r   c                ó„   € V ;P                   ^,          un         V\        9  d   V ;P                  ^,          un        R# R# r   )ry   r   r  rb   s   &&&r
   rc   ÚCjkUncommonPlugin.feed_infoO  s2   € à×Ò Õ"ÕàÔ1Ô1Ø× Ò  AÕ%× ñ 2r   c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   r	  V  s   € ÷ !ñ !�tñ !r   c                	ó"   € ^ V n         ^ V n        R# r„   r  r@   s   &r
   rg   ÚCjkUncommonPlugin.resetV  s   € Ø !ˆÔØ ˆÖr   c               ó   € V ^8„  d   QhRR/# rj   r   )r)   s   "r
   r*   r	  [  s   € ÷ Nñ N�uñ Nr   c                	ó†   € V P                   ^8  d   R# V P                  V P                   ,          pVR8”  d
   V^
,          # R# )r�   rˆ   rô   r  )rA   Úuncommon_form_usages   & r
   rm   ÚCjkUncommonPlugin.ratioZ  sD   € à× Ñ  1Ô$Ùà%)×%9Ñ%9¸D×<QÑ<QÕ%QÐð ,?ÀÔ+DÐ" RÕ'ÐMÈ#ÐMr   r  N)rR   rS   rT   rU   rV   rW   rB   rc   rg   ro   rm   rX   r   r   r
   r  r  C  s3   † ñð 8€Iõ&õ&õ!ð ôNó ôNr   r  c                  óT   € ] tR tRtRtR R ltR R ltR R lt]R R	 l4       t	R
t
R# )ÚArchaicUpperLowerPluginif  c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   Ú$ArchaicUpperLowerPlugin.__annotate__t  s   € ÷ .ñ .˜$ñ .r   c                	ó„   € R V n         ^ V n        ^ V n        ^ V n        ^ V n        RV n        R V n        R V n        RV n        R# )FNT©	Ú_bufÚ_character_count_since_last_sepÚ_successive_upper_lower_countÚ#_successive_upper_lower_count_finalry   Ú_last_alpha_seenÚ_last_alpha_seen_upperÚ_last_alpha_seen_lowerÚ_current_ascii_onlyr@   s   &r
   rB   Ú ArchaicUpperLowerPlugin.__init__t  sI   € ØˆŒ	à45ˆÔ,à23ˆÔ*Ø89ˆÔ0à%&ˆÔà,0ˆÔØ,1ˆÔ#Ø,1ˆÔ#Ø)-ˆÖ r   c               ó$   € V ^8„  d   QhRRRRRR/# r\   r   )r)   s   "r
   r*   r  ƒ  s!   € ÷ +1ñ +1 3ð +1¨hð +1¸4ñ +1r   c                óì  € VP                   ;'       d    VP                  pV'       * pV'       d¨   V P                  ^ 8”  d—   V P                  ^@8:  dH   VP                  '       g6   V P                  '       g$   V ;P
                  V P                  ,          un        ^ V n        ^ V n        RV n        RV n        V ;P                  ^,          un	        RV n        R# V P                  '       d   VP                  '       g   RV n        V P                  e‹   VP                  '       d   V P                  '       g%   VP                  '       dN   V P                  '       d<   V P                  '       d"   V ;P                  ^,          un        RV n        MRV n        MRV n        V ;P                  ^,          un	        V ;P                  ^,          un        Wn        VP                  V n        VP                  V n        R# )r€   NFT)r1   r7   r  r5   r%  r!  r   r"  r  ry   r6   r2   r$  r3   r#  )rA   r/   r]   Úis_concernedÚ	chunk_seps   &&&  r
   rc   Ú!ArchaicUpperLowerPlugin.feed_infoƒ  sj  € à!ŸZ™Z×>Ð>¨D×,>Ñ,>ˆØ*Ô*ˆ	ç˜×=Ñ=ÀÔAà×4Ñ4¸Ô:ØŸ
Ÿ
˜
Ø×0×0Ð0à×8Ò8Ø×6Ñ6õÕ8ð 23ˆDÔ.Ø34ˆDÔ0Ø$(ˆDÔ!ØˆDŒIØ×!Ò! QÕ&Õ!Ø'+ˆDÔ$áà×#×#Ð#¨D¯M¯M¨MØ',ˆDÔ$à× Ñ Ò,Ø—
—
�
˜t×:×:Ð:Ø—
—
�
˜t×:×:Ð:à—9—9�9Ø×6Ò6¸!Õ;Õ6Ø %�D•Ià $�D•Ià!�”	à×Ò Õ"ÕØ×,Ò,°Õ1Õ,Ø )ÔØ&*§j¡jˆÔ#Ø&*§j¡jˆÖ#r   c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   r  °  s   € ÷ 	(ñ 	(�tñ 	(r   c                	ó„   € ^ V n         ^ V n        ^ V n        ^ V n        RV n        RV n        RV n        RV n        RV n        R# )r   NFT)	ry   r  r   r!  r"  r#  r$  r  r%  r@   s   &r
   rg   ÚArchaicUpperLowerPlugin.reset°  sI   € Ø !ˆÔØ/0ˆÔ,Ø-.ˆÔ*Ø34ˆÔ0Ø $ˆÔØ&+ˆÔ#Ø&+ˆÔ#ØˆŒ	Ø#'ˆÖ r   c               ó   € V ^8„  d   QhRR/# rj   r   )r)   s   "r
   r*   r  ¼  s   € ÷ Pñ P�uñ Pr   c                	ób   € V P                   ^ 8X  d   R# V P                  V P                   ,          # r±   )ry   r!  r@   s   &r
   rm   ÚArchaicUpperLowerPlugin.ratio»  s*   € à× Ñ  AÔ%Ùà×7Ñ7¸$×:OÑ:OÕOÐOr   )	r  ry   r  r%  r"  r$  r#  r   r!  Nr  rŒ   r   r   r
   r  r  f  s/   † ð
€Iõ.õ+1õZ	(ð ôPó ôPr   r  c                  óT   € ] tR tRtR
tR R ltR R ltR R lt]R R	 l4       t	R
t
R# )ÚArabicIsolatedFormPluginiÃ  c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   Ú%ArabicIsolatedFormPlugin.__annotate__Ç  s   € ÷ +ñ +˜$ñ +r   c                	ó"   € ^ V n         ^ V n        R# r„   ©ry   Ú_isolated_form_countr@   s   &r
   rB   Ú!ArabicIsolatedFormPlugin.__init__Ç  s   € Ø%&ˆÔØ)*ˆÖ!r   c               ó   € V ^8„  d   QhRR/# r%   r   )r)   s   "r
   r*   r5  Ë  s   € ÷ &ñ &�tñ &r   c                	ó"   € ^ V n         ^ V n        R# r„   r7  r@   s   &r
   rg   ÚArabicIsolatedFormPlugin.resetË  s   € Ø !ˆÔØ$%ˆÖ!r   c               ó$   € V ^8„  d   QhRRRRRR/# r\   r   )r)   s   "r
   r*   r5  Ï  s!   € ÷ +ñ + 3ð +¨hð +¸4ñ +r   c                ó¨   € V ;P                   ^,          un         VP                  \        ,          '       d   V ;P                  ^,          un        R# R# r   )ry   r8   r   r8  rb   s   &&&r
   rc   Ú"ArabicIsolatedFormPlugin.feed_infoÏ  s9   € à×Ò Õ"Õà�:‰:Ô-×-Ô-Ø×%Ò%¨Õ*×%ñ .r   c               ó   € V ^8„  d   QhRR/# rj   r   )r)   s   "r
   r*   r5  ×  s   € ÷ #ñ #�uñ #r   c                	óf   € V P                   ^8  d   R# V P                  V P                   ,          pV# )r�   rˆ   r7  )rA   Úisolated_form_usages   & r
   rm   ÚArabicIsolatedFormPlugin.ratioÖ  s0   € à× Ñ  1Ô$Ùà%)×%>Ñ%>À×AVÑAVÕ%VÐà"Ð"r   r7  N)rR   rS   rT   rU   rW   rB   rg   rc   ro   rm   rX   r   r   r
   r3  r3  Ã  s*   † à<€Iõ+õ&õ+ð ô#ó ô#r   r3  é   )Úmaxsizec               ó$   € V ^8„  d   QhRRRRRR/# )r&   rÔ   z
str | NonerÕ   r'   rN   r   )r)   s   "r
   r*   r*   á  s)   € ÷ Fñ FØðFØ2<ðFà	ñFr   c                ó�  € V e   Vf   R# W8X  d   R# RV 9   d
   RV9   d   R# RV 9   g   RV9   d   R# RV 9   g   RV9   d   RV 9   g   RV9   d   R# V P                  R4      VP                  R4      r2V F  pV\        9   d   K  WC9   g   K   R# 	  V R9   VR9   reV'       g	   V'       d   RV 9   g   RV9   d   R# V'       d   V'       d   R# RV 9   g   RV9   d!   RV 9   g   RV9   d   R# V R	8X  g   VR	8X  d   R# RV 9   g   RV9   g   V R9   d8   VR9   d1   R
V 9   g   R
V9   d   R# RV 9   g   RV9   d   R# V R	8X  g   VR	8X  d   R# R# )zY
Determine if two Unicode range seen next to each other can be considered as suspicious.
TFÚLatinÚ	EmoticonsÚ	CombiningÚ ÚCJKÚHangulzBasic LatinÚPunctuationÚForms)ÚHiraganaÚKatakana)rQ  rP  )Úsplitr   )rÔ   rÕ   Úkeywords_range_aÚkeywords_range_bÚelÚrange_a_jp_charsÚrange_b_jp_charss   &&     r
   rÓ   rÓ   à  sw  € ð Ò /Ò"9ÙàÔ)Ùà�/Ô! g°Ô&@Ùà�oÔ%¨¸Ô)GÙð 	�?Ô" g°Ô&@Ø�Ô&¨+¸Ô*Háð 	×Ñ˜cÓ"Ø×Ñ˜cÓ"ð 'ó
 ˆØÔ0Ô0ÙØÖ!Úñ	 ð 	ð
ñ	
ð
 	Ð3Ñ3ð '÷ 	×,Ø�Ô  E¨_Ô$<áß×,Ùà�?Ô" h°/Ô&AØ�OÔ# u°Ô'?ÙØ˜mÔ+¨À-Ô/OÙð 	�Ô  E¨_Ô$<ØÐ3Ô3ØÐ7Ô7à˜OÔ+¨}ÀÔ/OÙØ�oÔ%¨°OÔ)CÙØ˜mÔ+¨À-Ô/OÙár   i   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r&   Údecoded_sequencerE   Úmaximum_thresholdrk   ÚdebugrN   r'   r   )r)   s   "r
   r*   r*   +  s2   € ÷ }%ñ }%Øð}%Ø.3ð}%ØBFð}%à
ñ}%r   c           	     óÞ  € \        V 4      pVR8  d   ^ pMVR8  d   ^@pM^€p\        4       p\        4       p\        4       p\	        4       p\        4       p	\        4       p
\        4       p\        4       p\        4       pVP                  pVP                  pVP                  pVP                  pV	P                  pV
P                  pVP                  pVP                  pVP                  p\        4       pVP                  p\        ^ W44       EFk  pV VVV,             Fº  pV! V4       V! VV4       V! VV4       V! VV4       VP                  '       d   V! VV4       V! VV4       VP                  '       g   K^  V! VV4       VP                   '       d
   V! VV4       VP"                  '       d
   V! VV4       VP$                  '       g   K±  V! VV4       K¼  	  VP&                  VP&                  ,           VP&                  ,           VP&                  ,           V	P&                  ,           V
P&                  ,           VP&                  ,           VP&                  ,           VP&                  ,           pVV8¼  g   EKl   M¹	  V! R4       V! RV4       V! RV4       V! RV4       VP&                  VP&                  ,           VP&                  ,           VP&                  ,           V	P&                  ,           V
P&                  ,           VP&                  ,           VP&                  ,           VP&                  ,           pV'       d«   \)        R4      pVP+                  \,        RV RV RV 24       V^8”  d=   VP+                  \,        RV R	,           24       VP+                  \,        R
V RR  24       WVWxWšW¼V3	 F2  pVP+                  \,        VP.                   RVP&                   24       K4  	  \1        V^4      # )zo
Compute a mess ratio given a decoded bytes sequence. The maximum threshold does stop the computation earlier.
iÿ  rD  Ú
Úcharset_normalizerzIMess-detector extended-analysis start. intermediary_mean_mess_ratio_calc=z mean_mess_ratio=z maximum_threshold=zStarting with: :Né   NzEnding with: Nz: iðÿÿÿ)Úlenrq   rŽ   r¡   rµ   rÈ   rà   r  r  r3  rc   r#   rP   Úranger0   r1   r:   r;   r<   rm   r   Úlogr   Ú	__class__Úround)rY  rZ  r[  Úseq_lenÚstepÚd_spÚd_taÚd_upÚd_sdaÚd_srÚd_swÚd_cuÚd_auÚd_aiÚ	d_sp_feedÚ	d_ta_feedÚ	d_up_feedÚ
d_sda_feedÚ	d_sr_feedÚ	d_sw_feedÚ	d_cu_feedÚ	d_au_feedÚ	d_ai_feedr]   Úinfo_updateÚblock_startr/   Úmean_mess_ratioÚloggerÚdts   &&&                           r
   Ú
mess_ratior~  *  s’  € ô Ð'Ó(€Gà�„}Ø‰Ø	�4ŒØ‰àˆô .NÓ-O€DÜ%=Ó%?€DÜ/Ó1€DÜ-LÓ-N€EÜ+Ó-€DÜ!5Ó!7€DÜ/Ó1€DÜ$;Ó$=€DÜ%=Ó%?€Dð —‘€IØ—‘€IØ—‘€IØ—‘€JØ—‘€IØ—‘€IØ—‘€IØ—‘€IØ—‘€Iô “Z€DØ—+‘+€Kô ˜Q ×.ˆØ)¨+¸ÀdÕ8JÓKˆIá˜	Ô"ñ �i Ô&Ù�i Ô&Ù�i Ô&ð �~�~ˆ~Ù˜) TÔ*Ù˜) TÔ*ð �z�zŠzÙ˜) TÔ*à—:—:�:Ù˜y¨$Ô/à—;—;�;Ù˜i¨Ô.à—>—>’>Ù˜i¨Ö.ñ3 Lð8 �J‰JØ�j‰jõà�j‰jõð �k‰kõð �j‰jõ	ð
 �j‰jõð �j‰jõð �j‰jõð �j‰jõð 	ð Ð/×/ÙñS /ñX 	�DÔÙ�$˜ÔÙ�$˜ÔÙ�$˜Ôð �J‰JØ�j‰jõà�j‰jõð �k‰kõð �j‰jõ	ð
 �j‰jõð �j‰jõð �j‰jõð �j‰jõð 	÷ ÜÐ/Ó0ˆà�
‰
Üð1Ø15°Ð6GÈÐGXð Y!Ø!2Ð 3ð5ô	
ð �RŒ<Ø�J‰J”u Ð0@ÀÕ0EÐ/FÐGÔHØ�J‰J”u Ð.>¸s¸uÐ.EÐ-FÐGÔHà˜t¨D¸ÀDÓIˆBØ�J‰J”u §¡ ¨b°·±°
Ð;Ö<ñ Jô � !Ó$Ð$r   )é   r�   )gš™™™™™É?F)2Ú__conditional_annotations__Ú
__future__r   ÚsysÚ	functoolsr   Úloggingr   Úversion_infoÚtypingr   Útyping_extensionsÚImportErrorÚconstantr   r   r   r   r   r   r   r   r   r   r   r   r   Úutilsr   r   r   r   r   r   r   r!   Ú__annotations__r#   rZ   rq   rŽ   r¡   rµ   rÈ   rà   r  r  r3  rÓ   r~  )r€  s   @r
   Ú<module>rŒ     s  øðß "Ð "ã 
Ý Ý à×Ñ�vÔÞðÝ+÷÷ ÷ õ ÷÷ ñ ð ˜'•> IÕ-°	Õ9¸EÕA€ˆSÓ Að ÷[Ið [Ió ð[I÷|"ñ "ð< ô.LÐ'9ó .Ló ð.Lðb ôOÐ1ó Oó ðOð6 ôEÐ*ó Eó ðEð: ô)DÐ&8ó )Dó ð)DðX ô4/Ð(ó 4/ó ð4/ðn ôBAÐ-ó BAó ðBAðJ ôNÐ*ó Nó ðNðD ôYPÐ0ó YPó ðYPðx ô#Ð1ó #ó ð#ñ8 �4ÔôFó ðFñR �4Ôö}%ó ò}%øð ô õ	ðús   ´E Å
E,Å+E,