+
    i=                    0   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	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u Ht ^ RIt ^ RI!H"t" Rt#R R lt$ ! R R]P:                  4      tR t% ! R R4      t&R# )    )annotationsN)IterableIterator)partial)glob)Path)Any)unique_everseen)StrPathStrPathT)Distribution)SetuptoolsDeprecationWarning)convert_pathc                   V ^8  d   QhRR/#    returnNone )formats   "g/home/piyush/.cache/uv/builds-v0/.tmpglzPEw/lib/python3.14/site-packages/setuptools/command/build_py.py__annotate__r      s     > >T >    c                    \         P                  ! V \         P                  ! V 4      P                  \        P                  ,          4       R # N)oschmodstatst_modeS_IWRITE)targets   &r   make_writabler"      s'    HHVRWWV_,,t}}<=r   c                  B  a  ] tR t^ t$ RtR]R&   RtR]R&   RtR]R	&   R
 R ltR/R V 3R lllt	R R lt
R R ltR tR R ltR R ltR tR0R V 3R llltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( tR) tR* R+ ltR, t]R1R- l4       tR.tV ;t# )2build_pyaD  Enhanced 'build_py' command that includes data files with packages

The data files are specified via a 'package_data' argument to 'setup()'.
See 'setuptools.dist.Distribution' for more details.

Also, this version of the 'build_py' command allows you to specify both
'py_modules' and 'packages' in the same setup operation.
r   distributionFbooleditable_modeNzStrPath | Noneexisting_egg_info_dirc                   V ^8  d   QhRR/# r   r   )r   s   "r   r   build_py.__annotate__.   s     , ,$ ,r   c                	   \         P                  P                  V 4       V P                  P                  V n        V P                  P
                  ;'       g    / V n        R V P                  9   d   V P                  R  R# R# )
data_filesN)origr$   finalize_optionsr%   package_dataexclude_package_data__dict__selfs   &r   r.   build_py.finalize_options.   sa    &&t, --::$($5$5$J$J$P$Pb!4==(l+ )r   c               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# )r   infiler   outfiler   preserve_moder&   preserve_timeslinkz
str | Nonelevelobjectr   ztuple[StrPathT | str, bool]r   )r   s   "r   r   r*   5   sP     
 

 
 	

 
 
 
 
%
r   c                	   < V'       dE   \        \        V4      P                  4       4      p\        \        V4      P                  4       4      p\        SV `  WW4WV4      # r   )strr   resolvesuper	copy_file)r3   r6   r7   r8   r9   r:   r;   	__class__s   &&&&&&&r   rA   build_py.copy_file5   sO     f--/0F$w-//12Gw ]D
 	
r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r*   F   s     S ST Sr   c                ~   V P                   '       g   V P                  '       d   V P                  '       d   R# V P                   '       d   V P                  4        V P                  '       d!   V P	                  4        V P                  4        V P                  \        P                  P                  V RR7      4       R# )z?Build modules, packages, and copy data files to build directoryNF)include_bytecode)

py_modulespackagesr'   build_modulesbuild_packagesbuild_package_databyte_compiler-   r$   get_outputsr2   s   &r   runbuild_py.runF   s{    4===T5G5G5G??? ===!##% 	$--33D53QRr   c                    V ^8  d   QhRRRR/# )r   attrr>   r   r	   r   )r   s   "r   r   r*   W   s     5 5 5 5r   c                    VR8X  d"   V P                  4       V n        V P                  # \        P                  P	                  W4      # )zlazily compute data filesr,   )_get_data_filesr,   r-   r$   __getattr__)r3   rQ   s   &&r   rT   build_py.__getattr__W   s9    <"224DO??"}}((44r   c                    V P                  4        \        \        V P                  V P                  ;'       g    R4      4      # )z?Generate list of '(package,src_dir,build_dir,filenames)' tuplesr   )analyze_manifestlistmap_get_pkg_data_filesrH   r2   s   &r   rS   build_py._get_data_files^   s2    C00$--2E2E2FGGr   c                   V ^8  d   QhRR/# )r   r   z%list[tuple[str, str, str, list[str]]]r   )r   s   "r   r   r*   c   s     H H1V Hr   c                    V P                   P                  R/ 4       \        \        V P                  V P
                  ;'       g    R4      4      # )z
