+
    Pjxh                       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 R4      t/R t0 ! R R4      t1 ! R R]1]4      t2 ! R R](4      t' ! R R]4      t3R R lt4R R  lt5R! R" lt6]!Pn                  t7]!Pp                  t8R# R$ lt9R% R& lt:R.R' R( llt;R) R* lt<R/R+ lt= ! R, R-] 4      t>R# )0zUsetuptools.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                  2    ] tR t^(tRtR R ltR tR tRtR# )_NormalizedMatcheraq  
Wrap a compiled pattern so that matching is insensitive to Unicode
normalization form.

File names walked from disk (NFD on macOS APFS/HFS+) and patterns from
``MANIFEST.in`` (typically NFC) can denote the same file while differing
byte-for-byte. Normalizing both sides before matching keeps an exclusion
(or inclusion) from silently failing. See GHSA-h35f-9h28-mq5c.
c                    V ^8  d   QhRRRR/# )   patternz
re.PatternreturnNone )formats   "t/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/setuptools/command/egg_info.py__annotate___NormalizedMatcher.__annotate__3   s        
  t      c                	    Wn         R # N_pattern)selfr   s   &&r   __init___NormalizedMatcher.__init__3   s    r    c                	`    V P                   P                  \        P                  ! V4      4      # r"   )r$   matchunicode_utils	normalizer%   paths   &&r   r)   _NormalizedMatcher.match6   s"    }}""=#:#:4#@AAr    c                	`    V P                   P                  \        P                  ! V4      4      # r"   )r$   searchr*   r+   r,   s   &&r   r0   _NormalizedMatcher.search9   s"    }}##M$;$;D$ABBr    r#   N)	__name__
__module____qualname____firstlineno____doc__r&   r)   r0   __static_attributes__r   r    r   r   r   (   s     BCr    r   c                   Rp\         P                  ! V 4      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      4      # )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)r*   r+   splitosr-   sepreescape	enumeratelenr   compile	MULTILINEDOTALL)r	   patchunksrG   
valid_charcchunk
last_chunki	chunk_lencharinner_iinner
char_classs   &             r   translate_patternr[   =   s    C
 ""4(D 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bjjBLL2994LMNNr    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      # r"   )r   	safe_namedistributionget_namer%   s   &r   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)r%   taggeds   & r   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r%   versions   &&r   rf   InfoCommon._maybe_tag   s8     zzzd227;; 	
 ::%	
r    c                    V ^8  d   QhRRRR/# )r   rp   strr   boolr   )r   s   "r   r   InfoCommon.__annotate__   s     A As At Ar    c                	X    VP                  V P                  V P                  4       34      # r"   )endswithrm   
_safe_tagsro   s   &&r   rn   InfoCommon._already_tagged   s%     T__-> ?@@r    c                   V ^8  d   QhRR/# r   r   rs   r   )r   s   "r   r   ru      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)0rB    r   )r   rh   rm   	packagingrp   InvalidVersionr_   replacerb   s   &r   rx   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/# r{   r   )r   s   "r   r   ru      s      c r    c                	    R pV P                   '       d   WP                   ,          pV P                  '       d   V\        P                  ! R4      ,          pV# )r9   z%Y%m%d)	tag_buildtag_datetimestrftimero   s   & r   tagsInfoCommon.tags   s=    >>>~~%G===t}}X..Gr    r   )r2   r3   r4   r5   r   r   propertyrc   rj   rf   rn   rx   r   rm   r7   r   r    r   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_namer   egg_versionignore_egg_info_in_manifestrb   s   &r   initialize_optionsegg_info.initialize_options   s'    +0(r    c                   V ^8  d   QhRR/# )r   r   z
int | Noner   )r   s   "r   r   egg_info.__annotate__   s      * r    c                	    R # r"   r   rb   s   &r   tag_svn_revisionegg_info.tag_svn_revision       r    c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r      s       r    c                	    R # r"   r   )r%   values   &&r   r   r      r   r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   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.
)r   r   )r   N)dictr   r   )r%   filenamer   s   && r   save_version_infoegg_info.save_version_info   s%     $))+:HdH56r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   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: -Nr9   r   	.egg-info)rc   r   rj   r   r   rp   Version
isinstancerequirementsRequirement
ValueError	distutilserrorsDistutilsOptionErrorr   r`   package_dirgetrF   curdirensure_dirnamer   filename_componentr   r-   joinr   )r%   parsed_version
is_versionspecedirss   &     r   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   )r%   
py_versionplatforms   &&&r   _get_egg_basenameegg_info._get_egg_basename  s    T]]D,<,<jSSr    c                    V ^8  d   QhRRRR/# r   forcert   r   r   r   )r   s   "r   r   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_filerF   r-   existsr   warndelete_file)r%   whatr   datar   s   &&&&&r   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   r   )r   s   "r   r   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)r%   r   r   r   fs   &&&& r   r   egg_info.write_file-  sA     	#T4{{7#4 			r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   9  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   rF   unlink)r%   r   s   &&r   r   egg_info.delete_file9  s    )
		(r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   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mkpathr   rF   utimeOSErrorr   r   DistutilsFileErrorloadrc   r-   r   r   r   find_sources)r%   writersr   msgepwriternls   &      r   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   r   )r   s   "r   r   r   T  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)rF   r-   r   r   manifest_makerr`   r   ignore_egg_info_dirmanifestr   filelist)r%   manifest_filenamemms   &  r   r   egg_info.find_sourcesT  sR    GGLLFD--.!%!A!A'
