
    vKgG                    d   S SK J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  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJrJr  S SKJr  S SKJr  S SKJrJr  \(       a  S SKJr   O S SK!Jr   \"" S5        \" S5        S SKJ$r%  S r&Sr'Sr(Sr)\RT                  S:X  a  Sr(O \RV                  S:w  a   S SK,r,\-" \,S5      =r(r'S r.S r/ " S S\ 5      r\((       d  \RV                  S:X  a            S    S!S jjr0gSr)          S    S!S jjr0g! \# a	    S SKJr    Nf = f! \# a     Nnf = f)"    )annotationsN)IteratorEXTENSION_SUFFIXES)cache_from_source)Path)TYPE_CHECKING)Distribution)	BaseError)	ExtensionLibrary)log)new_compiler)customize_compilerget_config_var)	build_extzCython.Compiler.MainLDSHARED)_config_varsc                r   [         R                  S:X  ah  [        R                  " 5       n S[        S'   S[        S'   S[        S'   [	        U 5        [        R
                  " 5         [        R                  " U5        g [	        U 5        g ! [        R
                  " 5         [        R                  " U5        f = f)Ndarwinz0gcc -Wl,-x -dynamiclib -undefined dynamic_lookupr   z -dynamiclibCCSHAREDz.dylibSO)sysplatform_CONFIG_VARScopyr   clearupdate)compilertmps     \/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/setuptools/command/build_ext.py_customize_compiler_for_shlibr"   )   s    
||x !
	% C $ (6L$!)Lx( $8$  $s   &B	 	-B6Fsharedr   TntRTLD_NOWc                     [         (       a  U $ S$ )N )	have_rtld)ss    r!   if_dlr*   M   s    	1!r!    c                 F    [          H  n SU ;   a  U s  $ U S:X  d  M  U s  $    g)z;Return the file extension for an abi3-compliant Extension()z.abi3z.pydNr   )suffixs    r!   get_abi3_suffixr.   Q   s+    $fMvM	 %
 r+   c                      \ rS rSr% S\S'   SrSrS rSS jrSS jr	SS jr
SS	 jrS S
 jrS rSS jrS rS rSS jrS rS!S jrS"S jrS!S jrS#S jrS rS rS$SS jjrS$S%S jjrS&S jrSrg)'r   [   r
   distributionFc                    U R                   Ssol         [        R                  " U 5        Xl         U(       a  U R                  5         gg)z;Build extensions in build directory, then copy if --inplaceFN)inplace
_build_extruncopy_extensions_to_source)selfold_inplaces     r!   r5   build_ext.run`   s7    $(LL%!\t"**, r+   c                   U R                  UR                  5      nU R                  U5      nUR                  S5      nSR	                  US S 5      nUR                  U5      n[        R                  R	                  U[        R                  R                  U5      5      n[        R                  R	                  U R                  U5      n	X4$ )N.)
get_ext_fullnamenameget_ext_filenamesplitjoinget_package_dirospathbasename	build_lib)
r7   build_pyextfullnamefilenamemodpathpackagepackage_dirinplace_fileregular_files
             r!   _get_inplace_equivalent!build_ext._get_inplace_equivalenth   s    ((2((2..%((73B<(..w7ww||K1A1A(1KLww||DNNH=++r+   c                x   U R                  S5      nU R                   H  nU R                  X5      u  p4[        R                  R                  U5      (       d  UR                  (       d  U R                  XCU R                  S9  UR                  (       d  Mx  U R                  X#5      nU R                  XRSS9  M     g )NrG   )levelT)compile)get_finalized_command
extensionsrP   rC   rD   existsoptional	copy_fileverbose_needs_stub_get_equivalent_stub_write_stub_file)r7   rG   rH   rN   rO   inplace_stubs         r!   r6   #build_ext.copy_extensions_to_sourcer   s    --j9??C)-)E)Eh)T&L
 ww~~l++3<<|N#88K%%l%F #r+   c                    [         R                  R                  U5      nUR                  R	                  S5      u    pE[         R                  R                  X55       S3$ Nr;   .py)rC   rD   dirnamer>   
rpartitionrA   )r7   rH   output_filedir__r>   s         r!   r\   build_ext._get_equivalent_stub   sG    ww{+XX((-
1'',,t*+3//r+   c              #    #    U R                   (       d  g U R                  S5      nU R                  S5      R                  =(       d    SnU R                   Hg  nU R	                  X5      u  pEXT4v   UR
                  (       d  M.  U R                  X45      nU R                  X55      n[        XbS9n[        XrS9n	X4v   Mi     g 7f)NrG   install_libr'   )optimization)r3   rU   optimizerV   rP   r[   r\   _compiled_file_name)
r7   rG   optrH   rN   rO   r^   regular_stubinplace_cacheoutput_caches
             r!   _get_output_mappingbuild_ext._get_output_mapping   s     ||--j9((7@@FB??C)-)E)Eh)T&L..  $88K#88K 3L S2<R#33! #s   A>C>Cc                6   [         R                  " S5      nU(       a0  [         R                  R                  " UR	                  S5      6 U-   nOC[
        R                  " X5      n[        S5      n[        U[        5      (       d  [        S5      eUnXR                  ;   a  U R                  U   n[        5       nUR                  (       a  U(       a  US [        U5      *  U-   n[        U[        5      (       aA  [         R                  R!                  U5      u  puU R"                  R%                  U[&        5      $ [(        (       aU  UR*                  (       aD  [         R                  R	                  U5      u  p[         R                  R                  USU-   5      $ U$ )NSETUPTOOLS_EXT_SUFFIXr;   
EXT_SUFFIXzwConfiguration variable EXT_SUFFIX not found for this platform and environment variable SETUPTOOLS_EXT_SUFFIX is missingzdl-)rC   getenvrD   rA   r@   r4   r?   r   
isinstancestrOSErrorext_mapr.   py_limited_apilenr   splitextshlib_compilerlibrary_filenamelibtype	use_stubs_links_to_dynamic)	r7   rI   so_extrJ   
ext_suffixrH   abi3_suffixfnds	            r!   r?   build_ext.get_ext_filename   s2   23ww||X^^C%89FBH!224BH'5Jj#..R   F||#,,x(C)+K!!k#Ns6{l3kA#w''''**84**;;BHHs44h/ww||Aurz22r+   c                h    [         R                  " U 5        S U l        / U l        0 U l        SU l        g )NF)r4   initialize_optionsr   shlibsr{   editable_moder7   s    r!   r   build_ext.initialize_options   s.    %%d+""r+   c                6   [         R                  " U 5        U R                  =(       d    / U l        U R                  U R                  5        U R                   Vs/ sH  n[	        U[
        5      (       d  M  UPM     snU l        U R                  (       a  U R                  5         U R                   H#  nU R                  UR                  5      Ul
        M%     U R                   GH  nUR                  nXR                  U'   XR                  UR                  S5      S   '   U R                  =(       a    U R                  U5      =(       d    SnU=(       a"    [        =(       a    [	        U[
        5      (       + nX1l        XAl        U R#                  U5      =oQl        [&        R(                  R+                  [&        R(                  R-                  U R.                  U5      5      nU(       a*  XaR0                  ;  a  UR0                  R3                  U5        U(       d  GM;  [        (       d  GMI  [&        R4                  UR6                  ;  d  GMj  UR6                  R3                  [&        R4                  5        GM     U R8                  (       a  SU l        g g s  snf )Nr;   r<   FT)r4   finalize_optionsrV   check_extensions_listrx   r   r   setup_shlib_compilerr=   r>   
_full_namer{   r@   links_to_dynamicr   r   r[   r?   
_file_namerC   rD   rc   rA   rF   library_dirsappendcurdirruntime_library_dirsr   r3   )r7   rH   rI   ltdnsrJ   libdirs          r!   r   build_ext.finalize_options   s   ##D)///R""4??3&*ooRosC9QsoR;;%%'??C!22388<CN #??C~~H%(LL" 58LL,R01++<$"7"7"<ECCC:c7+C'CB$'! O(,(=(=h(GGH~WW__RWW\\$..(%KLFv%5%55  ''/syyRYYc6N6N%N((//		:# #& DL 1 Ss   J6Jc                   [        U R                  U R                  U R                  S9=ol        [        U5        U R                  b  UR                  U R                  5        U R                  b&  U R                   H  u  p#UR                  X#5        M     U R                  b$  U R                   H  nUR                  U5        M     U R                  b  UR                  U R                  5        U R                  b  UR                  U R                  5        U R                   b  UR#                  U R                   5        U R$                  b  UR'                  U R$                  5        [(        R+                  U5      Ul        g )N)r   dry_runforce)r   r   r   r   r   r"   include_dirsset_include_dirsdefinedefine_macroundefundefine_macro	librariesset_librariesr   set_library_dirsrpathset_runtime_library_dirslink_objectsset_link_objectslink_shared_object__get__)r7   r   r>   valuemacros        r!   r   build_ext.setup_shlib_compiler   s,   )5]]DLL

*
 	
& 	&h/(%%d&7&78;;"#{{%%d2  +::!''. $>>%""4>>2(%%d&7&78::!--djj9(%%d&7&78 '9&@&@&J#r+   c                p    [        U[        5      (       a  UR                  $ [        R                  " X5      $ N)rx   r   export_symbolsr4   get_export_symbols)r7   rH   s     r!   r   build_ext.get_export_symbols   s,    c7##%%%,,T77r+   c                R   UR                  5         U R                  n [        U[        5      (       a  U R                  U l        [
        R                  " X5        UR                  (       a,  U R                  S5      R                  nU R                  X15        X l        g ! X l        f = f)NrG   )_convert_pyx_sources_to_langr   rx   r   r   r4   build_extensionr[   rU   rF   
write_stub)r7   rH   	_compilerrF   s       r!   r   build_ext.build_extension  sx    ((*MM		&#w'' $ 3 3&&t1 66zBLL		/%MIMs   A9B B&c                "  ^^ [         R                  U R                   Vs/ sH  o"R                  PM     sn5      mSR	                  UR                  R                  S5      SS S/-   5      m[        UU4S jUR                   5       5      $ s  snf )z?Return true if 'ext' links to a dynamic lib in the same packager;   Nr<   r'   c              3  2   >#    U H  nTU-   T;   v   M     g 7fr    ).0libnamelibnamespkgs     r!   	<genexpr>-build_ext.links_to_dynamic.<locals>.<genexpr>  s     JM3=H,Ms   )dictfromkeysr   r   rA   r@   anyr   )r7   rH   libr   r   s      @@r!   r   build_ext.links_to_dynamic  sn    
 ==DKK!HKS..K!HIhhs~~++C0"5<=JCMMJJJ "Is   Bc                R    / [         R                  " U 5      QU R                  5       Q$ r   )r4   get_source_files_get_internal_dependsr   s    r!   r   build_ext.get_source_files  s&    R,,T2RT5O5O5QRRr+   c              #  6  #    [        U R                  R                  =(       d    [        R                  5      R                  5       nS U R                   5       nSS jnU H  n[        U5      nUR                  5       (       a  U" US5        M.  SUR                  ;   a  U" US5        MI   X-  R                  SS9n UR                  U5        UR                  5       v   M     g
! [         a    U" US5         M  f = f! [         a    U" US	5         M  f = f7f)zAYield ``ext.depends`` that are contained by the project directoryc              3  F   #    U H  oR                    H  o"v   M     M     g 7fr   )depends)r   rH   deps      r!   r   2build_ext._get_internal_depends.<locals>.<genexpr>  s     I/3[[c3[3/s   !c                4    [         R                  " SU U5        g )NzJdependency %s won't be automatically included in the manifest: the path %s)r   info)	orig_pathreasons     r!   skip-build_ext._get_internal_depends.<locals>.skip   s    HH8	r+   zmust be relativez..zcan't have `..` segmentsT)strictzdoesn't existzmust be inside the project rootN)r   ry   r   ry   returnNone)r   r1   src_rootrC   r   resolverV   is_absolutepartsrz   relative_to
ValueErroras_posix)r7   project_rootr   r   r   rD   resolveds          r!   r   build_ext._get_internal_depends  s    D--66C"))DLLNI$//I	 C9D!!S,-tzz!S45(/888E
$$\2
 --/!/   S/*  S;<sH   B(D+C%=C?D%C<8D;C<<D?DDDDc                    U R                   (       a'  [        U R                  5       R                  5       5      $ [	        [
        R                  " U 5      U R                  5       -   5      $ r   )r3   listget_output_mappingkeyssortedr4   get_outputs_build_ext__get_stubs_outputsr   s    r!   r   build_ext.get_outputsA  sJ    <<//166899j,,T2T5M5M5OOPPr+   c                J    U R                  5       n[        [        US S95      $ )z1See :class:`setuptools.commands.build.SubCommand`c                    U S   $ )Nr   r   )xs    r!   <lambda>.build_ext.get_output_mapping.<locals>.<lambda>I  s    !A$r+   )key)rr   r   r   )r7   mappings     r!   r   build_ext.get_output_mappingF  s"    **,F7788r+   c                   ^  U 4S jT R                    5       n[        R                  " UT R                  5       5      n[	        S U 5       5      $ )Nc              3     >#    U H\  nUR                   (       d  M  [        R                  R                  " TR                  /UR
                  R                  S 5      Q76 v   M^     g7f)r;   N)r[   rC   rD   rA   rF   r   r@   )r   rH   r7   s     r!   r   0build_ext.__get_stubs_outputs.<locals>.<genexpr>M  sG      
& EBGGLLD#..*>*>s*CD&s   A&AA&c              3  ,   #    U H  u  pX-   v   M     g 7fr   r   )r   basefnexts      r!   r   r   T  s     :E[TDLEs   )rV   	itertoolsproduct!_build_ext__get_output_extensionsr   )r7   ns_ext_basespairss   `  r!   __get_stubs_outputsbuild_ext.__get_stubs_outputsK  sD    

 !!,0L0L0NO:E:::r+   c              #  f   #    Sv   Sv   U R                  S5      R                  (       a  Sv   g g 7f)Nrb   z.pycrG   z.pyo)rU   rl   r   s    r!   __get_output_extensions!build_ext.__get_output_extensionsV  s-     %%j1::L ;s   /1c                    [         R                  R                  " U/UR                  R	                  S5      Q76 S-   nU R                  XBU5        g ra   )rC   rD   rA   r   r@   r]   )r7   
output_dirrH   rT   	stub_files        r!   r   build_ext.write_stub\  s=    GGLLHcnn.B.B3.GH5P	ig6r+   c                h   [         R                  " SUR                  U5        U(       a2  [        R                  R                  U5      (       a  [        US-   5      eU R                  (       d  [        USSS9 nSR                  SSS	[        S
5      -   S[        R                  R                  UR                  5      -  SSS[        S5      SSS[        S5      SSSSS[        S5      SSS/5      nUR                  U5        S S S 5        U(       a  U R                  U5        g g ! , (       d  f       N(= f)Nz writing stub loader for %s to %sz already exists! Please delete.wzutf-8)encoding
zdef __bootstrap__():z-   global __bootstrap__, __file__, __loader__z0   import sys, os, pkg_resources, importlib.utilz, dlz:   __file__ = pkg_resources.resource_filename(__name__,%r)z   del __bootstrap__z    if '__loader__' in globals():z       del __loader__z#   old_flags = sys.getdlopenflags()z   old_dir = os.getcwd()z   try:z(     os.chdir(os.path.dirname(__file__))z$     sys.setdlopenflags(dl.RTLD_NOW)z3     spec = importlib.util.spec_from_file_location(z#                __name__, __file__)z0     mod = importlib.util.module_from_spec(spec)z!     spec.loader.exec_module(mod)z   finally:z"     sys.setdlopenflags(old_flags)z     os.chdir(old_dir)z__bootstrap__()r'   )r   r   r   rC   rD   rW   r   r   openrA   r*   rE   r   write_compile_and_remove_stub)r7   r  rH   rT   fcontents         r!   r]   build_ext._write_stub_file`  s   3S^^YOrww~~i00I(IIJJ||iw71))*CFvV$&(gg&6&6s~~&FG*6+?@.>@AI9F7!>?,%-% 0  3 84 )))4 5 87s   8B	D##
D1c                <   SSK Jn  U" U/SSU R                  S9  U R                  S5      R                  nUS:  a  U" U/USU R                  S9  [
        R                  R                  U5      (       a)  U R                  (       d  [
        R                  " U5        g g g )Nr   )byte_compileT)rl   r   r   rj   )	distutils.utilr  r   rU   rl   rC   rD   rW   unlink)r7   r  r  rl   s       r!   r  "build_ext._compile_and_remove_stub  s    /i[1D$,,O--m<EEa<!	 77>>)$$T\\IIi  .:$r+   )r   r   r{   rV   r3   r   r   N)rH   r   r   ztuple[str, str])r   r   )rH   r   re   ry   r   ry   )r   zIterator[tuple[str, str]])rI   ry   r   ry   )r   z	list[str])r   zIterator[str])r   zdict[str, str])F)r  ry   rH   r   )r  ry   )__name__
