+
    id                       R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ 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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! ^ RI"t#^ RI$t#^ RI#H%t% ^ RI"H&t& ^ RI$H't( ^ RI)H*t* ]PV                  PX                   R]PV                  PZ                   2t.R t/ ! R R4      t0 ! R R]0]4      t1 ! R R](4      t' ! R R]4      t2R R lt3R R lt4R R  lt5]!Pl                  t6]!Pn                  t7R! R" lt8R# R$ lt9R,R% R& llt:R' R( lt;R-R) lt< ! R* R+] 4      t=R# ).zUsetuptools.command.egg_info

Create a distribution's .egg-info directory and contents)annotationsN)Callable)Command)	bdist_egg)sdistwalk_revctrl)edit_config)glob)_entry_points_normalization)metadata)SetuptoolsDeprecationWarning)_requirestxt)log)DistutilsInternalError)FileList)convert_path.c                   RpV P                   ! \        P                  P                  4      p\        P
                  ! \        P                  4      pRV R2p\        V4       EF  w  rVV\        V4      ^,
          8H  pVR8X  d%   V'       d   VR,          pMVRV RV R2,          pKF  ^ p\        V4      p	W8  Ed7   Wh,          p
V
R	8X  d   WR	,           ,          pEM
V
R
8X  d
   W,          pMV
R8X  d   V^,           pW8  d   Wk,          R8X  d
   V^,           pW8  d   Wk,          R8X  d
   V^,           pW8  d   Wk,          R8w  d   V^,           pK  W8  d   V\        P
                  ! V
4      ,          pMpWh^,           V pRpV^ ,          R8X  d   RpVR,          pV\        P
                  ! V4      ,          pVRV R2,          pTpMV\        P
                  ! V
4      ,          pV^,          pEK=  V'       d   EK  W,          pEK  	  VR,          p\        P                  ! V\        P                  \        P                  ,          R7      # )z
Translate a file path glob like '*.txt' in to a regular expression.
This differs from fnmatch.translate which allows wildcards to match
directory separators. It also knows about '**/' which matches any number of
directories.
 z[^]**z.*z(?:+z)**?[!^   NNz\Z)flags)splitospathsepreescape	enumeratelencompile	MULTILINEDOTALL)r	   patchunksr$   
valid_charcchunk
last_chunki	chunk_lencharinner_iinner
char_classs   &             g/home/piyush/.cache/uv/builds-v0/.tmpglzPEw/lib/python3.14/site-packages/setuptools/command/egg_info.pytranslate_patternr9   (   s    C ZZ$F
))BFF
CcU!Jf%#f+/)
 D=t ZL#b11 J	m8Ds{C''!a%&5>S+@%kG&5>S+@%kG )en.C%kG' 299T?*C "a%'2E!#J Qx3%(
 %b	"))E"22JQzl!,,C  Aryy&FA zJC} &@ 5LC::c		!9::    c                  n    ] tR t^{tRtRt]R 4       tR tR t	R R lt
R R ltR	 R
 lt]! ]4      tRtR# )
InfoCommonNc                	^    \         P                  ! V P                  P                  4       4      # N)r   	safe_namedistributionget_nameselfs   &r8   nameInfoCommon.name   s"    ''(9(9(B(B(DEEr:   c                	    V P                  V P                  P                  4       4      p\        P                  ! V4      # r>   )
_maybe_tagr@   get_versionr   safe_version)rC   taggeds   & r8   tagged_versionInfoCommon.tagged_version   s0    !2!2!>!>!@A**622r:   c                |    V P                   '       d   V P                  V4      '       d   V# WP                   ,           # )zw
egg_info may be called more than once for a distribution,
in which case the version string already contains all tags.
)vtags_already_taggedrC   versions   &&r8   rG   InfoCommon._maybe_tag   s8     zzzd227;; 	
 ::%	
