ó
    „ñ:iý  ã                   ó,  • S SK r S SKJr  S SKJr  S SKrS SKrS SKrS SK	r	S SK
r
S SKJr  S SKJr  S SKJr  \ R"                  R$                  R&                  r\ R"                  R$                  R(                  r\ R"                  R*                  R,                  r\ R"                  R.                  rSSS	.rS
 r\R4                  " \S 5      r\R4                  " \S5      r\S 5       r\R<                  " SS9S 5       r " S S\ 5      r! " S S\ 5      r"S r#S r$g)é    N)Ú	build_ext)ÚDistribution)Úmkdtemp)Úcontextmanager)ÚPath)z.dllz.pyd)ú.sor   )ÚwinÚdefaultc                 ód   • [         R                  [        R                  S S [         S   5      U    $ )Né   r
   )Ú_configsÚgetÚsysÚplatform©Úargs    ÚV/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/pycc/platform.pyÚget_configsr      s(   € Ü�<‰<œŸ™ R aÐ(¬(°9Ñ*=Ó>¸sÑCÐCó    é   c              #   óž  #   •  [        5       n[        [        R                  R	                  USU -  5      S5      nUv •   UR                  5         [        R                  " U5        [        R                  " U5        g !    g = f!  WR                  5         [        R                  " U5        [        R                  " W5        f !    f = f= f7f)Nztemp%sÚwt)r   ÚopenÚosÚpathÚjoinÚcloseÚremoveÚrmdir)ÚsuffixÚtmpdirÚntfs      r   Ú_gentmpfiler#   #   s—   é € ðÜ“ˆÜ”2—7‘7—<‘< ¨°6Ñ(9Ó:¸DÓAˆØŠ	ð	Ø�I‰IŒKÜ�IŠI�cŒNô �HŠH�VÕøð	Ùûð		Ø�I‰IŒKÜ�IŠI�cŒNô �HŠH�VÕøð	ÙÿsF   ‚C„;B Á &A= Á&CÁ=BÁ?CÂC
Â&CÂ,C
ÃCÃC
Ã
C)Úmaxsizec                  ó†  • [        5       n [        U 5        S Hƒ  n [        U5       nSnUR                  U5        UR	                  5         UR                  5         U R                  UR                  /[        UR                  5      R                  S9  SSS5        M…     g! , (       d  f       M—  = f! [         a       gf = f)zj
Returns True if the "external compiler" bound in numpy.distutil is present
and working, False otherwise.
)z.cz.cxxzint main(void) { return 0; })Ú
output_dirNFT)Únew_compilerÚcustomize_compilerr#   ÚwriteÚflushr   ÚcompileÚnamer   ÚanchorÚ	Exception)Úcompilerr    r"   Úsimple_cs       r   Úexternal_compiler_worksr1   5   s¡   € ô ‹~€HÜ�xÔ Û ˆð
	Ü˜VÔ$¨Ø9�Ø—	‘	˜(Ô#Ø—	‘	”Ø—	‘	”ð × Ñ  #§(¡( ¼¸S¿X¹X»×8MÑ8MÐ ÑN÷ %Ñ$ñ !ð ÷ %Ö$ûô ó 	Úð	ús/   œB2§A,B ÂB2Â 
B/	Â*B2Â/B2Â2
C Â?C c                   ó   • \ rS rSr/ rSrg)Ú_DummyExtensionéL   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	librariesÚ__static_attributes__r5   r   r   r3   r3   L   s   † ØƒIr   r3   c                   óŠ   • \ rS rSrS r\S 5       r\R                  S 5       rS r  SS jr	   SS jr
S	 rS
 rS rS rSrg)Ú	ToolchainéP   c                 óä  • [        5       (       d  U R                  5         SU l        [        5       U l        [        U R                  5        [        [        5       5      U l        U R                  R                  5         U R                  R                  U l        U R                  R                  U l        S[        R                  " 5       /0n[         R"                  S:X  a  / US'   OS/US'   Xl        g )NFÚinclude_dirsÚwin32r:   Úm)r1   Ú_raise_external_compiler_errorÚ_verboser'   Ú	_compilerr(   r   r   Ú
_build_extÚfinalize_optionsÚlibrary_dirsÚ_py_lib_dirsr@   Ú_py_include_dirsÚnpÚget_includer   r   Ú
_math_info)ÚselfÚnp_compile_argss     r   Ú__init__ÚToolchain.__init__R   s°   € Ü&×(Ñ(Ø×/Ñ/Ô1àˆŒÜ%›ˆŒÜ˜4Ÿ>™>Ô*Ü#¤L£NÓ3ˆŒØ�‰×(Ñ(Ô*Ø ŸO™O×8Ñ8ˆÔØ $§¡× <Ñ <ˆÔØ)¬B¯NªNÓ,<Ð+>Ð@ˆÜ�<‰<˜7Ó"Ø+-ˆO˜KÒ(à,/¨6ˆO˜KÑ(Ø)�r   c                 ó   • U R                   $ ©N)rD   ©rN   s    r   ÚverboseÚToolchain.verbosed   s   € à�}‰}Ðr   c                 óŽ   • Xl         [        R                  U(       a  [        R                  5        g [        R                  5        g rS   )rD   ÚlogÚset_thresholdÚINFOÚWARN)rN   Úvalues     r   rU   rV   h   s&   € àŒô 	×Ñ¦eœ#Ÿ(™(Õ:´·±Õ:r   c                 ó˜  • SnSn[         R                  nUR                  S5      (       a9  [         R                  S::  a  SS/nOSS/nU< S	US	R	                  U5      -  < 3nO]UR                  S
5      (       a   SS/nU< S	US	R	                  U5      -  < 3nO'UR                  S5      (       a  SnU< S	U< 3nOSU-  n[        U5      e)NzYAttempted to compile AOT function without the compiler used by `numpy.distutils` present.z(If using conda try:

#> conda install %sÚlinuxl        zgcc_linux-32zgxx_linux-32zgcc_linux-64zgxx_linux-64Ú Údarwinzclang_osx-64zclangxx_osx-64rA   zCannot find suitable msvc.zUnknown platform %s)r   r   Ú
startswithr$   r   ÚRuntimeError)rN   ÚbasemsgÚ	conda_msgÚpltÚ	compilersÚmsgÚwinmsgs          r   rC   Ú(Toolchain._raise_external_compiler_erroro   sÄ   € ðAˆà@ˆ	Ü�l‰lˆØ�>‰>˜'×"Ñ"Ü�{‰{˜gÓ%Ø+¨^Ð<‘	à+¨^Ð<�	Û$ i°#·(±(¸9Ó2EÓ&EÐF‰CØ�^‰^˜H×%Ñ%Ø'Ð)9Ð:ˆIÛ$ i°#·(±(¸9Ó2EÓ&EÐF‰CØ�^‰^˜G×$Ñ$Ø1ˆFÛ$¢fÐ-‰Cà'¨#Ñ-ˆCÜ˜3ÓÐr   Nc           	      óT   • U R                   R                  UUUUU=(       d    / US9nU$ )aŽ  
Compile the given source files into a separate object file each,
all beneath the *output_dir*.  A list of paths to object files
is returned.

*macros* has the same format as in distutils: a list of 1- or 2-tuples.
If a 1-tuple (name,), the given name is considered undefined by
the C preprocessor.
If a 2-tuple (name, value), the given name is expanded into the
given value by the C preprocessor.
)r&   r@   ÚdependsÚmacrosÚextra_preargs)rE   r+   )rN   Úsourcesr&   r@   rk   rl   Úextra_cflagsÚobjectss           r   Úcompile_objectsÚToolchain.compile_objects„   s:   € ð —.‘.×(Ñ(¨Ø4>Ø6BØ18Ø06·¸"Ø7Cð )ð Eˆð ˆr   c                 óž   • [         R                  R                  U5      u  pxU R                  R	                  [
        R                  UX‡X4UUS9  g)z]
Create a shared library *output* linking the given *objects*
and *libraries* (all strings).
)Úexport_symbolsrm   N)r   r   ÚsplitrE   ÚlinkÚ	CCompilerÚSHARED_OBJECT)	rN   Úoutputrp   r:   rH   rt   Úextra_ldflagsr&   Úoutput_filenames	            r   Úlink_sharedÚToolchain.link_sharedš   sF   € ô ')§g¡g§m¡m°FÓ&;Ñ#ˆ
Ø�‰×ÑœI×3Ñ3°WØ+Ø%Ø+9Ø*7ð	 	ò 	9r   c                 óž   • U R                   R                  [        5       5      n[        R                  S:X  a  US/-   nXR
                  S   -   $ )z:
Get the library arguments necessary to link with Python.
rA   Úmsvcrtr:   )rF   Úget_librariesr3   r   r   rM   )rN   Úlibss     r   Úget_python_librariesÚToolchain.get_python_libraries¨   sG   € ð �‰×,Ñ,¬_Ó->Ó?ˆÜ�<‰<˜7Ó"ð ˜8˜*Ñ$ˆDØ—o‘o kÑ2Ñ2Ð2r   c                 ó,   • [        U R                  5      $ )z<
Get the library directories necessary to link with Python.
)ÚlistrI   rT   s    r   Úget_python_library_dirsÚ!Toolchain.get_python_library_dirs´   s   € ô �D×%Ñ%Ó&Ð&r   c                 óL   • [        U R                  5      U R                  S   -   $ )zW
Get the include directories necessary to compile against the Python
and Numpy C APIs.
r@   )r…   rJ   rM   rT   s    r   Úget_python_include_dirsÚ!Toolchain.get_python_include_dirsº   s#   € ô
 �D×)Ñ)Ó*¨T¯_©_¸^Ñ-LÑLÐLr   c                 ó8   • U R                   R                  U5      $ )zB
