
    vKg'=                    N   % S r SSKJr  SSKrSSKrSSKJr  SSKJr  SSK	J
r
Jr  SSKJr  SSKJr  SS	KJr  SS
KJrJrJrJrJr  SSKJr  SSKJr  SSKJr  SSKJr  \(       a  SSK J!r!  SSK"J#r#  SSK$J%r%  SSK&J'r'  \" 0 5      r(S\)S'   \\*\+\*\*4   4   r,S\)S'   \S\\\S4   /S4   r-S\)S'   \" S5      r.\R^                  " \05      r1SjS jr2SkS jr3SlS jr4SmS jr5SnS  jr6SoS! jr7S"S#S$S%.r8SpS& jr9      SqS' jr:SrS( jr;SsS) jr<StS* jr=SuS+ jr>SvS, jr?StS- jr@SwS. jrASxS/ jrBSyS0 jrCSzS1 jrD\(4S{S2 jjrES|S3 jrFS}S5 jrGS~S6 jrHSS7 jrISS8 jrJSS9 jrKS: rLS; rM\:\;\
" \<S<S=9\
" \<S>S=9\=\?\@\>S?.rNS@\)SA'   SBSC0rOSDSE0rP1 SFkrQSG\A0rR0 S4\L" SH5      _SI\L" SJ5      _SK\L" SL5      _SM\L" SN5      _SO\M" SPSQ5      _SR\L" SS5      _ST\M" SUSV5      _SW\M" SXSY5      _SZ\L" S[5      _S\\L" S]5      _S^\L" S_5      _S`\I_SC\J_Sa\K_Sb\L" Sc5      _Sd\L" Se5      _rS0 / / / / 0 0 0 0 / 0 Sf.rTS\)Sg'    " Sh Si\5      rUg)ak  Translation layer between pyproject config and setuptools distribution and
metadata objects.

The distribution and metadata objects are modeled after (an old version of)
core metadata, therefore configs in the format specified for ``pyproject.toml``
need to be processed before being applied.

**PRIVATE MODULE**: API reserved for setuptools internal usage only.
    )annotationsN)Mapping)Address)partialreduce)cleandoc)chain)MappingProxyType)TYPE_CHECKINGAnyCallableTypeVarUnion   )StrPath)RemovedConfigError)	Extension)SetuptoolsWarning)	TypeAliasmetadataDistribution)_OptionsListr   EMPTYr   _ProjectReadmeValuer   _Correspondence_Tdictc                   U(       d  U $ [         R                  R                  U5      =(       d    Sn[        XU5        [	        XU5        [         R
                  " 5       n[         R                  " U5         U R                  5         U R                  5         [         R                  " U5        U $ ! [         R                  " U5        f = f)z=Apply configuration dict read with :func:`read_configuration`.)	ospathdirname_apply_project_table_apply_tool_tablegetcwdchdir_finalize_requires_finalize_license_files)distconfigfilenameroot_dircurrent_directorys        f/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/setuptools/config/_apply_pyprojecttoml.pyapplyr1   -   s     wwx(/CHx0dH-		HHX$!$$&
"#K 	"#s   6 B. .Cc                @   UR                  S0 5      R                  5       nU(       d  g [        X5        [        U5        UR	                  5        HL  u  pE[        U5      n[        R                  Xf5      n[        U5      (       a  U" XU5        M@  [        XU5        MN     g )Nproject)	getcopy_handle_missing_dynamic_unify_entry_pointsitemsjson_compatible_keyPYPROJECT_CORRESPONDENCEcallable_set_config)r+   r,   r.   project_tablefieldvaluenorm_keycorresps           r0   r%   r%   C   s    JJy"-224MD0&%++-&u-*..xBGD*u- .    c                   UR                  S0 5      R                  S0 5      nU(       d  g UR                  5        Hx  u  pE[        U5      nU[        ;   a=  [	        [        U   5      nSU S3n[        SR                  [	        U5      U/5      5      e[        R                  Xf5      n[        XU5        Mz     [        XU5        g )Ntool
setuptoolsz,
            The parameter `tool.setuptools.zZ` was long deprecated
            and has been removed from `pyproject.toml`.
            
)
r4   r8   r9   TOOL_TABLE_REMOVALSr   r   joinTOOL_TABLE_RENAMESr<   _copy_command_options)	r+   r,   r-   
tool_tabler>   r?   r@   
suggestionmsgs	            r0   r&   r&   T   s    FB'++L"=J"((*&u-**!"5h"?@J,,17 3C %TYYz/J%KLL%))(=DE* + &1rB   c                   [        UR                  S/ 5      5      n[        R                  5        HN  u  p4X1;   a  M  X2;   a  M  U" U 5      nU(       d  M$  [        R                  X5S9  [        R                  U5      X'   MP     g)zJBe temporarily forgiving with ``dynamic`` fields not listed in ``dynamic``dynamicr>   r?   N)setr4   _PREVIOUSLY_DEFINEDr8   _MissingDynamicemit_RESET_PREVIOUSLY_DEFINED)r+   r=   rO   r>   getterr?   s         r0   r6   r6   j   sk    -##Ir23G,224&%*:4LEu$$5$>'@'D'DU'K$ 5rB   c                B    U R                  5       R                  SS5      $ )z1As defined in :pep:`566#json-compatible-metadata`-_)lowerreplace)keys    r0   r9   r9   u   s    99;sC((rB   c                (   [         R                  U[        5      " X5      n[        U R                  SU 3S 5      nU(       a	  U" U5        g [        U R                  U5      (       d
  U[        ;   a  [        U R                  X5        g [        XU5        g )Nset_)_PREPROCESSr4   _noopgetattrr   hasattrSETUPTOOLS_PATCHESsetattr)r+   r>   r?   valsetters        r0   r<   r<   z   sj    
//%
'
4CT]]d5'ND9Fs		&	&%3E*Eu*S!rB   ztext/markdownz
text/x-rstz
text/plain)z.mdz.rstz.txtc                   [         R                  R                  U R                  5       5      u  pU(       d  g U[        ;   a	  [        U   $ SR                  S [        R                  5        5       5      nSU S3n[        SU  SU 35      e)N, c              3  4   #    U H  u  pU S U S3v   M     g7f)z ()N ).0kvs      r0   	<genexpr>&_guess_content_type.<locals>.<genexpr>   s      F/Etq2aSl/Es   z3only the following file extensions are recognized: r!   zUndefined content type for )r"   r#   splitextrZ   _CONTENT_TYPESrH   r8   
ValueError)filerY   extvalidrM   s        r0   _guess_content_typerw      s{    WWdjjl+FA
nc""IIF~/C/C/EFFE?wa
HC
24&3%@
AArB   c                   SSK Jn  [        U[        5      (       a  UnUR	                  XB5      n[        U5      nOHUR                  S5      =(       d    SnUR                  S5      =(       d    UR	                  XB5      nUS   n[        U SU5        U(       a  [        U SU5        U(       a  U R                  R                  U5        g g )	Nr   expandrt   rk   textzcontent-typelong_descriptionlong_description_content_type)
setuptools.configrz   
isinstancestr
read_filesrw   r4   r<   _referenced_filesadd)r+   re   r.   rz   rt   r{   ctypes          r0   _long_descriptionr      s     ) #s  0#D)wwv$"wwvC&"3"3D"CN#($/D95A""4( rB   c                    SSK Jn  SU;   a@  [        U SUR                  US   /U5      5        U R                  R                  US   5        g [        U SUS   5        g )Nr   ry   rt   licenser{   )r~   rz   r<   r   r   r   )r+   re   r.   rz   s       r0   _licenser      sS    (}D)V%6%6F}h%OP""3v;/D)S[1rB   c                r   / n/ nU He  nSU;  a  UR                  US   5        M  SU;  a  UR                  US   5        M;  [        US   US   S9nUR                  [        U5      5        Mg     U(       a  [        XSR	                  U5      5        U(       a  [        X S3SR	                  U5      5        g g )Nnameemail)display_name	addr_specrh   _email)appendr   r   r<   rH   )r+   re   	_root_dirkindr>   email_fieldpersonaddrs           r0   _peopler      s    EKvg/F"LL(v&/RDs4y)  D		% 01DF&/499[+AB rB   c                    [        U SU5        g )Nproject_urls)r<   )r+   re   r   s      r0   _project_urlsr      s    nc*rB   c                6    SSK Jn  [        U SU" U5      5        g )Nr   )SpecifierSetpython_requires)packaging.specifiersr   r<   )r+   re   r   r   s       r0   _python_requiresr      s    1'c):;rB   c                d    [        U S/ 5      (       a  Sn[        R                  " U5        Xl        g )Ninstall_requireszA`install_requires` overwritten in `pyproject.toml` (dependencies))ra   r   rT   r   r+   re   r   rM   s       r0   _dependenciesr      s+    t',,Qs#rB   c                d    [        U SS 5      (       a  Sn[        R                  " U5        Xl        g )Nextras_requirezH`extras_require` overwritten in `pyproject.toml` (optional-dependencies))ra   r   rT   r   r   s       r0   _optional_dependenciesr      s+    t%t,,Xs#rB   c                    U R                   =(       d    / nS U 5       nU Vs/ sH  n[        S0 UD6PM     nn/ UQUQ$ s  snf )Nc           	   3     #    U H9  oR                  5        VVs0 sH  u  p#UR                  S S5      U_M     snnv   M;     gs  snnf 7f)rX   rY   N)r8   r[   )rl   xrm   rn   s       r0   ro   _ext_modules.<locals>.<genexpr>   s8     HCq	:	QYYsC !#	:C:s   AAArk   )ext_modulesr   )r+   re   existingargskwnews         r0   _ext_modulesr      sK    %2HHCHD%)
*Tr9?r?TC
*X +s   ?c                    U$ Nrk   )_distre   s     r0   r`   r`      s    JrB   c                   U nUR                  SUR                  S0 5      5      nSSS.n[        UR                  5       5       H-  u  pE[        U5      nXc;   d  M  UR                  U5      X#U   '   M/     U(       a\  UR                  5        VVV	V
s0 sH7  u  pxU(       d  M  XxR                  5        V	V
s/ sH  u  pU	 SU
 3PM     sn
n	_M9     sn
n	nnUS'   g g s  sn
n	f s  sn
n	nnf )Nentry-pointsentry_pointsconsole_scriptsgui_scripts)scriptsr   z = )poplistr8   r9   )r=   r3   r   renamingr\   r?   r@   r   grouprm   rn   s              r0   r7   r7      s    G;;~w{{>2/NOL,]KH7==?+
&s+/6{{3/?L(+,	 ,   ,113#
3 ;DKKM:MDAaSA3<M::3#
 :#
s   C
 C
3CC
C
c           	     ,   U R                  S0 5      nUR                  S0 5      R                  S0 5      n[        U5      nUR                  nU R                  S0 5      R                  S0 5      R                  5        H  u  px[	        U5      nUR                  U[        5       5      n	UR                  U0 5        UR                  5        HE  u  p[	        U
5      n
[        U5      U4Xg   U
'   X;  d  M)  [        R                  SU SU
 S35        MG     M     g )NrD   rE   cmdclass	distutilszCommand option r!   z is not defined)
r4   _valid_command_optionscommand_optionsr8   r9   rQ   
setdefaultr   _loggerwarning)	pyprojectr+   r-   rK   r   valid_optionscmd_optscmdr,   rv   r\   r?   s               r0   rJ   rJ     s    vr*J~~lB/33JCH*84M##H }}VR044["EKKM!#&!!#su-C$ ,,.JC%c*C"%h-!7HM# /#auO LM )	 NrB   c           	     B   SSK Jn  SSKJn  S[	        UR
                  5      0nUR                  " SS9nS U 5       nS	 U 5       n[        X`R                  5       5       H<  u  pxUR                  U[        5       5      n	U	[	        [        US
/ 5      5      -  n	XU'   M>     U$ )Nr   r   r   r   globalzdistutils.commands)r   c              3  6   #    U H  n[        U5      v   M     g 7fr   )_load_eprl   eps     r0   ro   )_valid_command_options.<locals>.<genexpr>  s     H2GB8B<<2Gs   c              3  4   #    U H  o(       d  M  Uv   M     g 7fr   rk   r   s     r0   ro   r      s     ;!42BB!4s   		user_options)setuptools.distr   
_importlibr   _normalise_cmd_optionsglobal_optionsr   r	   r8   r4   rQ   ra   )
r   r   r   r   unloaded_entry_pointsloaded_entry_pointsr   r   	cmd_classoptss
             r0   r   r     s    ,%5l6Q6QRSM$118LMH2GH;!4;Lnn.>?  ce,,WYPR-STT!c @
 rB   c                *   U R                   R                  S5      (       a  g  U R                  U R                  5       4$ ! [         aI  nUR
                  R                   SU R                   3n[        R                  U SU 35         S nAg S nAff = f)Nzwheel.bdist_wheelz" while trying to load entry-point z: )	r?   
startswithr   load	Exception	__class____name__r   r   )r   exrM   s      r0   r   r   )  s    	xx.// ## &&''I"''S3%r"'s   ? 
B	?BBr   c                6    [        U 5      R                  S5      $ )Nz_=)r9   strip)r   s    r0   _normalise_cmd_option_keyr   8  s    t$**400rB   c                H    U  Vs1 sH  n[        US   5      iM     sn$ s  snf )Nr   )r   )descfancy_options     r0   r   r   <  s$    KOP4<%l1o64PPPs   c                    Sn[        U SS 5      =(       d    0 nUR                  5        VVs0 sH  u  p4X1;  d  M  X4_M     snn$ s  snnf )N)r   r   r   )ra   r8   )r+   ignorer?   rm   rn   s        r0   _get_previous_entrypointsr   @  sB    /FD.$/52E"[[]>]TQaoDAD]>>>s
   
AAc                P    [        U SS 5      =(       d    0 nUR                  S5      $ )Nr   r   ra   r4   r+   r?   s     r0   _get_previous_scriptsr   F  s%    D.$/52E99&''rB   c                P    [        U SS 5      =(       d    0 nUR                  S5      $ )Nr   r   r   r   s     r0   _get_previous_gui_scriptsr   K  s$    D.$/52E99]##rB   c                D    [        [        S U R                  S5      5      $ )a  
Similar to ``operator.attrgetter`` but returns None if ``attr`` is not found
>>> from types import SimpleNamespace
>>> obj = SimpleNamespace(a=42, b=SimpleNamespace(c=13))
>>> _attrgetter("a")(obj)
42
>>> _attrgetter("b.c")(obj)
13
>>> _attrgetter("d")(obj) is None
True
c                    [        XS 5      $ r   )ra   )accr   s     r0   <lambda>_attrgetter.<locals>.<lambda>\  s    '#$*?rB   r!   )r   r   split)attrs    r0   _attrgetterr   P  s     6?CQQrB   c                    ^  U 4S jnU$ )a$  
Return the first "truth-y" attribute or None
>>> from types import SimpleNamespace
>>> obj = SimpleNamespace(a=42, b=SimpleNamespace(c=13))
>>> _some_attrgetter("d", "a", "b.c")(obj)
42
>>> _some_attrgetter("d", "e", "b.c", "a")(obj)
13
>>> _some_attrgetter("d", "e", "f")(obj) is None
True
c                D   >^  U 4S jT 5       n[        S U 5       S 5      $ )Nc              3  D   >#    U H  n[        U5      " T5      v   M     g 7fr   )r   )rl   iobjs     r0   ro   5_some_attrgetter.<locals>._acessor.<locals>.<genexpr>m  s     5u!+a.%%us    c              3  ,   #    U H  oc  M  Uv   M     g 7fr   rk   )rl   r   s     r0   ro   r   n  s     81QQs   	)next)r   valuesr8   s   ` r0   _acessor"_some_attrgetter.<locals>._acessorl  s     5u588$??rB   rk   )r8   r   s   ` r0   _some_attrgetterr  _  s    @ OrB   author)r   
maintainer)readmer   authorsmaintainersurlsdependenciesoptional_dependenciesrequires_pythonzdict[str, _Correspondence]r:   script_filesr   namespace_packagesz
        Please migrate to implicit native namespaces instead.
        See https://packaging.python.org/en/latest/guides/packaging-namespace-packages/.
        >   license_filer   license_filesprovides_extrasr}   r   zmetadata.nameversionzmetadata.versiondescriptionzmetadata.descriptionr  zmetadata.long_descriptionzrequires-pythonr   zmetadata.python_requiresr   zmetadata.licenser  zmetadata.authorzmetadata.author_emailr  zmetadata.maintainerzmetadata.maintainer_emailkeywordszmetadata.keywordsclassifierszmetadata.classifiersr  zmetadata.project_urlsr   gui-scriptsr	  r   optional-dependenciesr   )r   r  r  r  r  r  r   r   r  r	  r  rU   c                  0    \ rS rSrSrSr\SS j5       rSrg)rS   i  z9`{field}` defined outside of `pyproject.toml` is ignored.a%  
    The following seems to be defined outside of `pyproject.toml`:

    `{field} = {value!r}`

    According to the spec (see the link below), however, setuptools CANNOT
    consider this value unless `{field}` is listed as `dynamic`.

    https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

    To prevent this problem, you can list `{field}` under `dynamic` or alternatively
    remove the `[project]` table from your file and rely entirely on other means of
    configuration.
    c                4    U R                   R                  XS9$ )NrP   )_DETAILSformat)clsr>   r?   s      r0   details_MissingDynamic.details  s    ||"""<<rB   rk   N)r>   r   r?   r   returnr   )	r   
__module____qualname____firstlineno___SUMMARYr  classmethodr  __static_attributes__rk   rB   r0   rS   rS     s"    JHH$ = =rB   rS   )r+   r   r,   r   r-   r   r  r   )r+   r   r,   r   r.   r   )r+   r   r,   r   r-   r   )r+   r   r=   r   )r\   r   r  r   )r+   r   r>   r   r?   r   )rt   r   r  z
str | None)r+   r   re   r   r.   StrPath | None)r+   r   re   r   r.   r%  )r+   r   re   
list[dict]r   r%  r   r   )r+   r   re   r   r   r%  )r+   r   re   r   r   r%  )r+   r   re   r   r   r%  )r+   r   re   r&  r  zlist[Extension])r   r   re   r   r  r   )r=   r   )r   r   r+   r   r-   r   )r   r   r  zdict[str, set[str]])r   zmetadata.EntryPointr  ztuple[str, type] | None)r   r   r  r   )r   r   r  zset[str])r+   r   r  zdict[str, list])r+   r   r  zlist | None)V__doc__
__future__r   loggingr"   collections.abcr   email.headerregistryr   	functoolsr   r   inspectr   	itertoolsr	   typesr
   typingr   r   r   r   r   _pathr   errorsr   	extensionr   warningsr   typing_extensionsr   setuptools._importlibr   r   r   distutils.distr   r   __annotations__r   r   r   r   r   	getLoggerr   r   r1   r%   r&   r6   r9   r<   rr   rw   r   r   r   r   r   r   r   r   r`   r7   rJ   r   r   r   r   r   r   r   r   r  r:   rI   rG   rc   r_   rR   rU   rS   rk   rB   r0   <module>r:     s:   #  	 # ( %   " ? ?  ' ! (+.,+ ""%w %!&sDcN':!; Y ;%~sE'4-<P&QSW&WX XT]


H
%,."2,L)
" 
B)
)0)<J)02C$+< 
(N& 05 $1Q?(
$
R*  wX.76!3'	8 4 	 %i0     <
K({-. ;56 k56	
 '(9;UV {-.  13JK #$9;VW /0 ;56 K/0 - $ , K 23  [)9:! . # 4 "=' =rB   