r:   c                    V ^8  d   QhRRRR/# )   rQ   strreturnbool )formats   "r8   __annotate__InfoCommon.__annotate__   s     A As At Ar:   c                	X    VP                  V P                  V P                  4       34      # r>   )endswithrN   
_safe_tagsrP   s   &&r8   rO   InfoCommon._already_tagged   s%     T__-> ?@@r:   c                   V ^8  d   QhRR/# rT   rV   rU   rX   )rY   s   "r8   rZ   r[      s     J JC Jr:   c                	    \         P                  ! R V P                   24      R,          #   \        P                  P
                   d4    \         P                  ! T P                  P                  RR4      4      u # i ; i)0r    r   )r   rI   rN   	packagingrQ   InvalidVersionr?   replacerB   s   &r8   r^   InfoCommon._safe_tags   sh    	J!..4::,/?@DD  // 	J!++DJJ,>,>sC,HII	Js   ), AA>=A>c                   V ^8  d   QhRR/# ra   rX   )rY   s   "r8   rZ   r[      s      c r:   c                	    R pV P                   '       d   WP                   ,          pV P                  '       d   V\        P                  ! R4      ,          pV# )r   z%Y%m%d)	tag_buildtag_datetimestrftimerP   s   & r8   tagsInfoCommon.tags   s=    >>>~~%G===t}}X..Gr:   rX   )__name__
__module____qualname____firstlineno__rk   rl   propertyrD   rK   rG   rO   r^   ro   rN   __static_attributes__rX   r:   r8   r<   r<   {   sF    IHF F3	
A
J TNEr:   r<   c                      ] tR t^tRt. ROtR.tRR/tR t]	R R l4       t
]
P                  R R l4       t
R	 R
 ltR R lt]R3R ltRR R lltR R ltR R ltR R ltR R ltRtR# )egg_infoz+create a distribution's .egg-info directorytag-dateno-datec                	L    R V n         R V n        R V n        R V n        RV n        R # )NF)egg_baseegg_namerx   egg_versionignore_egg_info_in_manifestrB   s   &r8   initialize_optionsegg_info.initialize_options   s'    +0(r:   c                   V ^8  d   QhRR/# )rT   rV   z
int | NonerX   )rY   s   "r8   rZ   egg_info.__annotate__   s      * r:   c                	    R # r>   rX   rB   s   &r8   tag_svn_revisionegg_info.tag_svn_revision       r:   c                   V ^8  d   QhRR/# rT   rV   NonerX   )rY   s   "r8   rZ   r      s       r:   c                	    R # r>   rX   )rC   values   &&r8   r   r      r   r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r      s     	7 	7T 	7r:   c                h    \        V P                  4       ^ R7      p\        V\        VR7      4       R# )z
Materialize the value of date into the
build tag. Install build keys in a deterministic order
to avoid arbitrary reordering on subsequent builds.
)rk   rl   )rx   N)dictro   r   )rC   filenamerx   s   && r8   save_version_infoegg_info.save_version_info   s%     $))+:HdH56r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r      s     > >$ >r:   c                	0   V P                   V n        V P                  4       V n        \        P
                  P                  V P                  4      p \        V\        P
                  P                  4      pV'       d   R MRp\        P                  P                  W0P                  V P                  3,          4       T P                  fF   T P                  P                   pT;'       g    / P#                  R\$        P&                  4      T n        T P)                  R4       \*        P,                  ! T P                  4      R,           T n        T P                  \$        P&                  8w  d:   \$        P0                  P3                  T P                  T P.                  4      T n        T P                  T P                  P4                  n        R#   \         d@   p\        P                  P                  RT P                   RT P                   24      ThRp?ii ; i)z%s==%sz%s===%sz-Invalid distribution name or version syntax: -Nr   r|   	.egg-info)rD   r}   rK   r~   re   rQ   Version
isinstancerequirementsRequirement
ValueError	distutilserrorsDistutilsOptionErrorr|   r@   package_dirgetr"   curdirensure_dirnamer   filename_componentrx   r#   joinr   )rC   parsed_version
is_versionspecedirss   &     r8   finalize_optionsegg_info.finalize_options   s   
 		..0"**2243C3CD	#NI4E4E4M4MNJ)8yD""..t}}dFVFV6W/WX == $$00D!ZZR,,R;DMJ'&99$--H;V==BII%GGLLFDM
 .2-=-=""*#  	""77?aPTP`P`Oab	s   A+G H:HHNc                D    \        V P                  V P                  W4      # )0Compute filename of the output egg. Private API.)_egg_basenamer}   r~   )rC   
