§
    WŠtjï+  ã                  óz  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
mZ d dlmZmZ ddlmZmZ erd dlmZ ddlmZ d d	lmZ d d
lmZ  G d„ ded¬¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%dS )é    )ÚannotationsN)ÚIterable)ÚTYPE_CHECKINGÚ	TypedDicté   )ÚmetadataÚ	resources)ÚSelf)ÚSetuptoolsWarning)Úfirst_line_re)Úget_platformc                  ó$   — e Zd ZU ded<   ded<   dS )Ú
_SplitArgsÚboolÚcommentsÚposixN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/setuptools/_scripts.pyr   r      s"   € € € € € € Ø€N€N�NØ€K€K�K€K€Kr   r   F)Útotalc                  óø   — e Zd ZU dZg Zded<    e¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
edd
„¦   «         Zed„ ¦   «         Zedd„¦   «         Zdd„Zed„ ¦   «         Zd„ Zed„ ¦   «         Zed„ ¦   «         ZdS )ÚCommandSpeczm
    A command spec for a #! header, specified as a list of arguments akin to
    those passed to Popen.
    z	list[str]Úoptionsc                ó   — | S )zV
        Choose the best CommandSpec class based on environmental conditions.
        r   ©Úclss    r   ÚbestzCommandSpec.best'   s	   € ð
 ˆ
r   c                ó”   — t           j                             t          j        ¦  «        }t           j                             d|¦  «        S )NÚ__PYVENV_LAUNCHER__)ÚosÚpathÚnormpathÚsysÚ
executableÚenvironÚget)r    Ú_defaults     r   Ú_sys_executablezCommandSpec._sys_executable.   s0   € å”7×#Ò#¥C¤NÑ3Ô3ˆÝŒz�~Š~Ð3°XÑ>Ô>Ð>r   Úparamú!Self | str | Iterable[str] | NoneÚreturnr
   c                ó$  — t          || ¦  «        r|S t          |t          ¦  «        r|                      |¦  «        S t          |t          ¦  «        r | |¦  «        S |€|                      ¦   «         S t          dt          |¦  «        › �¦  «        ‚)zg
        Construct a CommandSpec from a parameter to build_scripts, which may
        be None.
        Nz!Argument has an unsupported type )Ú
isinstanceÚstrÚfrom_stringr   Úfrom_environmentÚ	TypeErrorÚtype)r    r-   s     r   Ú
from_paramzCommandSpec.from_param3   s“   € õ �e˜SÑ!Ô!ð 	ØˆLÝ�e�SÑ!Ô!ð 	*Ø—?’? 5Ñ)Ô)Ð)Ý�e�XÑ&Ô&ð 	Ø�3�u‘:”:ÐØˆ=Ø×'Ò'Ñ)Ô)Ð)ÝÐI½DÀ¹K¼KÐIÐIÑJÔJÐJr   c                ó>   —  | |                       ¦   «         g¦  «        S ©N)r,   r   s    r   r4   zCommandSpec.from_environmentC   s!   € àˆs�C×'Ò'Ñ)Ô)Ð*Ñ+Ô+Ð+r   Ústringr2   c                óF   — t          j        |fi | j        ¤Ž} | |¦  «        S )z}
        Construct a command spec from a simple string representing a command
        line parseable by shlex.split.
        )ÚshlexÚsplitÚ