Generate list of ``(package,src_dir,build_dir,filenames)`` tuples,
but without triggering any attempt to analyze or build the manifest.
manifest_filesr   )r1   
setdefaultrX   rY   rZ   rH   r2   s   &r   get_data_files_without_manifest(build_py.get_data_files_without_manifestc   s=     	  !126C00$--2E2E2FGGr   c                    V ^8  d   QhRRRR/# )r   packager>   r   ztuple[str, str, str, list[str]]r   )r   s   "r   r   r*   m   s     6 63 63R 6r   c                	.   V P                  V4      p\        P                  P                  ! V P                  .VP                  R 4      ,           !  pV P                  W4       Uu. uF"  p\        P                  P                  WB4      NK$  	  ppWW53# u upi ).)get_package_dirr   pathjoin	build_libsplitfind_data_filesrelpath)r3   rc   src_dir	build_dirfile	filenamess   &&    r   rZ   build_py._get_pkg_data_filesm   s    &&w/ GGLLDNN#3gmmC6H#HJ	
 ,,W>
> GGOOD*> 	 
 55	
s   $(Bc                   V P                  V P                  VV\        R7      p\        \	        \
        RR7      V4      p\        P                  P                  V4      p\        \        P                  P                  V4      p\        P                  ! V P                  P                  V. 4      V4      pV P                  WV4      # )z6Return filenames for package's data files in 'src_dir')extra_patternsT)	recursive)_get_platform_patternsr/   _IMPLICIT_DATA_FILESrY   r   r   	itertoolschainfrom_iterablefilterr   rg   isfiler^   getexclude_data_files)r3   rc   rm   patternsglobs_expandedglobs_matches
glob_filesfiless   &&&     r   rk   build_py.find_data_files{   s    ../	 / 
 WTT:HE!55nEBGGNNM:
##GR0
 &&w??r   c                    V ^8  d   QhRRRR/# )r   rF   r&   r   z	list[str]r   )r   s   "r   r   r*      s     5 5D 5I 5r   c                   < V P                   '       d(   \        V P                  4       P                  4       4      # \        SV `  V4      # )1See :class:`setuptools.commands.build.SubCommand`)r'   rX   get_output_mappingkeysr@   rM   )r3   rF   rB   s   &&r   rM   build_py.get_outputs   s=    //166899w"#344r   c                   V ^8  d   QhRR/# )r   r   zdict[str, str]r   )r   s   "r   r   r*      s     A AN Ar   c                    \         P                  ! V P                  4       V P                  4       4      p\	        \        V\        P                  ! ^ 4      R7      4      # )r   )key)rw   rx    _get_package_data_output_mapping_get_module_mappingdictsortedoperator
itemgetter)r3   mappings   & r   r   build_py.get_output_mapping   sG    //113$$&
 F7(;(;A(>?@@r   c                   V ^8  d   QhRR/# r   r   zIterator[tuple[str, str]]r   )r   s   "r   r   r*      s     * *%> *r   c              #     "   V P                  4        F8  w  rpVP                  R4      pV P                  V P                  W4      pWC3x  K:  	  R# 5i)z5Iterate over all modules producing (dest, src) pairs.re   N)find_all_modulesrj   get_module_outfileri   )r3   rc   modulemodule_filefilenames   &    r   r   build_py._get_module_mapping   sK     ,0,A,A,C(G[mmC(G..t~~wOH)) -Ds   AAc                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r*      s     ( (2K (r   c              #     "   V P                    FR  w  rr4V FF  p\        P                  P                  W54      p\        P                  P                  W%4      pWg3x  KH  	  KT  	  R# 5i)z6Iterate over package data producing (dest, src) pairs.N)r,   r   rg   rh   )r3   rc   rm   rn   rp   r   r!   srcfiles   &       r   r   )build_py._get_package_data_output_mapping   sP     6:oo2Gi%i:'',,w9'' & 7Fs   A%A'c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r*      s     " "D "r   c                    V P                  4        FQ  w  rV P                  \        P                  P	                  V4      4       V P                  W!4      w  r4\        V4       KS  	  R# )z$Copy data files into build directoryN)r   mkpathr   rg   dirnamerA   r"   )r3   r!   r   _outf_copieds   &    r   rK   build_py.build_package_data   sI    #DDFOFKK/0!^^G<NE&!  Gr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r*      s     'M 'M$ 'Mr   c                	   / V n         V P                  P                  '       g   R # / pV P                  ;'       g    R F  pW!\	        V P                  V4      4      &   K!  	  V P                  '       dd   \        V P                  R4      P                  4       '       d:   V P                  p\        VR4      pVP                  RR7      P                  4       pMDV P                  R4       V P                  R4      pVP                  pVP                  P                  p\!        4       pV P#                  WS4       EF  p\$        P&                  P)                  \	        V4      4      w  rR pT
pV	'       dQ   W8w  dK   W9  dE   T	p\$        P&                  P)                  V	4      w  r\$        P&                  P+                  W4      p
KX  W9   g   K  W8X  d   VP-                  V
4      '       d   K  M1VP/                  W,          V
4      pV'       d   VP1                  V4       V P                   P3                  W,          . 4      P5                  V4       EK  	  R # )NzSOURCES.txtzutf-8)encodingegg_infor   )r^   r%   include_package_datarH   assert_relativerf   r(   r   exists	read_text
splitlinesrun_commandget_finalized_commandr   filelistr   _IncludePackageDataAbuse_filter_build_filesr   rg   rj   rh   	is_moduleimportable_subpackagewarnr_   append)r3   src_dirsrc   egg_info_dirmanifestr   ei_cmdcheckrg   dfprevoldfdf
importables   &              r   rW   build_py.analyze_manifest   s   46  555#%}}***GGN_T%9%9'%BCD +
 &&&T//?FFHH55LL-8H&&&8CCEEZ(//
;F!??LOO))E(*,,UAD77==!67DADD	a&7a(GGLL'}9q))  * "'!<!<X[!!LJ!

:.##..x{B?FFtL! Br   c               $    V ^8  d   QhRRRRRR/# )r   r   zIterable[str]r   r   r   zIterator[str]r   )r   s   "r   r   r*      s$      ".5	r   c              #    a"   V P                  R4      pW P                  VP                  VP                  3pV Uu. uF+  qU'       g   K  \        P
                  P                  V4      NK-  	  ppV F  p\        P
                  P                  V4      o\        P
                  P                  V4      '       dC   \        ;QJ d    V3R lV 4       F  '       d   K   RM	  RM! V3R lV 4       4      '       g   K  Vx  K  	  R# u upi 5i)aM  
``build_meta`` may try to create egg_info outside of the project directory,
and this can be problematic for certain plugins (reported in issue #3500).

Extensions might also include between their sources files created on the
``build_lib`` and ``build_temp`` directories.

This function should filter this case of invalid files out.
buildc              3  ,   <"   T F	  qS9  x  K  	  R # 5ir   r   ).0r   	norm_paths   & r   	<genexpr>/build_py._filter_build_files.<locals>.<genexpr>   s     -T)Qy.@)s   FTN)	r   ri   
build_temp
build_baser   rg   normpathisabsall)	r3   r   r   r   
build_dirsp	norm_dirsro   r   s	   &&&     @r   r   build_py._filter_build_files   s      **730@0@%BRBRS
2<B*Q(RWW%%a(*	BD((.I77==&&##-T)-T###-T)-T*T*T
  Cs)   9D		D
#D-AD	D	D	:D	c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r*      s       r   c                	    R # r   r   r2   s   &r   get_data_filesbuild_py.get_data_files   s    r   c                X    V P                   V,          #   \         d     Mi ; i\        P                  P	                  YT4      pY0P                   T&   T'       d   T P
                  P                  '       g   T# T P
                  P                   F)  pYA8X  g!   TP                  TR,           4      '       g   K)   M	  T# \        TR4      ;_uu_ 4       pTP                  4       pRRR4       M  + '       g   i     M; iRX9  d$   \        P                  P                  RT R24      hT# )z8Check namespace packages' __init__ for declare_namespacere   rbNs   declare_namespacezNamespace package problem: z is a namespace package, but its
__init__.py does not call declare_namespace()! Please fix it.
(See the setuptools manual under "Namespace Packages" for details.)
")packages_checkedKeyErrorr-   r$   check_packager%   namespace_packages
startswithopenread	distutilserrorsDistutilsError)r3   rc   package_dirinit_pypkgr   contentss   &&&    r   r   build_py.check_package   s   	((11 		 ----d[I)0g&d//BBBN$$77C~#!>!> 8 N'4  AvvxH !   x/""11-gY 78 8  s    ##C--C=	c                	n    / V n         \        P                  P                  V 4       R V n        RV n        R# )FN)r   r-   r$   initialize_optionsr'   r(   r2   s   &r   r   build_py.initialize_options  s,     "((."%)"r   c                    V ^8  d   QhRRRR/# )r   rc   r>   r   r   )r   s   "r   r   r*     s      s s r   c                	    \         P                  P                  W4      pV P                  P                  e5   \
        P                  P                  V P                  P                  V4      # V# r   )r-   r$   rf   r%   src_rootr   rg   rh   )r3   rc   ress   && r   rf   build_py.get_package_dir  sN    mm++D:%%177<< 1 1 : :C@@
r   c                  aa \        S4      oV P                  V P                  VV4      pV3R lV 4       p\        P                  P                  V4      p\        V4      oV3R lS 4       p\        \        V4      4      # )z6Filter filenames for package's data files in 'src_dir'c              3  R   <"   T F  p\         P                  ! SV4      x  K  	  R # 5ir   )fnmatchrz   )r   patternr   s   & r   r   .build_py.exclude_data_files.<locals>.<genexpr>$  s     Oh7ug66hs   $'c              3  8   <"   T F  qS9  g   K  Vx  K  	  R # 5ir   r   )r   fnbads   & r   r   r   (  s     7"322s   
)rX   ru   r0   rw   rx   ry   setr
   )	r3   rc   rm   r   r~   match_groupsmatcheskeepersr   s	   &&&f    @r   r}   build_py.exclude_data_files  so    U..%%

 PhO////='l77OG,--r   c                   a \         P                  ! VV P                  R. 4      V P                  V. 4      4      pV3R lV 4       # )z
yield platform-specific path patterns (suitable for glob
or fn_match) from a glob-based spec (such as
self.package_data or self.exclude_package_data)
matching package in src_dir.
 c              3  v   <"   T F.  p\         P                  P                  S\        V4      4      x  K0  	  R # 5ir   )r   rg   rh   r   )r   r   rm   s   & r   r   2build_py._get_platform_patterns.<locals>.<genexpr>9  s1      
 ( GGLL,w"788's   69)rw   rx   r|   )specrc   rm   rs   raw_patternss   &&f& r   ru   build_py._get_platform_patterns,  sF     !HHRHHWb!


 (
 	
r   )r,   r'   r0   r(   r^   r/   r   )TTN   )T)r   ) __name__
__module____qualname____firstlineno____doc____annotations__r'   r(   r.   rA   rN   rT   rS   r`   rZ   rk   rM   r   r   r   rK   rW   r   r   r   r   rf   r}   staticmethodru   __static_attributes____classcell__)rB   s   @r   r$   r$       s     M4,0>0,
 
"S"5H
H6@$5 5A*("'MR*<*.  
 
r   r$   c                    \         P                  P                  V 4      '       g   V # ^ RIHp \
        P                  ! R4      P                  4       V ,          pV! V4      h)r   )DistutilsSetupErrorz
        Error: setup script specifies an absolute path:

            %s

        setup() arguments must *always* be /-separated paths relative to the
        setup.py directory, *never* absolute paths.
        )r   rg   r   distutils.errorsr  textwrapdedentlstrip)rg   r  msgs   &  r   r   r   @  sS    77==4 			
 &(

	  c
""r   c                  N    ] tR tRtRt ! R R]4      tR R ltR tR t	R	 t
R
tR# )r   iU  z>Inform users that package or module is included as 'data file'c                      ] tR tRtRtRtRtR# )!_IncludePackageDataAbuse._WarningiX  zU
        Package {importable!r} is absent from the `packages` configuration.
        a|  
        ############################
        # Package would be ignored #
        ############################
        Python recognizes {importable!r} as an importable package[^1],
        but it is absent from setuptools' `packages` configuration.

        This leads to an ambiguous overall configuration. If you want to distribute this
        package, please make sure that {importable!r} is explicitly added
        to the `packages` configuration field.

        Alternatively, you can also rely on setuptools' discovery methods
        (for example by using `find_namespace_packages(...)`/`find_namespace:`
        instead of `find_packages(...)`/`find:`).

        You can read more about "package discovery" on setuptools documentation page:

        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

        If you don't want {importable!r} to be distributed and are
        already explicitly excluding {importable!r} via
        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
        you can try to use `exclude_package_data`, or `include-package-data=False` in
        combination with a more fine grained `package-data` configuration.

        You can read more about "package data files" on setuptools documentation page:

        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


        [^1]: For Python, any directory (with suitable naming) can be imported,
              even if it does not contain any `.py` files.
              On the other hand, currently there is no concept of package data
              directory, all directories are treated like packages.
        r   N)r
  r  r  r  _SUMMARY_DETAILSr  r   r   r   _Warningr  X  s    "r   r  c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   %_IncludePackageDataAbuse.__annotate__  s     * *$ *r   c                	<    \         \        ,          ! 4       V n        R # r   )r   r>   _already_warnedr2   s   &r   __init__!_IncludePackageDataAbuse.__init__  s    "3xzr   c                	n    VP                  R 4      ;'       d    VR\        R 4      )  P                  4       # )z.pyN)endswithlenisidentifier)r3   ro   s   &&r   r   "_IncludePackageDataAbuse.is_module  s/    }}U#JJ]E
{(;(H(H(JJr   c                	    \        V4      P                  p\        \        P                  ! \
        P                  VP                  4      4      pV'       d   R P                  V.VO4      # R# )re   N)	r   parentrX   rw   	takewhiler>   r)  partsrh   )r3   r,  ro   r   r.  s   &&&  r   r   ._IncludePackageDataAbuse.importable_subpackage  sO    4jY(()9)9399EF88V,e,--r   c                	    WP                   9  d:   V P                  P                  VR 7       V P                   P                  V4       R# R# ))r   N)r#  r  emitadd)r3   r   s   &&r   r   _IncludePackageDataAbuse.warn  s<    111MM*5  $$Z0 2r   )r#  N)r
  r  r  r  r  r   r  r$  r   r   r   r  r   r   r   r   r   U  s(    H'/ 'V*K1r   r   )z*.pyizpy.typed)'
__future__r   r   rw   r   r   r   r  collections.abcr   r   	functoolsr   r   pathlibr   typingr	   more_itertoolsr
   _pathr   r   distr   warningsr   distutils.command.build_pycommandr$   r-   r  r   distutils.utilr   rv   r"   r   r   r   r   r   <module>r@     sn    "    	   .     * %  3 ) )  ', >]
t}} ]
@	#*>1 >1r   