py_versionplatforms   &&&r8   _get_egg_basenameegg_info._get_egg_basename   s    T]]D,<,<jSSr:   c                    V ^8  d   QhRRRR/# rT   forcerW   rV   r   rX   )rY   s   "r8   rZ   r     s     + + +QU +r:   c                    V'       d   V P                  WV4       R# \        P                  P                  V4      '       d9   Vf"   V'       g   \        P
                  ! RW4       R# V P                  V4       R# R# )a  Write `data` to `filename` or delete if empty

If `data` is non-empty, this routine is the same as ``write_file()``.
If `data` is empty but not ``None``, this is the same as calling
``delete_file(filename)`.  If `data` is ``None``, then this is a no-op
unless `filename` exists, in which case a warning is issued about the
orphaned file (if `force` is false), or deleted (if `force` is true).
Nz$%s not set in setup(), but %s exists)
write_filer"   r#   existsr   warndelete_file)rC   whatr   datar   s   &&&&&r8   write_or_delete_fileegg_info.write_or_delete_file  sT     OODD1WW^^H%%|E?P  * &r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r     s     
 
$ 
r:   c                    \         P                  ! RW4       VP                  R4      p\        VR4      pVP	                  V4       VP                  4        R# )zWrite `data` to `filename` (if not a dry run) after announcing it

`what` is used in a log message to identify what is being written
to the file.
zwriting %s to %sutf-8wbN)r   infoencodeopenwriteclose)rC   r   r   r   fs   &&&& r8   r   egg_info.write_file  sA     	#T4{{7#4 			r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r     s      t r:   c                `    \         P                  ! RV4       \        P                  ! V4       R# )z8Delete `filename` (if not a dry run) after announcing itzdeleting %sN)r   r   r"   unlink)rC   r   s   &&r8   r   egg_info.delete_file  s    )
		(r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r   $  s      T r:   c           	     	   \        \        P                  ! R R7      4      pV P                  V P                  4        \
        P                  ! V P                  R4       T FX  pTP                  4       pT! YP                  \
        P                  P                  T P                  TP                  4      4       KZ  	  \
        P                  P                  T P                  R4      p\
        P                  P                  T4      '       d   T P!                  T4       T P#                  4        R#   \         d6   pRT P                   R2p\        P                  P                  T4      ThRp?ii ; i)zegg_info.writers)groupNz'Cannot update time stamp of directory ''znative_libs.txt)listr   entry_pointsmkpathrx   r"   utimeOSErrorr   r   DistutilsFileErrorloadrD   r#   r   r   r   find_sources)rC   writersr   msgepwriternls   &      r8   runegg_info.run$  s    x,,3EFGDMM"	BHHT]]D) BWWYF4"'',,t}}bgg"FG 
 WW\\$--):;77>>"R   	B;DMM?!LC""55c:A	Bs   !D. .E.90E))E.c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r   :  s     $ $d $r:   c                    \         P                  P                  V P                  R4      p\	        V P
                  4      pV P                  Vn        Wn        VP                  4        VP                  V n
        R# )z"Generate SOURCES.txt manifest filezSOURCES.txtN)r"   r#   r   rx   manifest_makerr@   r   ignore_egg_info_dirmanifestr   filelist)rC   manifest_filenamemms   &  r8   r   egg_info.find_sources:  sR    GGLLFD--.!%!A!A'
r:   )r|   rx   r}   r~   r   r   ))z	egg-base=r   zLdirectory containing .egg-info directories [default: top of the source tree])ry   dz0Add date stamp (e.g. 20050528) to version number)z
tag-build=bz-Specify explicit tag to add to version number)rz   Dz"Don't include date stamp [default]F)rq   rr   rs   rt   descriptionuser_optionsboolean_optionsnegative_optr   ru   r   setterr   r   PY_MAJORr   r   r   r   r   r   rv   rX   r:   r8   rx   rx      s    ?K
L "lO:L1    
	7>@ ,4d T+$

,$ $r:   rx   c                     a  ] tR tRtRR V 3R llltR R ltR tR tR tR	 t	R
 t
R tR tR tR tR R ltR R ltR tR tRtV ;t# )r   iD  c                    V ^8  d   QhRRRR/# )rT   r   rW   rV   r   rX   )rY   s   "r8   rZ   FileList.__annotate__G  s     7 7@D7	7r:   c                	2   < \         SV `  W4       W0n        R # r>   )super__init__r   )rC   r   debug_printr   	__class__s   &&&&r8   r   FileList.__init__G  s     	+#6 r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r   M  s     D= D=T D=r:   c                	   V P                  V4      w  r#rER V P                  RV P                  RV P                  RV P                  R\
        P                  ! V P                  V4      R\
        P                  ! V P                  V4      RV P                  RV P                  /pR RRR	RR