split_args)r    r:   Úitemss      r   r3   zCommandSpec.from_stringG   s+   € õ ”˜FÐ5Ð5 c¤nÐ5Ð5ˆØˆs�5‰zŒzÐr   Úscript_textc                óÂ   — t          j        |                      |¦  «        ¦  «        | _        t	          j        | ¦  «        }t          |¦  «        sdg| j        d d…<   d S d S )Nz-xr   )r<   r=   Ú_extract_optionsr   Ú
subprocessÚlist2cmdlineÚisascii)Úselfr@   Úcmdlines      r   Úinstall_optionszCommandSpec.install_optionsP   sc   € Ý”{ 4×#8Ò#8¸Ñ#EÔ#EÑFÔFˆŒÝÔ)¨$Ñ/Ô/ˆÝ�wÑÔð 	&Ø $˜vˆDŒL˜˜!˜ÑÐÐð	&ð 	&r   c                óÜ   — | dz                         ¦   «         d         }t          ¦   «                              |¦  «        }|r|                     d¦  «        pdnd}|                     ¦   «         S )zH
        Extract any options from the first line of the script.
        ú
r   r   Ú )Ú
splitlinesÚ_first_line_reÚmatchÚgroupÚstrip)Úorig_scriptÚfirstrN   r   s       r   rB   zCommandSpec._extract_optionsV   sb   € ð
 ˜tÑ#×/Ò/Ñ1Ô1°!Ô4ˆÝÑ Ô ×&Ò& uÑ-Ô-ˆØ*/Ð7�%—+’+˜a‘.”.Ð& Bø°RˆØ�}Š}‰ŒÐr   c                óV   — |                       | t          | j        ¦  «        z   ¦  «        S r9   )Ú_renderÚlistr   )rF   s    r   Ú	as_headerzCommandSpec.as_header`   s#   € Ø�|Š|˜D¥4¨¬Ñ#5Ô#5Ñ5Ñ6Ô6Ð6r   c                ó€   — d}|D ]8}|                       |¦  «        r!|                      |¦  «        r| dd…         c S Œ9| S )Nz"'r   éÿÿÿÿ)Ú