r    )r   r   r   r   r   r   ))z	egg-base=r   zLdirectory containing .egg-info directories [default: top of the source tree])r   dz0Add date stamp (e.g. 20050528) to version number)z
tag-build=bz-Specify explicit tag to add to version number)r   Dz"Don't include date stamp [default]F)r2   r3   r4   r5   descriptionuser_optionsboolean_optionsnegative_optr   r   r   setterr   r   PY_MAJORr   r   r   r   r   r   r7   r   r    r   r   r      s    ?K
L "lO:L1    
	7>@ ,4d T+$

,$ $r    r   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   i^  c                    V ^8  d   QhRRRR/# )r   r   rt   r   r   r   )r   s   "r   r   FileList.__annotate__a  s     7 7@D7	7r    c                	2   < \         SV `  W4       W0n        R # r"   )superr&   r   )r%   r   debug_printr   	__class__s   &&&&r   r&   FileList.__init__a  s     	+#6 r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r
  g  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-r~   >   r  r  r   )_parse_template_liner  r  global_includeglobal_exclude	functoolspartialrecursive_includerecursive_excluder  r  KeyErrorr   
startswithr  r   r   r   )r%   lineactionpatternsdirdir_pattern
action_maplog_mapprocess_actionr   action_is_recursiveextra_log_argslog_tmplr   s   &&            r   process_template_lineFileList.process_template_lineg  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)rangerK   filesr  )r%   	predicatefoundrU   s   &&  r   _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	   rF   r-   isdirextendrt   )r%   r   r   r1  s   &&  r   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'.)r[   r2  r)   r%   r   r)   s   && r   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)rF   r-   r   r	   r5  r6  rt   )r%   r"  r   full_patternr   r1  s   &&&   r   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;   r[   rF   r-   r   r2  r)   )r%   r"  r   r)   s   &&& r   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   findallr6  rt   )r%   r"  	match_diritemr1  s   &&   r   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@  )r%   r"  r)   s   && r   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;   )	allfilesrC  r[   rF   r-   r   r)   r6  rt   )r%   r   r)   r   r1  s   &&   r   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@  r9  s   && r   r  FileList.global_exclude  s2     ""'',,tW"=>!!%++..r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   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)r%   rE  r-   s   && r   rS  FileList.append  sB      &D!??4  JJd# !r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r
    s     : :t :r    c                	d    V P                   P                  \        V P                  V4      4       R # r"   )r/  r6  filterrR  )r%   pathss   &&r   r6  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   rW  rR  r/  rb   s   &r   _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)r*   filesys_decoder   r   
