+
    hG                    F   ^ RI Ht ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHtHt ^ RIHt ^ RIHt ^ RIHtHt ]'       d   ^ RIHt  M ^ RI!Ht  ]"! R4       ]! R4       ^ RIH$t% R t&Rt'Rt(Rt)]PT                  R8X  d   Rt(M!]PV                  R8w  d    ^ RI,t,]-! ],R4      ;t(t'R t.R t/ ! R R] 4      t]('       g   ]PV                  R8X  d   R"R R llt0R# Rt)R"R  R! llt0R#   ]# d
    ^ RIHt   Li ; i  ]# d     L\i ; i)#    )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                x   \         P                  R 8X  dj   \        P                  ! 4       p R\        R&   R\        R&   R\        R&   \	        V 4       \        P
                  ! 4        \        P                  ! V4       R# \	        V 4       R#   \        P
                  ! 4        \        P                  ! T4       i ; i)darwinz0gcc -Wl,-x -dynamiclib -undefined dynamic_lookupr   z -dynamiclibCCSHAREDz.dylibSON)sysplatform_CONFIG_VARScopyr   clearupdate)compilertmps   & >/usr/lib/python3/dist-packages/setuptools/command/build_ext.py_customize_compiler_for_shlibr"   )   s    
||x !
	% C $ (6L$!)Lx( $8$  $s   &B -B9Fsharedr   TntRTLD_NOWc                "    \         '       d   V # R # ) )	have_rtld)ss   &r!   if_dlr*   M   s    	1!r!    c                 L    \          F  p RV 9   d   V u # V R8X  g   K  V u # 	  R# )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                     ] tR t^[t$ R]R&   RtRtR tR R ltR R lt	R	 R
 lt
R R ltR R ltR tR R ltR tR tR R ltR tR R ltR R ltR R ltR R ltR tR  tR)R! R" lltR)R# R$ lltR% R& ltR'tR(# )*r   r
   distributionFc                    V P                   Ruqn         \        P                  ! V 4       Wn         V'       d   V P                  4        R# R# )z;Build extensions in build directory, then copy if --inplaceFN)inplace