RRRRRRRRRR/p Wb,          pTP                  R4      p
TR9   d   T.pT
'       d   T3MRpYr,          pT P                  RP                  T.T
'       d   T.M. ,           T,           4      4       T F+  pT! T4      '       d   K  \         P"                  ! Y.TO5!   K-  	  R#   \         d    RT: RT: 2p	\        T	4      Rhi ; i)includeexcludezglobal-includezglobal-excludezrecursive-includezrecursive-excludegraftprunez%warning: no files found matching '%s'z9warning: no previously-included files found matching '%s'z>warning: no files found matching '%s' anywhere in distributionzRwarning: no previously-included files matching '%s' found anywhere in distributionz:warning: no files found matching '%s' under directory '%s'zNwarning: no previously-included files matching '%s' found under directory '%s'z+warning: no directories found matching '%s'z6no previously-included directories found matching '%s'z$Invalid MANIFEST.in: unknown action z in Nz
recursive-rd   >   r  r  rX   )_parse_template_liner   r   global_includeglobal_exclude	functoolspartialrecursive_includerecursive_excluder  r  KeyErrorr   
startswithr   r   r   r   )rC   lineactionpatternsdirdir_pattern
action_maplog_mapprocess_actionr   action_is_recursiveextra_log_argslog_tmplpatterns   &&            r8   process_template_lineFileList.process_template_lineM  s    04/H/H/N,3 t||t||d11d11!2!2&&"  !2!2&&" TZZTZZ+

" >SP6  L2 BM%
*	8'/N %//=''#}H#6#B?HH%8SEbAHL	

  G!'**<^<  '  	88
$thOC(-47	8s   4E "E;c                   Rp\        \        V P                  4      ^,
          RR4       F\  pV! V P                  V,          4      '       g   K$  V P                  RV P                  V,          ,           4       V P                  V RpK^  	  V# )zn
Remove all files from the file list that match the predicate.
Return True if any matching files were removed
Fz
 removing T)ranger(   filesr   )rC   	predicatefoundr2   s   &&  r8   _remove_filesFileList._remove_files  sn    
 s4::*B3AA''  

1!=>JJqM	 4
 r:   c                    \        V4       Uu. uF,  p\        P                  P                  V4      '       d   K*  VNK.  	  ppV P	                  V4       \        V4      # u upi )z#Include files that match 'pattern'.)r	   r"   r#   isdirextendrW   )rC   r  r   r  s   &&  r8   r   FileList.include  sG     MBMqq1AMBEE{ Cs
   'AAc                N    \        V4      pV P                  VP                  4      # )z#Exclude files that match 'pattern'.)r9   r   matchrC   r  r'  s   && r8   r   FileList.exclude  s!    !'*!!%++..r:   c                   \         P                  P                  VRV4      p\        VRR7       Uu. uF,  p\         P                  P	                  V4      '       d   K*  VNK.  	  ppV P                  V4       \        V4      # u upi )z>
Include all files anywhere in 'dir/' that match the pattern.
r   T)	recursive)r"   r#   r   r	   r#  r$  rW   )rC   r  r  full_patternr   r  s   &&&   r8   r  FileList.recursive_include  se     ww||Cw7 >W>qbggmmTUFV>WEE{ Xs   'BBc                    \        \        P                  P                  VRV4      4      pV P	                  VP
                  4      # )z=
