Ë
    Dü´j  ã                  ó¸   — d Z ddlmZ ddlmZ dZ e ed«      «       e edd«      «      z   Z ed„ eD «       «      Z	d	Z
d
ZdZdZ e edd«      «      Zefdd„Zy)z"Stage 0: Binary content detection.é    )Úannotations)ÚDEFAULT_MAX_BYTESg{®Gáz„?é	   é   é    c              #  ó*   K  — | ]  }|d vsŒ|–— Œ y­w))é   é   N© )Ú.0Úbs     úU/root/workspace/ytshorts/venv/lib/python3.12/site-packages/chardet/pipeline/binary.pyú	<genexpr>r      s   è ø€ Ò!U¨¸qÈÒ?T¤!Ñ!Uùs   ‚	Œg      Ð?g{®Gáz”?é@   r	   é€   é   c                ó6  — | d| } | sy| j                  dt        «      }t        | «      t        |«      z
  }|t        | «      z  t        k  ry| j                  dt        «      }t        | «      t        |«      z
  }|t        | «      z  t        kD  ry| j                  t        «      | j                  t        «      z   }t        | «      |z
  }|dk(  ryt        | «      t        | j                  dt        «      «      z
  }||z  t        k  ry|t        | «      z  t        k  S )zêReturn ``True`` if *data* appears to be binary (not text) content.

    :param data: The raw byte data to examine.
    :param max_bytes: Maximum number of bytes to scan.
    :returns: ``True`` if the data is classified as binary.
    NFTr   )Ú	translateÚ_BINARY_DELETEÚlenÚ_BINARY_THRESHOLDÚ_BINARY_DELETE_NON_EBCDICÚcountÚ_EBCDIC_SPACEÚ
_EBCDIC_HTÚ_HIGH_BYTES_DELETEÚ_EBCDIC_MIN_HIGH_FRACTIONÚ_EBCDIC_MIN_SPACE_FRACTION)	ÚdataÚ	max_bytesÚcleanÚbinary_countÚ
hard_cleanÚ
hard_countÚspace_countÚ	non_spaceÚ
high_counts	            r   Ú	is_binaryr(   -   s   € ð �
�Ð€DÙØà�N‰N˜4¤Ó0€EÜ�t“9œs 5›zÑ)€LØ”c˜$“iÑÔ#4Ò4Øð —‘ Ô&?Ó@€JÜ�T“œS ›_Ñ,€JØ”C˜“IÑÔ 1Ò1ØØ—*‘*œ]Ó+¨d¯j©j¼Ó.DÑD€KÜ�D“	˜KÑ'€IØ�A‚~ØÜ�T“œS §¡°Ô6HÓ!IÓJÑJ€JØ�IÑÔ 9Ò9ØØœ˜T›Ñ"Ô%?Ñ?Ð?ó    N)r   Úbytesr    ÚintÚreturnÚbool)Ú__doc__Ú
__future__r   Úchardet._utilsr   r   r*   Úranger   r   r   r   r   r   r   r(   r   r)   r   ú<module>r2      s…   ðÙ (å "å ,ð Ð ñ ‘u˜T“{Ó#¡e©E°$¸Ó,=Ó&>Ñ>€ñ
 "Ñ!U¨^Ô!UÓUÐ ð !Ð ð "Ð ð €Ø€
ñ ™5  uÓ-Ó.Ð ð ->õ @r)   