_build_extruncopy_extensions_to_source)selfold_inplaces   & r!   r4   build_ext.run`   s7    $(LL%!\t"**, r+   c                    V ^8  d   QhRRRR/# )   extr   returnztuple[str, str] )formats   "r!   __annotate__build_ext.__annotate__h   s     , ,Y ,? ,r+   c                	   V P                  VP                  4      pV P                  V4      pVP                  R 4      pR P	                  VRR 4      pVP                  V4      p\        P                  P	                  V\        P                  P                  V4      4      p\        P                  P	                  V P                  V4      p	W3# ).N)
get_ext_fullnamenameget_ext_filenamesplitjoinget_package_dirospathbasename	build_lib)
r6   build_pyr;   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                   V ^8  d   QhRR/# r:   r<   Noner=   )r>   s   "r!   r?   r@   r   s     G G4 Gr+   c                	   V P                  R 4      pV P                   F  pV P                  W4      w  r4\        P                  P                  V4      '       g   VP                  '       g   V P                  WCV P                  R7       VP                  '       g   K~  V P                  W#4      pV P                  WRRR7       K  	  R# )rN   )levelT)compileN)get_finalized_command
extensionsrV   rJ   rK   existsoptional	copy_fileverbose_needs_stub_get_equivalent_stub_write_stub_file)r6   rN   r;   rT   rU   inplace_stubs   &     r!   r5   #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               $    V ^8  d   QhRRRRRR/# )r:   r;   r   output_filestrr<   r=   )r>   s   "r!   r?   r@      s!     0 0	 0 0 0r+   c                	    \         P                  P                  V4      pVP                  P	                  R 4      w   rE\         P                  P                  W54       R2# )rB   .py)rJ   rK   dirnamerE   
rpartitionrH   )r6   r;   rj   dir__rE   s   &&&   r!   re   build_ext._get_equivalent_stub   sG    ww{+XX((-
1'',,t*+3//r+   c                   V ^8  d   QhRR/# )r:   r<   zIterator[tuple[str, str]]r=   )r>   s   "r!   r?   r@      s     4 4%> 4r+   c              #  	  "   V P                   '       g   R # V P                  R4      pV P                  R4      P                  ;'       g    RpV P                   Fn  pV P	                  W4      w  rEWT3x  VP
                  '       g   K/  V P                  W44      pV P                  W54      p\        WbR7      p\        WrR7      p	W3x  Kp  	  R # 5i)NrN   install_libr'   )optimization)r2   r^   optimizer_   rV   rd   re   _compiled_file_name)
r6   rN   optr;   rT   rU   rg   regular_stubinplace_cacheoutput_caches
   &         r!   _get_output_mappingbuild_ext._get_output_mapping   s     |||--j9((7@@FFB??C)-)E)Eh)T&L..  $88K#88K 3L S2<R#33! #s   AC
9CACc                    V ^8  d   QhRRRR/# )r:   rO   rk   r<   r=   )r>   s   "r!   r?   r@      s        r+   c                	j   \         P                  ! R 4      pV'       d6   \         P                  P                  ! VP	                  R4      !  V,           pMD\
        P                  ! W4      p\        R4      p\        V\        4      '       g   \        R4      hTpWP                  9   Ed   V P                  V,          p\        4       pVP                  '       d   V'       d   VR\        V4      )  V,           p\        V\        4      '       dB   \         P                  P!                  V4      w  ruV P"                  P%                  V\&        4      # \(        '       d[   VP*                  '       dI   \         P                  P	                  V4      w  r\         P                  P                  VRV,           4      # V# )SETUPTOOLS_EXT_SUFFIXrB   
EXT_SUFFIXzwConfiguration variable EXT_SUFFIX not found for this platform and environment variable SETUPTOOLS_EXT_SUFFIX is missingNzdl-)rJ   getenvrK   rH   rG   r3   rF   r   
isinstancerk   OSErrorext_mapr.   py_limited_apilenr   splitextshlib_compilerlibrary_filenamelibtype	use_stubs_links_to_dynamic)	r6   rO   so_extrP   
ext_suffixr;   abi3_suffixfnds	   &&       r!   rF   build_ext.get_ext_filename   s8   23ww||X^^C%89FBH!224BH'5Jj#..P   F||#,,x(C)+K!!!k#Ns6{l3kA#w''''**84**;;BHHs444h/ww||Aurz22r+   c                	j    \         P                  ! V 4       R V n        . V n        / V n        RV n        R # )NF)r3   initialize_optionsr   shlibsr   editable_moder6   s   &r!   r   build_ext.initialize_options   s.    %%d+""r+   c                   V ^8  d   QhRR/# rY   r=   )r>   s   "r!   r?   r@      s        $  r+   c                	\   \         P                  ! V 4       V P                  ;'       g    . V n        V P                  V P                  4       V P                   Uu. uF  p\	        V\
        4      '       g   K  VNK  	  upV n        V P                  '       d   V P                  4        V P                   F#  pV P                  VP                  4      Vn
        K%  	  V P                   EF  pVP                  pWP                  V&   WP                  VP                  R 4      R,          &   V P                  ;'       d    V P                  V4      ;'       g    RpT;'       d$    \        ;'       d    \	        V\
        4      '       * pW1n        WAn        V P#                  V4      ;qQn        \&        P(                  P+                  \&        P(                  P-                  V P.                  V4      4      pV'       d,   WaP0                  9  d   VP0                  P3                  V4       V'       g   EKF  \        '       g   EKU  \&        P4                  VP6                  9  g   EKw  VP6                  P3                  \&        P4                  4       EK  	  V P8                  '       d
   RV n        R# R# u upi )rB   FTNrC   )r3   finalize_optionsr_   check_extensions_listr   r   r   setup_shlib_compilerrD   rE   
_full_namer   rG   links_to_dynamicr   r   rd   rF   
_file_namerJ   rK   rn   rH   rM   library_dirsappendcurdirruntime_library_dirsr   r2   )r6   r;   rO   ltdnsrP   libdirs   &      r!   r   build_ext.finalize_options   s   ##D)////R""4??3&*ooRosC9QssoR;;;%%'??C!22388<CN #??C~~H%(LL" 58LL,R01++<<$"7"7"<EECC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)8J)c                	   \        V P                  V P                  V P                  R 7      ;qn        \        V4       V P                  e   VP                  V P                  4       V P                  e'   V P                   F  w  r#VP                  W#4       K  	  V P                  e%   V P                   F  pVP                  V4       K  	  V P                  e   VP                  V P                  4       V P                  e   VP                  V P                  4       V P                   e   VP#                  V P                   4       V P$                  e   VP'                  V P$                  4       \(        P+                  V4      Vn        R# ))r   dry_runforceN)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__)r6   r   rE   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                	r    \        V\        4      '       d   VP                  # \        P                  ! W4      # N)r   r   export_symbolsr3   get_export_symbols)r6   r;   s   &&r!   r   build_ext.get_export_symbols   s,    c7##%%%,,T77r+   c                   V ^8  d   QhRR/# rY   r=   )r>   s   "r!   r?   r@     s     & &d &r+   c                	X   VP                  4        V P                  p \        V\        4      '       d   V P                  V n        \
        P                  ! W4       VP                  '       d-   V P                  R 4      P                  pV P                  W14       W n        R#   Y n        i ; i)rN   N)_convert_pyx_sources_to_langr   r   r   r   r3   build_extensionrd   r^   rM   
write_stub)r6   r;   	_compilerrM   s   &&  r!   r   build_ext.build_extension  sz    ((*MM		&#w'' $ 3 3&&t1 66zBLL		/%MIMs   A;B! !B)c                  aa \         P                  V P                   Uu. uF  q"P                  NK  	  up4      oRP	                  VP                  P                  R4      RR R.,           4      o\        ;QJ d*    VV3R lVP                   4       F  '       g   K   R# 	  R# ! VV3R lVP                   4       4      # u upi )z?Return true if 'ext' links to a dynamic lib in the same packagerB   Nr'   c              3  <   <"   T F  pSV,           S9   x  K  	  R # 5ir   r=   ).0libnamelibnamespkgs   & r!   	<genexpr>-build_ext.links_to_dynamic.<locals>.<genexpr>  s     JM3=H,Ms   TFrC   )dictfromkeysr   r   rH   rG   anyr   )r6   r;   libr   r   s   && @@r!   r   build_ext.links_to_dynamic  s    
 ==DKK!HKS..K!HIhhs~~++C0"5<=sJCMMJssJsJsJCMMJJJ "Is   C c                   V ^8  d   QhRR/# r:   r<   z	list[str]r=   )r>   s   "r!   r?   r@     s     S S) Sr+   c                	R    . \         P                  ! V 4      OV P                  4       O# r   )r3   get_source_files_get_internal_dependsr   s   &r!   r   build_ext.get_source_files  s&    R,,T2RT5O5O5QRRr+   c                   V ^8  d   QhRR/# )r:   r<   zIterator[str]r=   )r>   s   "r!   r?   r@     s     $" $"} $"r+   c              #  R  "   \        V P                  P                  ;'       g    \        P                  4      P                  4       pR V P                   4       pR R lpV F  p\        V4      pVP                  4       '       d   V! VR4       K/  RVP                  9   d   V! VR4       KK   W,          P                  RR7      p TP                  T4       TP                  4       x  K  	  R#   \         d    T! TR	4        K  i ; i  \         d    T! TR
4        K  i ; i5i)zAYield ``ext.depends`` that are contained by the project directoryc              3  H   "   T F  qP                    F  q"x  K  	  K  	  R # 5ir   )depends)r   r;   deps   &  r!   r   2build_ext._get_internal_depends.<locals>.<genexpr>  s     I/3[[c3[3/s    "c               $    V ^8  d   QhRRRRRR/# )r:   	orig_pathrk   reasonr<   rZ   r=   )r>   s   "r!   r?   5build_ext._get_internal_depends.<locals>.__annotate__   s!     	 	C 	 	 	r+   c                6    \         P                  ! R V V4       R# )zJdependency %s won't be automatically included in the manifest: the path %sN)r   info)r   r   s   &&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   r0   src_rootrJ   r   resolver_   is_absolutepartsr   relative_to
ValueErroras_posix)r6   project_rootr   r   r   rK   resolveds   &      r!   r   build_ext._get_internal_depends  s    D--66CC"))DLLNI$//I	 C9D!!S,-tzz!S45(/888E
$$\2
 --/!/   S/*  S;<sH   B,D'/C1DD'1D	D'D		D'D$ D'#D$$D'c                   V ^8  d   QhRR/# r   r=   )r>   s   "r!   r?   r@   A  s     Q QY Qr+   c                	    V P                   '       d(   \        V P                  4       P                  4       4      # \	        \
        P                  ! V 4      V P                  4       ,           4      # r   )r2   listget_output_mappingkeyssortedr3   get_outputs_build_ext__get_stubs_outputsr   s   &r!   r   build_ext.get_outputsA  sL    <<<//166899j,,T2T5M5M5OOPPr+   c                   V ^8  d   QhRR/# )r:   r<   zdict[str, str]r=   )r>   s   "r!   r?   r@   F  s     9 9N 9r+   c                P    V P                  4       p\        \        VR R7      4      # )z1See :class:`setuptools.commands.build.SubCommand`c                    V ^ ,          # )r   r=   )xs   &r!   <lambda>.build_ext.get_output_mapping.<locals>.<lambda>I  s    !A$r+   )key)r}   r   r   )r6   mappings   & r!   r   build_ext.get_output_mappingF  s"    **,F7788r+   c                	   a  V 3R  lS P                    4       p\        P                  ! VS P                  4       4      p\	        R V 4       4      # )c              3     <"   T F^  pVP                   '       g   K  \        P                  P                  ! SP                  .VP
                  P                  R 4      O5!  x  K`  	  R# 5i)rB   N)rd   rJ   rK   rH   rM   r   rG   )r   r;   r6   s   & r!   r   0build_ext.__get_stubs_outputs.<locals>.<genexpr>M  sJ      