Given a C extension's module name, return its intended filename.
)rF   Úget_ext_filename)rN   Úext_names     r   rŒ   ÚToolchain.get_ext_filenameÁ   s   € ð �‰×/Ñ/°Ó9Ð9r   )rF   rE   rM   rJ   rI   rD   )r5   r5   r5   N)r6   r7   r8   r9   rP   ÚpropertyrU   ÚsetterrC   rq   r|   r‚   r†   r‰   rŒ   r;   r5   r   r   r=   r=   P   sj   † ò*ð$ ñó ðð ‡^�^ñ;ó ð;ò ð, =?Ø%)ôð, 68Ø46Ø"&ô9ò
3ò'òMõ:r   r=   c                 ó(   • SU ;  a  SU ;   a  SU -  $ U $ )z:
Quote the argument for safe use in a shell command line.
Ú"r_   z"%s"r5   r   s    r   Ú
_quote_argr“   È   s    € ð �#ƒ~˜# ›*Ø˜‰|ÐØ€Jr   c                 ót   • [        U [        [        45      (       a  g [        U 5        g! [         a     gf = f)NFT)Ú
isinstanceÚstrÚbytesÚlenr.   r   s    r   Ú_is_sequencer™   Ó   s7   € Ü�#œœU�|×$Ñ$ØðÜˆCŒØøÜó Ùðús   ž* ª
7¶7)%Ú
setuptoolsÚsetuptools.command.build_extr   Úsetuptools.distr   ÚnumpyrK   Ú	functoolsr   Ú
subprocessr   Útempfiler   Ú
contextlibr   Úpathlibr   Ú	distutilsÚ	ccompilerrw   r'   Ú	sysconfigr(   rX   r   r   ÚpartialÚfind_shared_endingÚfind_pyext_endingr#   Ú	lru_cacher1   Úobjectr3   r=   r“   r™   r5   r   r   Ú<module>r«      s  ðÛ Ý 2Ý (Û ã Û 	Û Û 
Ý Ý %Ý ð ×!Ñ!×+Ñ+×5Ñ5€	Ø×$Ñ$×.Ñ.×;Ñ;€Ø×)Ñ)×3Ñ3×FÑFÐ Ø×Ñ×Ñ€ð
 Øñ€òDð ×&Ò& {°AÓ6Ð Ø×%Ò% k°1Ó5Ð àñó ðð" ×Ò˜QÑñó  ðô,�fô ôu:�ô u:òpór   