Exclude any file anywhere in 'dir/' that match the pattern.
r   r9   r"   r#   r   r   r'  )rC   r  r  r'  s   &&& r8   r	  FileList.recursive_exclude  s4     ""'',,sD'"BC!!%++..r:   c                    \        V4       UUu. uF+  p\        P                  P                  V4       F  pVNK  	  K-  	  pppV P	                  V4       \        V4      # u uppi )zInclude all files from 'dir/'.)r	   r   r   findallr$  rW   )rC   r  	match_diritemr  s   &&   r8   r  FileList.graft  sc     "#Y
&	!**229= = & 	 

 	EE{
s   1Ac                    \        \        P                  P                  VR4      4      pV P	                  VP
                  4      # )zFilter out files from 'dir/'.r   r/  )rC   r  r'  s   && r8   r  FileList.prune  s0    !"'',,sD"9:!!%++..r:   c                8   V P                   f   V P                  4        \        \        P                  P                  RV4      4      pV P                    Uu. uF  q2P                  V4      '       g   K  VNK  	  ppV P                  V4       \        V4      # u upi )z{
Include all files anywhere in the current directory that match the
pattern. This is very inefficient on large file trees.
r   )	allfilesr2  r9   r"   r#   r   r'  r$  rW   )rC   r  r'  r   r  s   &&   r8   r  FileList.global_include  sm    
 == LLN!"'',,tW"=> MM<Mq[[^M<EE{ =s   B3Bc                    \        \        P                  P                  RV4      4      pV P	                  VP
                  4      # )z4
Exclude all files anywhere that match the pattern.
r   r/  r(  s   && r8   r  FileList.global_exclude  s2     ""'',,tW"=>!!%++..r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r     s     $ $d $r:   c                	    VP                  R 4      p\        V4      pV P                  V4      '       d   V P                  P	                  V4       R# R# )N)removesuffixr   
_safe_pathr  append)rC   r4  r#   s   && r8   rB  FileList.append  sB      &D!??4  JJd# !r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r     s     : :t :r:   c                	d    V P                   P                  \        V P                  V4      4       R # r>   )r  r$  filterrA  )rC   pathss   &&r8   r$  FileList.extend  s    

&%89r:   c                b    \        \        V P                  V P                  4      4      V n        R# )z
Replace self.files with only safe paths

Because some owners of FileList manipulate the underlying
``files`` attribute directly, this method must be called to
repair those paths.
N)r   rF  rA  r  rB   s   &r8   _repairFileList._repair  s     &$**=>
r:   c                	L   R p\         P                  ! V4      pVf   \        P                  ! RV R24       R# \         P                  ! VR4      pVf   \        P                  ! W!R4       R#  RV9   ;'       g    RV9   pV P
                  '       d   V'       d   R# \        P                  P                  V4      '       g&   \        P                  P                  V4      '       d   R# R#   \         d/    \        P                  ! Y!\        P                  ! 4       4        R# i ; i)	z!'%s' not %s encodable -- skippingNr   z$' in unexpected encoding -- skippingFr   r   s	   .egg-infoT)unicode_utilsfilesys_decoder   r   
try_encoder   r"   r#   r   UnicodeEncodeErrorsysgetfilesystemencoding)rC   r#   enc_warnu_path	utf8_pathis_egg_infos   &&    r8   rA  FileList._safe_path  s    6 --d3>HHqBCD ",,VW=	HHXW-
	B%/LL<93LK'''Kww~~f%%	)B)B *C " 	BHHXS%>%>%@A	Bs*   .C* :C* C* $C* $C* *5D#"D#)r  r   )NNF)rq   rr   rs   rt   r   r  r   r   r   r  r	  r  r  r  r  rB  r$  rJ  rA  rv   __classcell__)r   s   @r8   r   r   D  s\    7 7D=L/
//

/$:?B Br:   r   c                      ] tR tRtRtR R ltR R ltR R ltR	 tR
 R lt	R R lt
]R 4       tR R ltR R ltR tR tRtR# )r   i  zMANIFEST.inc                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   manifest_maker.__annotate__  s     ) )D )r:   c                	L    R V n         R V n        R V n        R V n        RV n        R# )TFN)use_defaultsr  manifest_onlyforce_manifestr   rB   s   &r8   r   !manifest_maker.initialize_options  s)     
!"#( r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r[    s      $ r:   c                	    R # r>   rX   rB   s   &r8   r   manifest_maker.finalize_options  s    r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r[    s      T r:   c                	@   \        V P                  R 7      V n        \        P                  P                  V P                  4      '       g   V P                  4        V P                  4        \        P                  P                  V P                  4      '       d   V P                  4        V P                  4        V P                  4        V P                  4        V P                  P                  4        V P                  P                  4        V P                  4        R# ))r   N)r   r   r   r"   r#   r   r   write_manifestadd_defaultstemplateread_templateadd_license_files_add_referenced_filesprune_file_listsortremove_duplicatesrB   s   &r8   r   manifest_maker.run  s     T5M5MNww~~dmm,,!77>>$--((  ""$'')r:   c                	n    \         P                  ! V4      pVP                  \        P                  R 4      # )/)rM  rN  rg   r"   r$   )rC   r#   s   &&r8   _manifest_normalize"manifest_maker._manifest_normalize(  s'    ++D1||BFFC((r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r[  ,  s     
> 
> 
>r:   c                   V P                   P                  4        V P                   P                   Uu. uF  qP                  V4      NK  	  ppRV P                   R2pV P                  \        V P                  V3V4       R# u upi )zW
Write the file list in 'self.filelist' to the manifest file
named by 'self.manifest'.
zwriting manifest file 'r   N)r   rJ  r  rr  r   executer   )rC   r   r  r   s   &   r8   rf  manifest_maker.write_manifest,  sp    
 	 7;mm6I6IJ6I))!,6IJ'a8Z$--!7= Ks   Bc                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r[  8  s     " "4 "r:   c                	d    V P                  V4      '       g   \        P                  ! W4       R # R # r>   )_should_suppress_warningr   r   )rC   r   s   &&r8   r   manifest_maker.warn8  s$    ,,S11JJt! 2r:   c                0    \         P                  ! RV 4      # )z+
suppress missing-file warnings from sdist
zstandard file .*not found)r%   r'  )r   s   &r8   rz  'manifest_maker._should_suppress_warning<  s    
 xx4c::r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r[  C  s     - -d -r:   c                	   \         P                  ! V 4       V P                  P                  V P                  4       V P                  P                  V P
                  4       \        \        4       4      pV'       d   V P                  P                  V4       M?\        P                  P                  V P
                  4      '       d   V P                  4        \        P                  P                  R 4      '       d   V P                  P                  R 4       V P                  R4      pV P                  P                  VP                  4       R# )zsetup.pyrx   N)r   rg  r   rB  rh  r   r   r   r$  r"   r#   r   read_manifestget_finalized_commandr  rx   )rC   rcfilesei_cmds   &  r8   rg  manifest_maker.add_defaultsC  s    4 T]]+T]]+|~&MM  )WW^^DMM** 77>>*%% MM  ,++J7FOO,r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   r[  U  s     , ,4 ,r:   c                	    V P                   P                  P                  ;'       g    . pV F  p\        P                  ! R V4       K  	  V P
                  P                  V4       R# )zadding license file '%s'N)r@   r   license_filesr   r   r   r$  )rC   r  lfs   &  r8   rj   manifest_maker.add_license_filesU  sL    ))22@@FFBBHH/4  ]+r:   c                    \        V P                  R. 4      pV F  p\        P                  ! RV4       K  	  V P                  P                  V4       R# )zGAdd files referenced by the config (e.g. `file:` directive) to filelist_referenced_filesz%adding file referenced by config '%s'N)getattrr@   r   debugr   r$  )rC   
referencedrfs   &  r8   rk  $manifest_maker._add_referenced_files[  sB    T..0CRH
BII=rB Z(r:   c                    \        VR4      '       d   VP                  4       # \        P                  ! RRRR7       VP	                  4       # )z
The parent class implementation of this method
(``sdist``) will try to include data files, which
might cause recursion problems when
``include_package_data=True``.

Therefore, avoid triggering any attempt of
analyzing/building the manifest again.
get_data_files_without_manifestz@`build_py` command does not inherit from setuptools' `build_py`.z
            Custom 'build_py' does not implement 'get_data_files_without_manifest'.
            Please extend command classes from setuptools instead of distutils.
            z!https://peps.python.org/pep-0632/)see_url)hasattrr  r   emitget_data_files)rC   build_pys   &&r8   _safe_data_filesmanifest_maker._safe_data_filesc  sM     8>??;;==$))N 8	
 &&((r:   )r   r_  r   r^  r  r]  N)rq   rr   rs   rt   rh  r   r   r   rr  rf  r   staticmethodrz  rg  rj  rk  r  rv   rX   r:   r8   r   r     sM    H))
>" ; ;-$,))r:   r   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   rZ   |  s     
 
d 
r:   c                    RP                  V4      pVP                  R4      p\        V R4      ;_uu_ 4       pVP                  V4       RRR4       R#   + '       g   i     R# ; i)zsCreate a file with the specified name and write 'contents' (a
sequence of strings without line terminators) to it.

r   r   N)r   r   r   r   )r   contentsr   s   && r8   r   r   |  sL     yy"H w'H	h			 
			s   AA$	c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   rZ     s     4 4t 4r:   c                   \         P                  ! R V4       V P                  P                  pV P                  VP
                  uVn        pV P                  VP                  uVn        p VP                  ! V P                  4       WTuVn        Vn        \        V P                  RR4      p\        P                  ! V P                  V4       R#   YTuTn        Tn        i ; i)z
writing %szip_safeN)r   r   r@   r   r~   rQ   r}   rD   write_pkg_inforx   r  r   write_safety_flag)cmdbasenamer   r   oldveroldnamesafes   &&&    r8   r  r    s    HH\8$((H"0@0@Hf \\8==HM7:-*1'x'3##Z6Dd3	 +2'x's   +C Cc                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   rZ     s      d r:   c                    R# )aR  
Unused: left to avoid errors when updating (from source) from <= 67.8.
Old installations have a .dist-info directory with the entry-point
``depends.txt = setuptools.command.egg_info:warn_depends_obsolete``.
This may trigger errors when running the first egg_info in build_meta.
TODO: Remove this function in a version sufficiently > 68.
NrX   r  r  r   s   &&&r8   warn_depends_obsoleter    s    r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   rZ     s     P PT Pr:   c           	        \         P                  V P                  P                  4        Uu. uF  q3P	                  R ^4      ^ ,          NK  	  up4      pV P                  RVRP                  \        V4      4      R,           4       R# u upi )r   ztop-level namesr  N)r   fromkeysr@   iter_distribution_namesr!   r   r   sorted)r  r  r   kpkgss   &&&  r8   write_toplevel_namesr    sq    ==$'$4$4$L$L$N$NqQ$N D NN$h		&,0G$0NOs   !Bc                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   rZ     s     - -d -r:   c                     \        WVR 4       R# )TN)	write_argr  s   &&&r8   overwrite_argr    s    cXt,r:   c                    V ^8  d   QhRRRR/# r   rX   )rY   s   "r8   rZ   rZ     s     > >d >t >r:   c                    \         P                  P                  V4      ^ ,          p\        V P                  VR4      pVe   RP                  V4      R,           pV P                  WBWS4       R# )    Nr  )r"   r#   splitextr  r@   r   r   )r  r  r   r   argnamer   s   &&&&  r8   r  r    sX    ggx(+GC$$gt4E		% 4'W=r:   c                   V ^8  d   QhRR/# r   rX   )rY   s   "r8   rZ   rZ     s     C Cd Cr:   c                    \         P                  ! V P                  P                  4      p\         P                  ! V4      pV P                  R W$R4       R# )zentry pointsTN)r
   r   r@   r   renderr   )r  r  r   epsdefns   &&&  r8   write_entriesr    s@    


S--::
;C$D^XTBr:   c                    \         P                  ! V 4      p\         P                  ! V4      pT RT RT;'       g    \         2pV'       d   VRV 2,          pV# )r   r   z-py)r   r   r   )r}   r~   r   r   rD   rQ   eggs   &&&&   r8   r   r     sY    ,,X6D//<GF!G9C
 6 6h7
8C8*~Jr:   c                      ] tR tRtRtRtR# )EggInfoDeprecationWarningi  z?Deprecated behavior warning for EggInfo, bypassing suppression.rX   N)rq   rr   rs   rt   __doc__rv   rX   r:   r8   r  r    s    Ir:   r  r   )NN)>r  
__future__r   r  r"   r%   rQ  rm   collections.abcr   re   packaging.requirementspackaging.versionsetuptools.unicode_utilsrM  
setuptoolsr   setuptools.commandr   setuptools.command.sdistr   r   setuptools.command.setoptr   setuptools.globr	   r   r
   r   
_importlibr   warningsr   r   distutils.errorsr   distutils.filelistr   r   r   	_FileListdistutils.utilr   version_infomajorminorr   r9   r<   rx   r   r   r  r  write_requirementswrite_setup_requirementsr  r  r  r  r   r  rX   r:   r8   <module>r     s  < #  	 	 
  $    0  ( 8 1   , ! 3     3 4 '$$%Qs'7'7'='=&>?P;f, ,^W$z7 W$tFBy FBRl)U l)^
4  "44 '@@ P->CJ < Jr:   