& EBGGLLD#..*>*>s*CDD&s   A)AA)c              3  6   "   T F  w  rW,           x  K  	  R # 5ir   r=   )r   basefnexts   &  r!   r   r  T  s     :E[TDLLEs   )r_   	itertoolsproduct!_build_ext__get_output_extensionsr   )r6   ns_ext_basespairss   f  r!   __get_stubs_outputsbuild_ext.__get_stubs_outputsK  sD    

 !!,0L0L0NO:E:::r+   c              #  	l   "   R x  Rx  V P                  R4      P                  '       d   Rx  R# R# 5i)rm   z.pycrN   z.pyoN)r^   rw   r   s   &r!   __get_output_extensions!build_ext.__get_output_extensionsV  s0     %%j1:::L ;s   24c                   V ^8  d   QhRR/# rY   r=   )r>   s   "r!   r?   r@   \  s     7 7D 7r+   c                	    \         P                  P                  ! V.VP                  P	                  R 4      O5!  R,           pV P                  WBV4       R# )rB   rm   N)rJ   rK   rH   r   rG   rf   )r6   
output_dirr;   r]   	stub_files   &&&& r!   r   build_ext.write_stub\  s=    GGLLHcnn.B.B3.GH5P	ig6r+   c                    V ^8  d   QhRRRR/# )r:   r  rk   r;   r   r=   )r>   s   "r!   r?   r@   `  s      5  5#  5I  5r+   c                	   \         P                  ! R VP                  V4       V'       d8   \        P                  P                  V4      '       d   \        VR,           4      hV P                  '       g   \        VRRR7      ;_uu_ 4       pRP                  RRR\        R	4      ,           R
\        P                  P                  VP                  4      : R2RRR\        R4      RRR\        R4      RRRRR\        R4      RRR.4      pVP                  V4       RRR4       V'       d   V P                  V4       R# R#   + '       g   i     L-; i)z 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, dlz7   __file__ = pkg_resources.resource_filename(__name__,)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'   N)r   r   r   rJ   rK   r`   r   r   openrH   r*   rL   r   write_compile_and_remove_stub)r6   r  r;   r]   fcontents   &&&&  r!   rf   build_ext._write_stub_file`  s   3S^^YOrww~~i00I(IIJJ|||iw771))*CFvV!!#!1!1#..!A DAG*6+?@.>@AI9F7!>?,%-% 0  3 84 )))4 5 87s   
BD>>E	c                   V ^8  d   QhRR/# )r:   r  rk   r=   )r>   s   "r!   r?   r@     s     ! !# !r+   c                	T   ^ RI Hp V! V.^ RV P                  R7       V P                  R4      P                  pV^ 8  d   V! V.VRV P                  R7       \
        P                  P                  V4      '       d-   V P                  '       g   \
        P                  ! V4       R# R# R# )r   )byte_compileT)rw   r   r   ru   N)	distutils.utilr-  r   r^   rw   rJ   rK   r`   unlink)r6   r  r-  rw   s   &&  r!   r'  "build_ext._compile_and_remove_stub  s    /i[1D$,,O--m<EEa<!	 77>>)$$T\\\IIi  .:$r+   )r   r   r   r_   r2   r   r   N)F)__name__
