Ë
    äØjj,  ã                   ól   — d dl Z d dlZd dlmZmZ ddlmZmZ  ej                  d«      Z	 G d„ d«      Z
y)é    N)ÚOptionalÚUnioné   )ÚLanguageFilterÚProbingStates%   [a-zA-Z]*[€-ÿ]+[a-zA-Z]*[^a-zA-Z€-ÿ]?c                   ó   — e Zd ZdZej
                  fdeddfd„Zdd„Zede	e
   fd„«       Zede	e
   fd„«       Zd	eeef   defd
„Zedefd„«       Zdefd„Zedeeef   defd„«       Zedeeef   defd„«       Zedeeef   defd„«       Zy)ÚCharSetProbergffffffî?Úlang_filterÚreturnNc                 ó†   — t         j                  | _        d| _        || _        t        j                  t        «      | _        y )NT)	r   Ú	DETECTINGÚ_stateÚactiver
   ÚloggingÚ	getLoggerÚ__name__Úlogger)Úselfr
   s     úc/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/pip/_vendor/chardet/charsetprober.pyÚ__init__zCharSetProber.__init__,   s0   € Ü"×,Ñ,ˆŒØˆŒØ&ˆÔÜ×'Ñ'¬Ó1ˆ�ó    c                 ó.   — t         j                  | _        y ©N)r   r   r   ©r   s    r   ÚresetzCharSetProber.reset2   s   € Ü"×,Ñ,ˆ�r   c                  ó   — y r   © r   s    r   Úcharset_namezCharSetProber.charset_name5   s   € àr   c                 ó   — t         ‚r   ©ÚNotImplementedErrorr   s    r   ÚlanguagezCharSetProber.language9   s   € ä!Ð!r   Úbyte_strc                 ó   — t         ‚r   r    )r   r#   s     r   ÚfeedzCharSetProber.feed=   s   € Ü!Ð!r   c                 ó   — | j                   S r   )r   r   s    r   ÚstatezCharSetProber.state@   s   € à�{‰{Ðr   c                  ó   — y)Ng        r   r   s    r   Úget_confidencezCharSetProber.get_confidenceD   s   € Ør   Úbufc                 ó4   — t        j                  dd| «      } | S )Ns   ([ -])+ó    )ÚreÚsub)r*   s    r   Úfilter_high_byte_onlyz#CharSetProber.filter_high_byte_onlyG   s   € ä�f‰fÐ&¨¨cÓ2ˆØˆ
r   c                 óÔ   — t        «       }t        j                  | «      }|D ]C  }|j                  |dd «       |dd }|j	                  «       s|dk  rd}|j                  |«       ŒE |S )u7  
        We define three types of bytes:
        alphabet: english alphabets [a-zA-Z]
        international: international characters [Â€-Ã¿]
        marker: everything else [^a-zA-ZÂ€-Ã¿]
        The input buffer can be thought to contain a series of words delimited
        by markers. This function works to filter all words that contain at
        least one international character. All contiguous sequences of markers
        are replaced by a single space ascii character.
        This filter applies to all scripts which do not use English characters.
        Néÿÿÿÿó   €r,   )Ú	bytearrayÚINTERNATIONAL_WORDS_PATTERNÚfindallÚextendÚisalpha)r*   ÚfilteredÚwordsÚwordÚ	last_chars        r   Úfilter_international_wordsz(CharSetProber.filter_international_wordsL   sv   € ô “;ˆô
 ,×3Ñ3°CÓ8ˆàò 
	'ˆDØ�O‰O˜D  "˜IÔ&ð ˜R˜S˜	ˆIØ×$Ñ$Ô&¨9°wÒ+>Ø �	Ø�O‰O˜IÕ&ð
	'ð ˆr   c                 ó*  — t        «       }d}d}t        | «      j                  d«      } t        | «      D ]F  \  }}|dk(  r|dz   }d}Œ|dk(  sŒ||kD  r'|s%|j	                  | || «       |j	                  d«       d}ŒH |s|j	                  | |d	 «       |S )
a[  
        Returns a copy of ``buf`` that retains only the sequences of English
        alphabet and high byte characters that are not between <> characters.
        This filter can be applied to all scripts which contain both English
        characters and extended ASCII characters, but is currently only used by
        ``Latin1Prober``.
        Fr   Úcó   >r   ó   <r,   TN)r3   Ú
memoryviewÚcastÚ	enumerater6   )r*   r8   Úin_tagÚprevÚcurrÚbuf_chars         r   Úremove_xml_tagszCharSetProber.remove_xml_tagsn   s¬   € ô “;ˆØˆØˆÜ˜‹o×"Ñ" 3Ó'ˆä'¨›nò 	‰NˆD�(ð ˜4ÒØ˜a‘x�Ø‘à˜TÓ!Ø˜$’;¡vð —O‘O C¨¨T NÔ3à—O‘O DÔ)Ø‘ð	ñ$ ð �O‰O˜C  ˜JÔ'àˆr   )r   N)r   Ú
__module__Ú__qualname__ÚSHORTCUT_THRESHOLDr   ÚNONEr   r   Úpropertyr   Ústrr   r"   r   Úbytesr3   r   r%   r'   Úfloatr)   Ústaticmethodr/   r<   rH   r   r   r   r	   r	   (   s0  „ àÐà5C×5HÑ5Hñ 2 Nð 2ÈTó 2ó-ð ð˜h s™mò ó ðð ð"˜( 3™-ò "ó ð"ð"˜U 5¨)Ð#3Ñ4ð "¸ó "ð ð�|ò ó ðð ó ð ð 5¨°	Ð)9Ñ#:ð ¸uò ó ðð ð¨¨e°YÐ.>Ñ(?ð ÀIò ó ððB ð$˜U 5¨)Ð#3Ñ4ð $¸ò $ó ñ$r   r	   )r   r-   Útypingr   r   Úenumsr   r   Úcompiler4   r	   r   r   r   ú<module>rU      s3   ðó: Û 	ß "ç /à(˜bŸj™jØ8óÐ ÷
kò kr   