__module____qualname____firstlineno____annotations__r   r3   r5   rP   r6   r\   rr   r?   r   r   r   r   r   r   r   r   r   r   r   r  r   r]   r  __static_attributes__r   r+   r!   r   r   [   s    MG-,G"0
426# >K68
&KS$"LQ
9
	;7 5D!r+   r   c                R    U R                  U R                  UUUUUUUUU	U
UU5        g r   )linkSHARED_LIBRARY)r7   objectsoutput_libnamer
  r   r   r   r   debugextra_preargsextra_postargs
build_temptarget_langs                r!   r   r     s=     			 	
r+   staticc                   Ub   e[         R                  R                  U5      u  p=[         R                  R                  U5      u  pU R	                  S5      R                  S5      (       a  USS  nU R                  XX8U5        g )Nr   r      )rC   rD   r@   r~   r   
startswithcreate_static_lib)r7   r%  r&  r
  r   r   r   r   r'  r(  r)  r*  r+  rJ   rE   _exts                   r!   r   r     sv    * !!!!ww}}^<
))(3  %0077  |Hw*[Qr+   )
NNNNNFNNNN)r'  boolr   r   )1
__future__r   r   rC   r   collections.abcr   importlib.machineryr   importlib.utilr   rm   pathlibr   typingr	   setuptools.distr
   setuptools.errorsr   setuptools.extensionr   r   	distutilsr   distutils.ccompilerr   distutils.sysconfigr   r   distutils.command.build_extr   r4   Cython.Distutils.build_ext
__import__ImportErrorr   r   r"   r(   r   r   r   r>   dlhasattrr*   r.   r   r   r+   r!   <module>rE     sv   "  	 
 $ 2 C    ( ' 3  , BCHF 	)*
 z  =%* 		
<<8IWW_ 'J 77	I
"t!
 t!n	 4 !
 
 

B G !R R 
Rs  HGHT  s$   (D 1D& D#"D#&D/.D/