__module____qualname____firstlineno____annotations__r   r2   r4   rV   r5   re   r}   rF   r   r   r   r   r   r   r   r   r   r   r   r  r   rf   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                    V ^8  d   QhRRRR/# r:   debugboolr<   rZ   r=   )r>   s   "r!   r?   r?     s      
 
 
 

r+   c                T    V P                  V P                  VVVVVVVVV	V
VV4       R # r   )linkSHARED_LIBRARY)r6   objectsoutput_libnamer  r   r   r   r   r9  extra_preargsextra_postargs
build_temptarget_langs   &&&&&&&&&&&&&r!   r   r     s=     			 	
r+   staticc                    V ^8  d   QhRRRR/# r8  r=   )r>   s   "r!   r?   r?     s$     R R R 
Rr+   c                   Ve   Q h\         P                  P                  V4      w  r=\         P                  P                  V4      w  rV P	                  R4      P                  R4      '       d
   VR,          pV P                  WW8V4       R # )Nr  r   :   NN)rJ   rK   rG   r   r   
startswithcreate_static_lib)r6   r>  r?  r  r   r   r   r   r9  r@  rA  rB  rC  rP   rL   _exts   &&&&&&&&&&&&&   r!   r   r     st    * !!!!ww}}^<
))(3  %0077  |Hw*[Qr+   )
NNNNNFNNNN)1
__future__r   r  rJ   r   collections.abcr   importlib.machineryr   importlib.utilr   rx   pathlibr   typingr	   setuptools.distr
   setuptools.errorsr   setuptools.extensionr   r   	distutilsr   distutils.ccompilerr   distutils.sysconfigr   r   distutils.command.build_extr   r3   Cython.Distutils.build_ext
__import__ImportErrorr   r   r"   r(   r   r   r   rE   dlhasattrr*   r.   r   r=   r+   r!   <module>r]     s   "  	 
 $ 2 C    ( ' 3  , BCHF 	)*
 z  =%* 		
<<8IWW_ 'J 77	I
"t!
 t!n	 4
 
B GR Rs  HGHT  s$   )D 4D DDD D 