startswithÚendswith)ÚitemÚ_QUOTESÚqs      r   Ú_strip_quoteszCommandSpec._strip_quotesc   sW   € àˆØð 	"ð 	"ˆAØ�Š˜qÑ!Ô!ð " d§m¢m°AÑ&6Ô&6ð "Ø˜A˜b˜D”zÐ!Ð!Ð!øØˆr   c                óN   — t          j        d„ | D ¦   «         ¦  «        }d|z   dz   S )Nc              3  ón   K  — | ]0}t                                |                     ¦   «         ¦  «        V — Œ1d S r9   )r   r^   rP   )Ú.0r[   s     r   ú	<genexpr>z&CommandSpec._render.<locals>.<genexpr>m   sI   è è € ð *
ð *
Ø8<�K×%Ò% d§j¢j¡l¤lÑ3Ô3ð*
ð *
ð *
ð *
ð *
ð *
r   z#!rJ   )rC   rD   )r?   rG   s     r   rT   zCommandSpec._renderk   sA   € åÔ)ð *
ð *
Ø@Eð*
ñ *
ô *
ñ 
ô 
ˆð �g‰~ Ñ$Ð$r   N)r-   r.   r/   r
   )r:   r2   r/   r
   )r@   r2   )r   r   r   Ú__doc__r   r   r   r>   Úclassmethodr!   r,   r7   r4   r3   rH   ÚstaticmethodrB   rV   r^   rT   r   r   r   r   r      sE  € € € € € € ðð ð
 €GÐÐÐÑØ�‘”€Jàðð ñ „[ðð ð?ð ?ñ „[ð?ð ðKð Kð Kñ „[ðKð ð,ð ,ñ „[ð,ð ðð ð ñ „[ðð&ð &ð &ð &ð ðð ñ „\ðð7ð 7ð 7ð ðð ñ „\ðð ð%ð %ñ „\ð%ð %ð %r   r   c                  ó&   — e Zd Z ed¬¦  «        ZdS )ÚWindowsCommandSpecF)r   N)r   r   r   r   r>   r   r   r   rg   rg   s   s    € € € € € Ø� %Ð(Ñ(Ô(€J€J€Jr   rg   c                  óÒ   — e Zd ZdZ ej        d¦  «                             ¦   «         ZeZ	e
dd„¦   «         Zed„ ¦   «         Ze
d„ ¦   «         Ze
d„ ¦   «         Ze
	 	 ddd„¦   «         ZdS )ÚScriptWriterz`
    Encapsulates behavior around writing entry point scripts for console and
    gui apps.
    aJ  
        # EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r
        import re
        import sys

        # for compatibility with easy_install; see #2198
        __requires__ = %(spec)r

        try:
            from importlib.metadata import distribution
        except ImportError:
            try:
                from importlib_metadata import distribution
            except ImportError:
                from pkg_resources import load_entry_point


        def importlib_load_entry_point(spec, group, name):
            dist_name, _, _ = spec.partition('==')
            matches = (
                entry_point
                for entry_point in distribution(dist_name).entry_points
                if entry_point.group == group and entry_point.name == name
            )
            return next(matches).load()


        globals().setdefault('load_entry_point', importlib_load_entry_point)


        if __name__ == '__main__':
            sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
            sys.exit(load_entry_point(%(spec)r, %(group)r, %(name)r)())
        Nc              #  óð  K  — t          |d¦  «        s8t          j        d¦  «         t          j                             |j        ¦  «        }|€|                      ¦   «         }|j        › d|j	        › �}dD ]�}|› d�}|j
                             |¬¦  «        D ]^}|j        }|                      |j        ¦  «         | j        t          ¦   «         z  }|                      ||j        ||¦  «        }	|	E d{V —† Œ_Œ‚dS )z�
        Yield write_script() argument tuples for a distribution's
        console_scripts and gui_scripts entry points.
        Úentry_pointsz%Unsupported distribution encountered.Nz==©ÚconsoleÚguiÚ_scripts)rO   )Úhasattrr   Úemitr   ÚDistributionÚatÚegg_infoÚ
get_headerÚnameÚversionrk   ÚselectÚ_ensure_safe_nameÚtemplateÚlocalsÚ_get_script_args)
r    ÚdistÚheaderÚspecÚtype_rO   Úeprv   r@   Úargss
             r   Úget_argszScriptWriter.get_args¤   s  è è € õ �t˜^Ñ,Ô,ð 	;ÝÔ"Ð#JÑKÔKÐKÝÔ(×+Ò+¨D¬MÑ:Ô:ˆDàˆ>Ø—^’^Ñ%Ô%ˆFØ”)Ð-Ð-˜tœ|Ð-Ð-ˆØ%ð 	 ð 	 ˆEØÐ&Ð&Ð&ˆEØÔ'×.Ò.°UÐ.Ñ;Ô;ð  ð  �Ø”w�Ø×%Ò% b¤gÑ.Ô.Ð.Ø!œl­V©X¬XÑ5�Ø×+Ò+¨E°2´7¸FÀKÑPÔP�Ø��������ð ð	 ð 	 r   c                óR   — t          j        d| ¦  «        }|rt          d¦  «        ‚dS )z?
        Prevent paths in *_scripts entry point names.
        z[\\/]z+Path separators not allowed in script namesN)ÚreÚsearchÚ
ValueError)rv   Úhas_path_seps     r   ry   zScriptWriter._ensure_safe_name½   s9   € õ
 ”y ¨4Ñ0Ô0ˆØð 	LÝÐJÑKÔKÐKð	Lð 	Lr   c                ó˜   — t           j        dk    s t          j        dk    r)t          j        dk    rt
                               ¦   «         S | S )zD
        Select the best ScriptWriter for this environment.
        Úwin32ÚjavaÚnt)r'   Úplatformr$   rv   Ú_nameÚWindowsScriptWriterr!   r   s    r   r!   zScriptWriter.bestÆ   s@   € õ
 Œ<˜7Ò"Ð"¥r¤w°&Ò'8Ð'8½R¼XÈÒ=MÐ=MÝ&×+Ò+Ñ-Ô-Ð-àˆJr   c              #  ó   K  — |||z   fV — d S r9   r   )r    r€   rv   r~   r@   s        r   r|   zScriptWriter._get_script_argsÐ   s$   è è € ð �V˜kÑ)Ð*Ð*Ð*Ð*Ð*Ð*r   rK   r@   r2   r(   ú(str | CommandSpec | Iterable[str] | Noner/   c                ó¬   — | j                              ¦   «                              |¦  «        }|                     |¦  «         |                     ¦   «         S )z;Create a #! line, getting options (if any) from script_text)Úcommand_spec_classr!   r7   rH   rV   )r    r@   r(   Úcmds       r   ru   zScriptWriter.get_headerÕ   sH   € ð Ô$×)Ò)Ñ+Ô+×6Ò6°zÑBÔBˆØ×Ò˜KÑ(Ô(Ð(Ø�}Š}‰ŒÐr   r9   )rK   N)r@   r2   r(   r‘   r/   r2   )r   r   r   rc   ÚtextwrapÚdedentÚlstriprz   r   r“   rd   rƒ   re   ry   r!   r|   ru   r   r   r   ri   ri   w   sð   € € € € € ðð ð
 ˆxŒð!	ñ#ô #÷F ‚f�h„hðG ðJ %Ðàð ð  ð  ñ „[ð ð0 ðLð Lñ „\ðLð ðð ñ „[ðð ð+ð +ñ „[ð+ð ð Ø?Cðð ð ð ñ „[ðð ð r   ri   c                  ój   — e Zd ZeZed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Ze	d„ ¦   «         Z
dS )r�   c                ó~   — t          t          | ¬¦  «        }t          j                             dd¦  «        }||         S )zC
        Select the best ScriptWriter suitable for Windows
        )r(   ÚnaturalÚSETUPTOOLS_LAUNCHERr(   )ÚdictÚWindowsExecutableLauncherWriterr$   r)   r*   )r    Úwriter_lookupÚlaunchers      r   r!   zWindowsScriptWriter.bestä   sA   € õ
 Ý6Øð
ñ 
ô 
ˆõ
 ”:—>’>Ð"7¸ÑFÔFˆØ˜XÔ&Ð&r   c              #  óœ  ‡K  — t          dd¬¦  «        |         }|t          j        d                              ¦   «                              d¦  «        vr- dj        di t          ¦   «         ¤Ž}t          j        |¦  «         g d¢}| 	                    |¦  «         |  
                    ||¦  «        }ˆfd„|D ¦   «         }‰|z   ||z   d	|fV — d
S )z For Windows, add a .py extensionú.pyaú.pywrl   ÚPATHEXTú;zK{ext} not listed in PATHEXT; scripts will not be recognized as executables.)r¡   ú.pyú
-script.pyú.pycú.pyor¢   ú.exec                ó   •— g | ]}‰|z   ‘ŒS r   r   ©ra   Úxrv   s     €r   ú
<listcomp>z8WindowsScriptWriter._get_script_args.<locals>.<listcomp>þ   ó   ø€ Ð*Ð*Ð* �D˜1‘HÐ*Ð*Ð*r   ÚtNr   )rœ   r$   r)   Úlowerr=   Úformatr{   r   rq   ÚremoveÚ_adjust_header)	r    r€   rv   r~   r@   ÚextÚmsgÚoldÚblockerss	     `      r   r|   z$WindowsScriptWriter._get_script_argsñ   s÷   øè è € õ ˜6 vÐ.Ñ.Ô.¨uÔ5ˆØ•b”j Ô+×1Ò1Ñ3Ô3×9Ò9¸#Ñ>Ô>Ð>Ð>ðð-äð!ð !õ ‘x”xð!ð !ˆCõ Ô" 3Ñ'Ô'Ð'ØKÐKÐKˆØ�
Š
�3‰ŒˆØ×#Ò# E¨6Ñ2Ô2ˆØ*Ð*Ð*Ð* cÐ*Ñ*Ô*ˆØ�S‰j˜& ;Ñ.°°XÐ=Ð=Ð=Ð=Ð=Ð=r   c                óà   — d}d}|dk    r||}}t          j        t          j        |¦  «        t           j        ¦  «        }|                     ||¬¦  «        }|                      |¦  «        r|n|S )z†
        Make sure 'pythonw' is used for gui and 'python' is used for
        console (regardless of what sys.executable is).
        zpythonw.exez
python.exern   )r:   Úrepl)r…   ÚcompileÚescapeÚ
IGNORECASEÚsubÚ_use_header)r    r€   Úorig_headerÚpatternr¹   Ú
pattern_obÚ
new_headers          r   r³   z"WindowsScriptWriter._adjust_header  sm   € ð  ˆØˆØ�EŠ>ˆ>Ø  '�TˆGÝ”Z¥¤	¨'Ñ 2Ô 2µB´MÑBÔBˆ
Ø—^’^¨;¸T�^ÑBÔBˆ
Ø Ÿ_š_¨ZÑ8Ô8ÐIˆzˆz¸kÐIr   c                ó„   — | dd…                               d¦  «        }t          j        dk    pt          j        |¦  «        S )zÝ
        Should _adjust_header use the replaced header?

        On non-windows systems, always use. On
        Windows systems, only use the replaced header if it resolves
        to an executable on the system.
        é   rX   ú"rŠ   )rP   r'   r�   ÚshutilÚwhich)rÂ   Úclean_headers     r   r¾   zWindowsScriptWriter._use_header  s<   € ð " ! B $Ô'×-Ò-¨cÑ2Ô2ˆÝŒ|˜wÒ&ÐD­&¬,°|Ñ*DÔ*DÐDr   N)r   r   r   rg   r“   rd   r!   r|   r³   re   r¾   r   r   r   r�   r�   á   sŒ   € € € € € Ø+Ðàð
