§
    WŠtj“+  ã                  óR   — d Z ddlmZ ddlZddlZddlmZ  G d„ d¦  «        Zd„ ZdS )zmdistutils.extension

Provides the Extension class, used to describe C/C++ extension
modules in setup scripts.é    )ÚannotationsN)ÚIterablec                  ó>   — e Zd ZdZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddd„Zd„ ZdS )Ú	Extensiona­  Just a collection of attributes that describes an extension
    module and everything needed to build it (hopefully in a portable
    way, but there are hooks that let you be as unportable as you need).

    Instance attributes:
      name : string
        the full name of the extension, including any packages -- ie.
        *not* a filename or pathname, but Python dotted name
      sources : Iterable[string | os.PathLike]
        iterable of source filenames (except strings, which could be misinterpreted
        as a single filename), relative to the distribution root (where the setup
        script lives), in Unix form (slash-separated) for portability. Can be any
        non-string iterable (list, tuple, set, etc.) containing strings or
        PathLike objects. Source files may be C, C++, SWIG (.i), platform-specific
        resource files, or whatever else is recognized by the "build_ext" command
        as source for a Python extension.
      include_dirs : [string]
        list of directories to search for C/C++ header files (in Unix
        form for portability)
      define_macros : [(name : string, value : string|None)]
        list of macros to define; each macro is defined using a 2-tuple,
        where 'value' is either the string to define it to or None to
        define it without a particular value (equivalent of "#define
        FOO" in source or -DFOO on Unix C compiler command line)
      undef_macros : [string]
        list of macros to undefine explicitly
      library_dirs : [string]
        list of directories to search for C/C++ libraries at link time
      libraries : [string]
        list of library names (not filenames or paths) to link against
      runtime_library_dirs : [string]
        list of directories to search for C/C++ libraries at run time
        (for shared extensions, this is when the extension is loaded)
      extra_objects : [string]
        list of extra files to link with (eg. object files not implied
        by 'sources', static library that must be explicitly specified,
        binary resource files, etc.)
      extra_compile_args : [string]
        any extra platform- and compiler-specific information to use
        when compiling the source files in 'sources'.  For platforms and
        compilers where "command line" makes sense, this is typically a
        list of command-line arguments, but for other platforms it could
        be anything.
      extra_link_args : [string]
        any extra platform- and compiler-specific information to use
        when linking object files together to create the extension (or
        to create a new static Python interpreter).  Similar
        interpretation as for 'extra_compile_args'.
      export_symbols : [string]
        list of symbols to be exported from a shared extension.  Not
        used on all platforms, and not generally necessary for Python
        extensions, which typically export exactly one symbol: "init" +
        extension_name.
      swig_opts : [string]
        any extra options to pass to SWIG if a source file has the .i
        extension.
      depends : [string]
        list of files that the extension depends on
      language : string
        extension language (i.e. "c", "c++", "objc"). Will be detected
        from the source extensions if not provided.
      optional : boolean
        specifies that a build failure in the extension should not abort the
        build process, but simply not install the failing extension.
    NÚnameÚstrÚsourcesú Iterable[str | os.PathLike[str]]Úinclude_dirsúlist[str] | NoneÚdefine_macrosú#list[tuple[str, str | None]] | NoneÚundef_macrosÚlibrary_dirsÚ	librariesÚruntime_library_dirsÚextra_objectsÚextra_compile_argsÚextra_link_argsÚexport_symbolsÚ	swig_optsÚdependsÚlanguageú
str | NoneÚoptionalúbool | Nonec                óæ  — t          |t          ¦  «        st          d¦  «        ‚t          |t          ¦  «        rt          d¦  «        ‚	 t          t	          t
          j        |¦  «        ¦  «        | _        n# t          $ r t          d¦  «        ‚w xY w|| _        |pg | _	        |pg | _
        |pg | _        |pg | _        |pg | _        |pg | _        |	pg | _        |
pg | _        |pg | _        |pg | _        |pg | _        |pg | _        || _        || _        t/          |¦  «        dk    rId„ |D ¦   «         }d                     t3          |¦  «        ¦  «        }d|› �}t5          j        |¦  «         d S d S )Nz'name' must be a stringzJ'sources' must be an iterable of strings or PathLike objects, not a stringz<'sources' must be an iterable of strings or PathLike objectsr   c                ó,   — g | ]}t          |¦  «        ‘ŒS © )Úrepr)Ú.0Úoptions     ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/setuptools/_distutils/extension.pyú
<listcomp>z&Extension.__init__.<locals>.<listcomp>“   s   € Ð5Ð5Ð5¨•t˜F‘|”|Ð5Ð5Ð5ó    z, zUnknown Extension options: )Ú
isinstancer   Ú	TypeErrorÚlistÚmapÚosÚfspathr	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ÚlenÚjoinÚsortedÚwarningsÚwarn)Úselfr   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ÚkwÚoptionsÚmsgs                       r#   Ú__init__zExtension.__init__\   s²  € õ( ˜$¥Ñ$Ô$ð 	7ÝÐ5Ñ6Ô6Ð6õ �g�sÑ#Ô#ð 	ÝØ\ñô ð ð
	Ý¥¥B¤I¨wÑ 7Ô 7Ñ8Ô8ˆDŒLˆLøÝð 	ð 	ð 	ÝØNñô ð ð	øøøð
 ˆŒ	Ø(Ð.¨BˆÔØ*Ð0¨bˆÔØ(Ð.¨BˆÔØ(Ð.¨BˆÔØ"˜ bˆŒØ$8Ð$>¸BˆÔ!Ø*Ð0¨bˆÔØ"4Ð":¸ˆÔØ.Ð4°"ˆÔØ,Ð2°ˆÔØ"˜ bˆŒØ�} "ˆŒØ ˆŒØ ˆŒõ ˆr‰7Œ7�QŠ;ˆ;Ø5Ð5°"Ð5Ñ5Ô5ˆGØ—i’i¥ w¡¤Ñ0Ô0ˆGØ9°Ð9Ð9ˆCÝŒM˜#ÑÔÐÐÐð	 ˆ;s   Á
,A7 Á7Bc           
     ón   — d| j         j        › d| j         j        › d| j        ›dt	          | ¦  «        d›d�	S )Nú<ú.ú(z) at z#xú>)Ú	__class__Ú
__module__Ú__qualname__r   Úid)r1   s    r#   Ú__repr__zExtension.__repr__˜   sD   € Øm�4”>Ô,ÐmÐm¨t¬~Ô/JÐmÐmÈTÌYÐmÐmÕ_aÐbfÑ_gÔ_gÐmÐmÐmÐmÐmr%   )NNNNNNNNNNNNNN) r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Ú__name__r<   r=   Ú__doc__r5   r?   r   r%   r#   r   r      s{   € € € € € ð@ð @ðP *.Ø=AØ)-Ø)-Ø&*Ø15Ø*.Ø/3Ø,0Ø+/Ø&*Ø$(Ø#Ø $ð#:ð :ð :ð :ð :ðxnð nð nð nð nr%   r   c                óÀ  — ddl m}m}m} ddlm} ddlm}  || ¦  «        } || ddddd¬¦  «        }	 g }	 |                     ¦   «         }	|	€�nà| 	                    |	¦  «        rŒ/|	d         |	d         cxk    rd	k    rn n| 
                    d
|	› d�¦  «         Œe ||	|¦  «        }	 ||	¦  «        }
|
d         }t          |g ¦  «        }d}|
dd…         D �]@}|�|                     |¦  «         d}Œt          j                             |¦  «        d         }|dd…         }|dd…         }|dv r|j                             |¦  «         Œu|dk    r|j                             |¦  «         Œ–|dk    ri|                     d¦  «        }|dk    r|j                             |df¦  «         ŒÔ|j                             |d|…         ||dz   d…         f¦  «         �Œ|dk    r|j                             |¦  «         �Œ'|dk    r|j                             |¦  «         �ŒI|dk    r|j                             |¦  «         �Œk|dk    r|j                             |¦  «         �Œ�|dk    r|j                             |¦  «         �Œ¯|dk    r	|j        }�Œ¾|dk    r	|j        }�ŒÍ|dk    r	|j        }�ŒÜ|dk    r%|j                             |¦  «         |s|j        }�Œ|dv r|j                             |¦  «         �Œ'| 
                    d|› d
