§
    WŠtj÷  ã                   ó®   — d dl Z d dlZd dlmZ ddlmZ ddlmZ d„ Zd„ Z	d„ Z
d	„ Zej        fd
edefd„Zej        fded
eddfd„Z G d„ de¦  «        ZdS )é    N)ÚRawConfigParseré   )Úpy39)ÚSetuptoolsDeprecationWarningc                 óü   — t          | t          ¦  «        rt          j        d| ¦  «        S 	 |                      d¦  «        } t          j        d| ¦  «        } |                      d¦  «        } n# t          $ r Y nw xY w| S )NÚNFDúutf-8)Ú
isinstanceÚstrÚunicodedataÚ	normalizeÚdecodeÚencodeÚUnicodeError)Úpaths    úV/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/setuptools/unicode_utils.pyÚ	decomposer   
   s‡   € Ý�$�ÑÔð 2ÝÔ$ U¨DÑ1Ô1Ð1ðØ�{Š{˜7Ñ#Ô#ˆÝÔ$ U¨DÑ1Ô1ˆØ�{Š{˜7Ñ#Ô#ˆˆøÝð ð ð Øˆðøøøà€Ks   ¬?A, Á,
A9Á8A9c                 óZ   — t          | t          ¦  «        rt          j        d| ¦  «        n| S )a  
    Return *text* in a canonical Unicode form (NFC) so that names which are
    visually identical but encoded differently compare equal.

    macOS APFS/HFS+ store file names in decomposed form (NFD), while patterns
    in ``MANIFEST.in`` are typically authored composed (NFC). The two denote
    the same file but differ byte-for-byte, so matching them directly lets an
    exclusion silently fail. Normalizing both the walked path and the pattern
    to a single form before matching avoids that (GHSA-h35f-9h28-mq5c).
    ÚNFC)r
   r   r   r   )Útexts    r   r   r      s+   € õ 2<¸DÅ#Ñ1FÔ1FÐP�;Ô  ¨Ñ-Ô-Ð-ÈDÐPó    c                 ó¾   — t          | t          ¦  «        r| S t          j        ¦   «         pd}|df}|D ])}	 |                      |¦  «        c S # t
          $ r Y Œ&w xY wdS )z]
    Ensure that the given path is decoded,
    ``None`` when no expected encoding works
    r	   N)r
   r   ÚsysÚgetfilesystemencodingr   ÚUnicodeDecodeError)r   Úfs_encÚ
candidatesÚencs       r   Úfilesys_decoder   $   sŠ   € õ �$�ÑÔð ØˆåÔ&Ñ(Ô(Ð3¨G€FØ˜�€Jàð ð ˆð	Ø—;’;˜sÑ#Ô#Ð#Ð#Ð#øÝ!ð 	ð 	ð 	ØˆHð	øøøð ˆ4s   ¶AÁ
AÁAc                 óP   — 	 |                       |¦  «        S # t          $ r Y dS w xY w)z/turn unicode encoding into a functional routineN)r   ÚUnicodeEncodeError)Ústringr   s     r   Ú
try_encoder#   9   s;   € ðØ�}Š}˜SÑ!Ô!Ð!øÝð ð ð Øˆtˆtðøøøs   ‚ —
%¤%ÚfileÚreturnc                 ó^  — 	 t          | dd¬¦  «        5 }|                     ¦   «         cddd¦  «         S # 1 swxY w Y   dS # t          $ r` t                               | |¬¦  «         t          | d|¬¦  «        5 }|                     ¦   «         cddd¦  «         cY S # 1 swxY w Y   Y dS w xY w)a
  
    First try to read the file with UTF-8, if there is an error fallback to a
    different encoding ("locale" by default). Returns the content of the file.
    Also useful when reading files that might have been produced by an older version of
    setuptools.
    Úrr	   ©ÚencodingN©r$   Úfallback_encoding)ÚopenÚreadr   Ú_Utf8EncodingNeededÚemit)r$   r+   Úfs      r   Ú_read_utf8_with_fallbackr1   A   sN  € ðÝ�$˜ gÐ.Ñ.Ô.ð 	°!Ø—6’6‘8”8ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	øåð ð ð Ý× Ò  dÐ>OÐ ÑPÔPÐPÝ�$˜Ð&7Ð8Ñ8Ô8ð 	¸AØ—6’6‘8”8ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð 	ðøøøsP   ‚A ”5¨A µ9¹A ¼9½A Á8B,Á:BÂB,ÂB!	Â!B,Â$B!	Â%B,Â+B,Úcfgc                 óæ   — 	 |                       |d¬¦  «         dS # t          $ rK t                               ||¬¦  «         |                      ¦   «          |                       ||¬¦  «         Y dS w xY w)z“Same idea as :func:`_read_utf8_with_fallback`, but for the
    :meth:`RawConfigParser.read` method.

    This method may call ``cfg.clear()``.
    r	   r(   r*   N)r-   r   r.   r/   Úclear)r2   r$   r+   s      r   Ú_cfg_read_utf8_with_fallbackr5   Q   s…   € ð3Ø�Š� ˆÑ(Ô(Ð(Ð(Ð(øÝð 3ð 3ð 3Ý× Ò  dÐ>OÐ ÑPÔPÐPØ�	Š	‰ŒˆØ�Š�Ð 1ˆÑ2Ô2Ð2Ð2Ð2Ð2ð3øøøs   ‚ ›AA0Á/A0c                   ó   — e Zd ZdZdZdS )r.   zZ
    `encoding="utf-8"` fails with {file!r}, trying `encoding={fallback_encoding!r}`.
    aÚ  
    Fallback behavior for UTF-8 is considered **deprecated** and future versions of
    `setuptools` may not implement it.

    Please encode {file!r} with "utf-8" to ensure future builds will succeed.

    If this file was produced by `setuptools` itself, cleaning up the cached files
    and re-building/re-installing the package with a newer version of `setuptools`
    (e.g. by updating `build-system.requires` in its `pyproject.toml`)
    might solve the problem.
    N)Ú__name__Ú
__module__Ú__qualname__Ú_SUMMARYÚ_DETAILS© r   r   r.   r.   a   s   € € € € € ð€Hð
€H€H€Hr   r.   )r   r   Úconfigparserr   Úcompatr   Úwarningsr   r   r   r   r#   ÚLOCALE_ENCODINGr   r1   r5   r.   r<   r   r   ú<module>rA      s-  ðØ 
€
€
€
Ø Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (à Ð Ð Ð Ð Ð Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ð	ð 	ð 	ðQð Qð Qðð ð ð*ð ð ð ;?Ô:Nð ð  3ð ÐSVð ð ð ð ð" 8<Ô7Kð3ð 3Ø	ð3Ø #ð3à	ð3ð 3ð 3ð 3ð ð ð ð ð Ð6ñ ô ð ð ð r   