'ð 
'ñ „[ð
'ð ð>ð >ñ „[ð>ð ðJð Jñ „[ðJð ð	Eð 	Eñ „\ð	Eð 	Eð 	Er   r�   c                  ó$   — e Zd Zed„ ¦   «         ZdS )r�   c              #  ó  ‡K  — |dk    rd}d}dg}nd}d}g d¢}|                       ||¦  «        }ˆfd„|D ¦   «         }	‰|z   ||z   d|	fV — ‰d	z   t          |¦  «        d
fV — t          ¦   «         s‰dz   }
|
t          ‰¦  «        dfV — dS dS )zG
        For Windows, add a .py extension and an .exe launcher
        rn   z-script.pywr¢   Úclir¦   )r¥   r§   r¨   c                ó   •— g | ]}‰|z   ‘ŒS r   r   r«   s     €r   r­   zDWindowsExecutableLauncherWriter._get_script_args.<locals>.<listcomp>+  r®   r   r¯   r©   Úbz.exe.manifestN)r³   Úget_win_launcherÚis_64bitÚload_launcher_manifest)r    r€   rv   r~   r@   Úlauncher_typer´   r¶   Úhdrr·   Úm_names     `        r   r|   z0WindowsExecutableLauncherWriter._get_script_args  sõ   øè è € ð
 �EŠ>ˆ>Ø!ˆMØˆCØ�(ˆCˆCà!ˆMØˆCØ)Ð)Ð)ˆCØ× Ò  ¨Ñ/Ô/ˆØ*Ð*Ð*Ð* cÐ*Ñ*Ô*ˆØ�c‰z˜3 Ñ,¨c°8Ð<Ð<Ð<Ð<à�6‰MÝ˜]Ñ+Ô+Øð
ð 	
ð 	
ð 	
õ
 ‰zŒzð 	>ð ˜OÑ+ˆFØÕ1°$Ñ7Ô7¸Ð=Ð=Ð=Ð=Ð=Ð=ð	>ð 	>r   N)r   r   r   rd   r|   r   r   r   r�   r�     s-   € € € € € Øð>ð >ñ „[ð>ð >ð >r   r�   c                óF  — | › d�}t          ¦   «         r@t          ¦   «         dk    r|                     dd¦  «        }n-|                     dd¦  «        }n|                     dd¦  «        }t          j        d¦  «                             |¦  «                             ¦   «         S )z«
    Load the Windows launcher (executable) suitable for launching a script.

    `type` should be either 'cli' or 'gui'

    Returns the executable as a byte string.
    r©   z	win-arm64ú.z-arm64.z-64.z-32.Ú
setuptools)rÏ   r   Úreplacer	   ÚfilesÚjoinpathÚ
read_bytes)r6   Úlauncher_fns     r   rÎ   rÎ   <  s—   € ð �-�-�-€KÝ�z„zð 7Ý‰>Œ>˜[Ò(Ð(Ø%×-Ò-¨c°9Ñ=Ô=ˆKˆKà%×-Ò-¨c°6Ñ:Ô:ˆKˆKà!×)Ò)¨#¨vÑ6Ô6ˆÝŒ?˜<Ñ(Ô(×1Ò1°+Ñ>Ô>×IÒIÑKÔKÐKr   c                ó¤   — t          j        t          ¦  «                             d¦  «        }|                     d¬¦  «        t          ¦   «         z  S )Nzlauncher manifest.xmlzutf-8)Úencoding)r	   rØ   r   rÙ   Ú	read_textÚvars)rv   Úress     r   rÐ   rÐ   O  s=   € Ý
Œ/�(Ñ
#Ô
#×
,Ò
,Ð-DÑ
EÔ
E€CØ�=Š= 'ˆ=Ñ*Ô*­T©V¬VÑ3Ð3r   c                 ó®   — t          t          j        t          ¦  «        rt          S t	          j        t          j                             ¦   «         ¦  «        S )z_
    Return a regular expression based on first_line_re suitable for matching
    strings.
    )r1   r   rÀ   r2   r…   rº   Údecoder   r   r   rM   rM   T  s@   € õ
 •-Ô'­Ñ-Ô-ð ÝÐõ Œ:•mÔ+×2Ò2Ñ4Ô4Ñ5Ô5Ð5r   c                 ó2   — t          j        d¦  «        dk    S )NÚPé   )ÚstructÚcalcsizer   r   r   rÏ   rÏ   `  s   € ÝŒ?˜3ÑÔ 1Ò$Ð$r   c                óV   — 	 |                       d¦  «         n# t          $ r Y dS w xY wdS )NÚasciiFT)ÚencodeÚUnicodeError)Úss    r   rE   rE   d  sC   € ðØ	�Š�ÑÔÐÐøÝð ð ð Øˆuˆuðøøøàˆ4s   ‚ ˜