try_encoder   rF   r-   r   UnicodeEncodeErrorsysgetfilesystemencoding)r%   r-   enc_warnu_path	utf8_pathis_egg_infos   &&    r   rR  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)r2   r3   r4   r5   r&   r*  r2  r  r  r  r  r  r  r  r  rS  r6  r[  rR  r7   __classcell__)r  s   @r   r   r   ^  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   r   )r   s   "r   r   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   &r   r   !manifest_maker.initialize_options*  s)     
!"#( r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rk  1  s      $ r    c                	    R # r"   r   rb   s   &r   r   manifest_maker.finalize_options1  s    r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rk  4  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   rF   r-   r   r   write_manifestadd_defaultstemplateread_templateadd_license_files_add_referenced_filesprune_file_listsortremove_duplicatesrb   s   &r   r   manifest_maker.run4  s     T5M5MNww~~dmm,,!77>>$--((  ""$'')r    c                	n    \         P                  ! V4      pVP                  \        P                  R 4      # )/)r*   r^  r   rF   rG   r,   s   &&r   _manifest_normalize"manifest_maker._manifest_normalizeB  s'    ++D1||BFFC((r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rk  F  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   r[  r/  r  r   executer   )r%   r   r/  r   s   &   r   rv  manifest_maker.write_manifestF  sp    
 	 7;mm6I6IJ6I))!,6IJ'a8Z$--!7= Ks   Bc                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rk  R  s     " "4 "r    c                	d    V P                  V4      '       g   \        P                  ! W4       R # R # r"   )_should_suppress_warningr   r   )r%   r   s   &&r   r   manifest_maker.warnR  s$    ,,S11JJt! 2r    c                0    \         P                  ! RV 4      # )z+
suppress missing-file warnings from sdist
zstandard file .*not found)rH   r)   )r   s   &r   r  'manifest_maker._should_suppress_warningV  s    
 xx4c::r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rk  ]  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.pyr   N)r   rw  r   rS  rx  r   r   r   r6  rF   r-   r   read_manifestget_finalized_commandr  r   )r%   rcfilesei_cmds   &  r   rw  manifest_maker.add_defaults]  s    4 T]]+T]]+|~&MM  )WW^^DMM** 77>>*%% MM  ,++J7FOO,r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rk  o  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   r6  )r%   r  lfs   &  r   rz   manifest_maker.add_license_fileso  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   r6  )r%   
referencedrfs   &  r   r{  $manifest_maker._add_referenced_filesu  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)r%   build_pys   &&r   _safe_data_filesmanifest_maker._safe_data_files}  sM     8>??;;==$))N 8	
 &&((r    )r   ro  r   rn  r  rm  N)r2   r3   r4   r5   rx  r   r   r   r  rv  r   staticmethodr  rw  rz  r{  r  r7   r   r    r   r   r   '  sM    H))
>" ; ;-$,))r    r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     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   && r   r   r     sL     yy"H w'H	h			 
			s   AA$	c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     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   rp   r   rc   write_pkg_infor   r  r   write_safety_flag)cmdbasenamer   r   oldveroldnamesafes   &&&    r   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   r   )r   s   "r   r   r     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.
Nr   r  r  r   s   &&&r   warn_depends_obsoleter    s    r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     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_namesrE   r   r   sorted)r  r  r   kpkgss   &&&  r   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   r   )r   s   "r   r   r     s     - -d -r    c                     \        WVR 4       R# )TN)	write_argr  s   &&&r   overwrite_argr    s    cXt,r    c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r     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  )rF   r-   splitextr  r`   r   r   )r  r  r   r   argnamer   s   &&&&  r   r  r    sX    ggx(+GC$$gt4E		% 4'W=r    c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     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   &&&  r   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   rc   rp   eggs   &&&&   r   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.r   N)r2   r3   r4   r5   r6   r7   r   r    r   r  r    s    Ir    r  r  )NN)?r6   
__future__r   r  rF   rH   ra  r   collections.abcr   r   packaging.requirementspackaging.versionsetuptools.unicode_utilsr*   
setuptoolsr   setuptools.commandr   setuptools.command.sdistr   r   setuptools.command.setoptr   setuptools.globr	   r9   r
   r   
_importlibr   warningsr   r   distutils.errorsr   distutils.filelistr   r   r   	_FileListdistutils.utilr   version_infomajorminorr  r   r[   r]   r   r   r   r  r  write_requirementswrite_setup_requirementsr  r  r  r  r   r  r   r    r   <module>r     s'  < #  	 	 
  $    0  ( 8 1   , ! 3     3 4 '$$%Qs'7'7'='=&>?C C*UOp, ,^W$z7 W$tFBy FBRl)U l)^
4  "44 '@@ P->CJ < Jr    