�¦  «         �ŒB|                     |¦  «         �Œø	 |                     ¦   «          n# |                     ¦   «          w xY w|S )z3Reads a Setup file and returns Extension instances.r   )Ú_variable_rxÚexpand_makefile_varsÚparse_makefile)ÚTextFile)Úsplit_quotedT)Ústrip_commentsÚskip_blanksÚ
join_linesÚ	lstrip_wsÚ	rstrip_wsNéÿÿÿÿÚ*ú'z' lines not handled yeté   é   )z.cz.ccz.cppz.cxxz.c++z.mz.mmz-Iz-Dú=z-Uz-Cz-lz-Lz-Rz-rpathz-Xlinkerz
-Xcompilerz-u)z.az.soz.slz.oz.dylibzunrecognized argument ')Údistutils.sysconfigrC   rD   rE   Údistutils.text_filerF   Údistutils.utilrG   ÚreadlineÚmatchr0   r   Úappendr*   ÚpathÚsplitextr	   r   Úfindr   r   r   r   r   r   r   r   Úclose)ÚfilenamerC   rD   rE   rF   rG   ÚvarsÚfileÚ
extensionsÚlineÚwordsÚmoduleÚextÚappend_next_wordÚwordÚsuffixÚswitchÚvalueÚequalss                      r#   Úread_setup_filerk   œ   s0  € àVÐVÐVÐVÐVÐVÐVÐVÐVÐVØ,Ð,Ð,Ð,Ð,Ð,Ø+Ð+Ð+Ð+Ð+Ð+ð ˆ>˜(Ñ#Ô#€Dð ˆ8ØØØØØØðñ ô €DðQØˆ
ðL	#Ø—=’=‘?”?ˆDØˆ|ÙØ×!Ò! $Ñ'Ô'ð Øà�AŒw˜$˜rœ(Ð)Ð)Ò)Ð) cÒ)Ð)Ð)Ð)Ð)Ø—	’	Ð;˜dÐ;Ð;Ð;Ñ<Ô<Ð<Øà'Ð'¨¨dÑ3Ô3ˆDØ �L Ñ&Ô&ˆEð ˜1”XˆFÝ˜F BÑ'Ô'ˆCØ#Ðà˜a˜b˜bœ	ð 2Añ 2A�Ø#Ð/Ø$×+Ò+¨DÑ1Ô1Ð1Ø'+Ð$Øåœ×)Ò)¨$Ñ/Ô/°Ô2�Ø˜a ˜cœ�Ø˜Q˜R˜Rœ�àÐOÐOÐOð ”K×&Ò& tÑ,Ô,Ð,Ð,Ø˜t’^�^ØÔ$×+Ò+¨EÑ2Ô2Ð2Ð2Ø˜t’^�^Ø"ŸZšZ¨™_œ_�FØ ’|�|ØÔ)×0Ò0°%¸°Ñ?Ô?Ð?Ð?àÔ)×0Ò0°%¸¸&¸´/À5ÈÐRSÉÈÈÔCVÐ1WÑXÔXÐXÑXØ˜t’^�^ØÔ$×+Ò+¨EÑ2Ô2Ð2Ñ2Ø˜t’^�^ØÔ*×1Ò1°$Ñ7Ô7Ð7Ñ7Ø˜t’^�^Ø”M×(Ò(¨Ñ/Ô/Ð/Ñ/Ø˜t’^�^ØÔ$×+Ò+¨EÑ2Ô2Ð2Ñ2Ø˜t’^�^ØÔ,×3Ò3°EÑ:Ô:Ð:Ñ:Ø˜XÒ%Ð%Ø'*Ô'?Ð$Ñ$Ø˜ZÒ'Ð'Ø'*Ô':Ð$Ñ$Ø˜\Ò)Ð)Ø'*Ô'=Ð$Ñ$Ø˜t’^�^ØÔ'×.Ò.¨tÑ4Ô4Ð4Ø ð ?Ø+.Ô+>Ð(ùØÐCÐCÐCð
 Ô%×,Ò,¨TÑ2Ô2Ð2Ñ2à—I’IÐ?¸Ð?Ð?Ð?Ñ@Ô@Ð@Ñ@à×Ò˜cÑ"Ô"Ð"ñYL	#ð ðV 	�
Š
‰Œˆˆøˆ�
Š
‰ŒˆˆøøøàÐs   ´K;M ÍM)	rA   Ú
__future__r   r*   r/   Úcollections.abcr   r   rk   r   r%   r#   ú<module>rn      sž   ððð ð
 #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø €€€Ø $Ð $Ð $Ð $Ð $Ð $ðBnð Bnð Bnð Bnð Bnñ Bnô Bnð BnðJfð fð fð fð fr%   