&¥&)&Ú
__future__r   r$   r…   r<   rÆ   ræ   rC   r'   r•   Úcollections.abcr   Útypingr   r   Ú
_importlibr   r	   Útyping_extensionsr
   Úwarningsr   Údistutils.command.build_scriptsr   Údistutils.utilr   r   rU   r   rg   ri   r�   r�   rÎ   rÐ   rM   rÏ   rE   r   r   r   ú<module>rõ      sj  ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø €€€Ø $Ð $Ð $Ð $Ð $Ð $Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à +Ð +Ð +Ð +Ð +Ð +Ð +Ð +àð 'Ø&Ð&Ð&Ð&Ð&Ð&à 'Ð 'Ð 'Ð 'Ð 'Ð 'à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð � %ð ñ ô ð ð
R%ð R%ð R%ð R%ð R%�$ñ R%ô R%ð R%ðj)ð )ð )ð )ð )˜ñ )ô )ð )ðgð gð gð gð gñ gô gð gðT8Eð 8Eð 8Eð 8Eð 8E˜,ñ 8Eô 8Eð 8Eðv>ð >ð >ð >ð >Ð&9ñ >ô >ð >ð@Lð Lð Lð&4ð 4ð 4ð
	6ð 	6ð 	6ð%ð %ð %ðð ð ð ð r   