Ë
    óÇ:j°J  ã                  ó@  — U d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	m
Z
mZ ddlmZ ddlmZ dd	lmZ dd
lmZmZmZmZmZ ddlmZ ddlmZ ddlmZmZ ddlm Z  ddl!m"Z"m#Z# erddl$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+  ei «      Z,de-d<   ee.e/e.e.f   f   Z0de-d<   edeeedf   gdf   Z1de-d<    ed«      Z2 ejf                  e4«      Z5dsd„Z6dtd„Z7dud„Z8dvd „Z9dwd!„Z:dxd"„Z;d#d$d%d&œZ<dyd'„Z=	 	 	 	 	 	 dzd(„Z>d{d)„Z?d|d*„Z@d}d+„ZAd~d,„ZBdd-„ZCd}d.„ZDd€d/„ZEd�d0„ZFd‚d1„ZGdƒd2„ZHd„d3„ZIe,fd…d4„ZJd†d5„ZKd‡d7„ZLdˆd8„ZMd‰d9„ZNdŠd:„ZOdŠd;„ZPd‹d<„ZQd=„ ZRd>„ ZSe>e? e
e@d?¬@«       e
e@dA¬@«      eAeCeDeBdBœZTdCe-dD<   dEdFiZUdGdHiZV e
eQdI«       e
eQdJ«       e
eQdK«      dLœZWh dM£ZXdNeEiZYi d6 eRdO«      “dP eRdQ«      “dR eRdS«      “dT eRdU«      “dV eSdWdX«      “dY eSdZd[«      “d\ eSd]d^«      “d_ eSd`da«      “db eRdc«      “dd eRde«      “df eRdg«      “dheN“dFeO“dieP“dj eRdk«      “dl eRdm«      “ZZdnej¶                  ej¶                  ej¶                  ej¶                  ej¸                  ej¸                  ej¸                  ej¸                  ej¶                  ej¸                  doœZ]de-dp<    G dq„ dre#«      Z^y)Œ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é   )Ú_static)ÚStrPath)ÚInvalidConfigErrorÚRemovedConfigError)Ú	Extension)ÚSetuptoolsDeprecationWarningÚSetuptoolsWarning)Ú	TypeAlias©Úmetadata©ÚDistribution)Ú_OptionsListr   ÚEMPTYr   Ú_ProjectReadmeValuer   Ú_CorrespondenceÚ_TÚdictc                óš  — |s| S t         j                  j                  |«      xs d}t        | ||«       t	        | ||«       t        j
                  «       }t        j                  |«       	 | j                  «        | j                  «        | j                  «        t        j                  |«       | S # t        j                  |«       w xY w)z=Apply configuration dict read with :func:`read_configuration`ú.)
ÚosÚpathÚdirnameÚ_apply_project_tableÚ_apply_tool_tableÚgetcwdÚchdirÚ_finalize_requiresÚ_finalize_license_expressionÚ_finalize_license_files)ÚdistÚconfigÚfilenameÚroot_dirÚcurrent_directorys        ú{/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.pyÚapplyr5   .   sŸ   € ñ Øˆä�w‰w�‰˜xÓ(Ò/¨C€Hä˜˜v xÔ0Ü�d˜F HÔ-äŸ	™	›ÐÜ‡H�HˆXÔð$Ø×ÑÔ!Ø×)Ñ)Ô+Ø×$Ñ$Ô&ä
�‰Ð"Ô#à€Køô 	�‰Ð"Õ#ús   Á,0B3 Â3C
c                óŒ  — |j                  di «      }|sy |j                  «       D ��ci c]  \  }}|t        j                  |«      “Œ }}}t	        | |«       t        |«       |j                  «       D ]I  \  }}t        |«      }	t        j                  |	|	«      }
t        |
«      r |
| ||«       Œ=t        | |
|«       ŒK y c c}}w )NÚproject)
ÚgetÚitemsr   Úattempt_conversionÚ_handle_missing_dynamicÚ_unify_entry_pointsÚjson_compatible_keyÚPYPROJECT_CORRESPONDENCEÚcallableÚ_set_config)r/   r0   r2   Úorig_configÚkÚvÚproject_tableÚfieldÚvalueÚnorm_keyÚcorresps              r4   r(   r(   E   s¸   € Ø—*‘*˜Y¨Ó+€KÙØàBM×BSÑBSÓBU×V¹$¸!¸Q�Qœ×2Ñ2°1Ó5Ñ5ÐV€MÑVÜ˜D -Ô0Ü˜Ô&à%×+Ñ+Ó-ò .‰ˆˆuÜ& uÓ-ˆÜ*×.Ñ.¨x¸ÓBˆÜ�GÔÙ�D˜% Õ*ä˜˜g uÕ-ñ.ùó	 Ws   © C c                óT  — |j                  di «      j                  di «      }|sy d|v r<d|j                  di «      v rt        d«      ‚d}t        j                  dd|› �d	¬
«       |j	                  «       D ]£  \  }}t        |«      }|t        v r=t        t        |   «      }d|› d�}	t        dj                  t        |	«      |g«      «      ‚t        j                  ||«      }t        j                  ||«      }
t        |
«      r
 |
| |«       Œ—t        | |
|«       Œ¥ t        || |«       y )NÚtoolÚ
setuptoolszlicense-filesr7   zS'project.license-files' is defined already. Remove 'tool.setuptools.license-files'.z,guides/writing-pyproject-toml/#license-fileszt'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0).ú'https://packaging.python.org/en/latest/©ië  r   é   ©Úsee_urlÚdue_datez,
            The parameter `tool.setuptools.zZ` was long deprecated
            and has been removed from `pyproject.toml`.
            ú
)r8   r   r   Úemitr9   r=   ÚTOOL_TABLE_REMOVALSr   r   ÚjoinÚTOOL_TABLE_RENAMESÚTOOL_TABLE_CORRESPONDENCEr?   r@   Ú_copy_command_options)r/   r0   r1   Ú
tool_tableÚpypa_guidesrE   rF   rG   Ú
suggestionÚmsgrH   s              r4   r)   r)   W   sA  € Ø—‘˜F BÓ'×+Ñ+¨L¸"Ó=€JÙØà˜*Ñ$Ø˜fŸj™j¨°BÓ7Ñ7ä$ð:óð ð
 EˆÜ$×)Ñ)ðIà=¸k¸]ÐKØ"õ		
ð #×(Ñ(Ó*ò .‰ˆˆuÜ& uÓ-ˆàÔ*Ñ*Ü!Ô"5°hÑ"?Ó@ˆJð,Ø,1¨7ð 3ðˆCô % T§Y¡Y´¸³¸zÐ/JÓ%KÓLÐLä%×)Ñ)¨(°HÓ=ˆÜ+×/Ñ/°¸(ÓCˆÜ�GÔÙ�D˜%Õ ä˜˜g uÕ-ð!.ô$ ˜& $¨Õ1ó    c                óú   — t        |j                  dg «      «      }t        j                  «       D ]I  \  }}||v rŒ||v rŒ || «      }|sŒt        j                  ||¬«       t        j                  |«      ||<   ŒK y)zJBe temporarily forgiving with ``dynamic`` fields not listed in ``dynamic``Údynamic©rE   rF   N)Úsetr8   Ú_PREVIOUSLY_DEFINEDr9   Ú_MissingDynamicrS   Ú_RESET_PREVIOUSLY_DEFINED)r/   rD   r_   rE   ÚgetterrF   s         r4   r;   r;   �   sz   € ä�-×#Ñ# I¨rÓ2Ó3€GÜ,×2Ñ2Ó4ò L‰ˆˆvØ˜Ò&¨%°7Ò*:Ù˜4“LˆEÚÜ×$Ñ$¨5¸Ð$Ô>Ü'@×'DÑ'DÀUÓ'K�˜eÒ$ñLr]   c                óB   — | j                  «       j                  dd«      S )z1As defined in :pep:`566#json-compatible-metadata`ú-Ú_)ÚlowerÚreplace)Úkeys    r4   r=   r=   Œ   s   € à�9‰9‹;×Ñ˜s CÓ(Ð(r]   c                ó  — t        j                  |t        «      | |«      }t        | j                  d|› �d «      }|r	 ||«       y t        | j                  |«      s|t        v rt        | j                  ||«       y t        | ||«       y )NÚset_)Ú_PREPROCESSr8   Ú_noopÚgetattrr   ÚhasattrÚSETUPTOOLS_PATCHESÚsetattr)r/   rE   rF   ÚvalÚsetters        r4   r@   r@   ‘   sm   € Ü
�/‰/˜%¤Ó
'¨¨eÓ
4€CÜ�T—]‘] d¨5¨' N°DÓ9€FÙÙˆs�Ü	�—‘ Ô	&¨%Ô3EÑ*EÜ�—‘˜u cÕ*ä��e˜SÕ!r]   ztext/markdownz
text/x-rstz
text/plain)z.mdz.rstz.txtc                ó2  — t         j                  j                  | j                  «       «      \  }}|sy |t        v rt        j                  t        |   «      S dj                  d„ t        j                  «       D «       «      }d|› d�}t        d| › d|› �«      ‚)Nú, c              3  ó2   K  — | ]  \  }}|› d |› d�–— Œ y­w)z (ú)N© )Ú.0rB   rC   s      r4   ú	<genexpr>z&_guess_content_type.<locals>.<genexpr>«   s    è ø€ ÒF¡t q¨!˜˜˜2˜a˜S ”lÑFùó   ‚z3only the following file extensions are recognized: r$   zUndefined content type for )
r%   r&   Úsplitextri   Ú_CONTENT_TYPESr   ÚStrrU   r9   Ú
ValueError)Úfilerh   ÚextÚvalidr\   s        r4   Ú_guess_content_typer…   £   s†   € Ü�W‰W×Ñ˜dŸj™j›lÓ+�F€A€sÙØà
ŒnÑÜ�{‰{œ>¨#Ñ.Ó/Ð/à�I‰IÑF¬~×/CÑ/CÓ/EÔFÓF€EØ?À¸wÀaÐ
H€CÜ
Ð2°4°&¸¸3¸%Ð@Ó
AÐAr]   c                ó®  — ddl m} t        |t        «      r |}|j	                  ||«      }t        |«      }n?|j                  d«      xs d}|j                  d«      xs |j	                  ||«      }|d   }t        | dt        j                  |«      «       |r t        | dt        j                  |«      «       |r| j                  j                  |«       y y )	Nr   ©Úexpandr‚   rz   Útextzcontent-typeÚlong_descriptionÚlong_description_content_type)Úsetuptools.configrˆ   Ú
isinstanceÚstrÚ
read_filesr…   r8   r@   r   r€   Ú_referenced_filesÚadd)r/   rt   r2   rˆ   r‚   r‰   Úctypes          r4   Ú_long_descriptionr“   °   s¼   € õ )ô �#”sÔØˆØ× Ñ   xÓ0ˆÜ# DÓ)‰à�w‰w�v‹Ò$ "ˆØ�w‰w�v‹ÒC &×"3Ñ"3°D¸(Ó"CˆØ�NÑ#ˆô �Ð(¬'¯+©+°dÓ*;Ô<áÜ�DÐ9¼7¿;¹;ÀuÓ;MÔNáØ×Ñ×"Ñ" 4Õ(ð r]   c                ó   — ddl m} t        |t        «      r^t	        | j
                  dd «      r&t        j                  d«       d | j
                  _        t        | dt        j                  |«      «       y d}t        j                  ddd	|› �d
¬«       d|v rU|j                  |d   g|«      }t        | dt        j                  |«      «       | j                  j                  |d   «       y t        | dt        j                  |d   «      «       y )Nr   r‡   Úlicensez)`license` overwritten by `pyproject.toml`Úlicense_expressionz&guides/writing-pyproject-toml/#licensez/`project.license` as a TOML table is deprecatedz¨Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).rL   rM   rO   r‚   r‰   )rŒ   rˆ   r�   rŽ   rp   r   r   rS   r•   r@   r   r€   r   r�   r�   r‘   )r/   rt   r2   rˆ   rZ   rF   s         r4   Ú_licenser—   É   sá   € Ý(ä�#”sÔÜ�4—=‘= )¨TÔ2Ü×"Ñ"Ð#NÔOØ$(ˆD�M‰MÔ!Ü�DÐ.´·±¸CÓ0@ÕAà>ˆÜ$×)Ñ)Ø=ð>ð >¸k¸]ÐKØ"õ	
ð �S‰=à×%Ñ% s¨6¡{ m°XÓ>ˆEÜ˜˜i¬¯©°UÓ);Ô<Ø×"Ñ"×&Ñ& s¨6¡{Õ3ä˜˜i¬¯©°S¸±[Ó)AÕBr]   c           	     ó¤  — g }g }|D ]a  }d|vr|j                  |d   «       Œd|vr|j                  |d   «       Œ5t        |d   |d   ¬«      }|j                  t        |«      «       Œc |r/t        | |t	        j
                  dj                  |«      «      «       |r3t        | |› d�t	        j
                  dj                  |«      «      «       y y )NÚnameÚemail)Údisplay_nameÚ	addr_specrw   Ú_email)Úappendr   rŽ   r@   r   r€   rU   )r/   rt   Ú	_root_dirÚkindrE   Úemail_fieldÚpersonÚaddrs           r4   Ú_peopler¤   ä   sÂ   € Ø€EØ€KØò *ˆØ˜ÑØ×Ñ˜v g™Õ/Ø˜FÑ"Ø�L‰L˜ ™Õ(ä¨¨v©À&ÈÁ/ÔRˆDØ×Ñœs 4›yÕ)ð*ñ Ü�D˜$¤§¡¨D¯I©I°eÓ,<Ó =Ô>ÙÜ�D˜T˜F &˜/¬7¯;©;°t·y±yÀÓ7MÓ+NÕOð r]   c                ó   — t        | d|«       y )NÚproject_urls)r@   ©r/   rt   rŸ   s      r4   Ú_project_urlsr¨   ö   s   € Ü��n cÕ*r]   c                óD   — t        | dt        j                  |«      «       y )NÚpython_requires)r@   r   ÚSpecifierSetr§   s      r4   Ú_python_requiresr¬   ú   s   € Ü�Ð'¬×)=Ñ)=¸cÓ)BÕCr]   c                óZ   — t        | dg «      rd}t        j                  |«       || _        y )NÚinstall_requireszA`install_requires` overwritten in `pyproject.toml` (dependencies))rp   r   rS   r®   ©r/   rt   rŸ   r\   s       r4   Ú_dependenciesr°   þ   s*   € ÜˆtÐ'¨Ô,ØQˆÜ×Ñ˜sÔ#Ø€DÕr]   c                óZ   — t        | dd «      rd}t        j                  |«       || _        y )NÚextras_requirezH`extras_require` overwritten in `pyproject.toml` (optional-dependencies))rp   r   rS   r²   r¯   s       r4   Ú_optional_dependenciesr³     s*   € ÜˆtÐ% tÔ,ØXˆÜ×Ñ˜sÔ#Ø€DÕr]   c                óz   — | j                   xs g }d„ |D «       }|D �cg c]  }t        di |¤Ž‘Œ }}g |¢|¢S c c}w )Nc           	   3  ó�   K  — | ]8  }|j                  «       D ��ci c]  \  }}|j                  d d«      |“Œ c}}–— Œ: yc c}}w ­w)rg   rh   N)r9   rj   )r{   ÚxrB   rC   s       r4   r|   z_ext_modules.<locals>.<genexpr>  s8   è ø€ ÒH¸q°·±³	×:©¨¨1ˆQ�Y‰Y�s˜CÓ  !Ñ#×:ÑHùÓ:ùs   ‚AšA ·Arz   )Úext_modulesr   )r/   rt   ÚexistingÚargsÚkwÚnews         r4   Ú_ext_modulesr¼     sJ   € Ø×ÑÒ% 2€HÙHÀCÔH€DØ%)Ö
*˜rŒ9‰?�r‹?Ð
*€CÐ
*ØˆXÐ˜ÐÐùò +s   ž8c                ó   — |S ©Nrz   )Ú_distrt   s     r4   ro   ro     ó   € Ø€Jr]   c                ó   — | S r¾   rz   )rt   s    r4   Ú	_identityrÂ     rÀ   r]   c                óÄ  — | }|j                  d|j                  di «      «      }t        |«      }dddœ}t        |j                  «       «      D ],  \  }}t	        |«      }||v sŒ|j                  |«      |||   <   Œ. |rT|j                  «       D ��	�
�ci c]0  \  }}	|	r)||	j                  «       D �
�cg c]  \  }
}|
› d|› �‘Œ c}}
“Œ2 c}}
}	}|d<   y y c c}}
w c c}}
}	}w )Núentry-pointsÚentry_pointsÚconsole_scriptsÚgui_scripts)ÚscriptsrÇ   z = )Úpopr"   Úlistr9   r=   )rD   r7   ÚgivenrÅ   Úrenamingrk   rF   rG   r™   ÚgrouprB   rC   s               r4   r<   r<     sé   € Ø€GØ�K‰K˜¨¯©°NÀBÓ(GÓH€EÜ˜“;€LØ,¸]ÑK€HÜ˜7Ÿ=™=›?Ó+ò @‰
ˆˆUÜ& sÓ+ˆØ�xÒà/6¯{©{¸3Ó/?ˆL˜ (Ñ+Ò,ð	@ñ ð  ,×1Ñ1Ó3÷#
ñ #
á��eÙð ¨E¯K©K«M×:¡D A q�a�S˜˜A˜3’<Ó:Ñ:õ#
ˆ�Òð ùã:ùõ#
s   ÂC
Â2CÃC
ÃC
c           	     ó&  — | j                  di «      }|j                  di «      j                  di «      }t        |«      }|j                  }| j                  di «      j                  di «      j                  «       D ]“  \  }}t	        |«      }|j                  |t        «       «      }	|j                  |i «       |j                  «       D ]D  \  }
}t	        |
«      }
t        |«      |f||   |
<   |
|	vsŒ)t        j                  d|› d|
› d�«       ŒF Œ• y )NrJ   rK   ÚcmdclassÚ	distutilszCommand option r$   z is not defined)
r8   Ú_valid_command_optionsÚcommand_optionsr9   r=   ra   Ú
setdefaultrŽ   Ú_loggerÚwarning)Ú	pyprojectr/   r1   rY   rÏ   Úvalid_optionsÚcmd_optsÚcmdr0   r„   rk   rF   s               r4   rX   rX   0  s	  € Ø—‘˜v rÓ*€JØ�~‰~˜l¨BÓ/×3Ñ3°JÀÓC€HÜ*¨8Ó4€Mà×#Ñ#€HØ —}‘} V¨RÓ0×4Ñ4°[À"ÓE×KÑKÓMò 
N‰ˆˆVÜ! #Ó&ˆØ×!Ñ! #¤s£uÓ-ˆØ×Ñ˜C Ô$Ø Ÿ,™,›.ò 	N‰JˆC�Ü% cÓ*ˆCÜ"% h£-°Ð!7ˆH�S‰M˜#ÑØ˜%Òô —‘ /°#°°a¸°u¸OÐ LÕMñ	Nñ	
Nr]   c           	     óJ  — ddl m} ddlm} dt	        |j
                  «      i} |j                  d¬«      }d„ |D «       }d	„ |D «       }t        || j                  «       «      D ]=  \  }}|j                  |t        «       «      }	|	t	        t        |d
g «      «      z  }	|	||<   Œ? |S )Nr   r   r   r   Úglobalzdistutils.commands)rÍ   c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr¾   )Ú_load_ep©r{   Úeps     r4   r|   z)_valid_command_options.<locals>.<genexpr>K  s   è ø€ ÒH¨Bœ8 BŸ<ÑHùr}   c              3  ó&   K  — | ]	  }|sŒ|–— Œ y ­wr¾   rz   rÞ   s     r4   r|   z)_valid_command_options.<locals>.<genexpr>L  s   è ø€ Ò;˜2º”BÑ;ùó   ‚ŠÚuser_options)Úsetuptools.distr   Ú
_importlibr   Ú_normalise_cmd_optionsÚglobal_optionsrÅ   r	   r9   r8   ra   rp   )
rÏ   r   r   r×   Úunloaded_entry_pointsÚloaded_entry_pointsrÅ   rÙ   Ú	cmd_classÚoptss
             r4   rÑ   rÑ   C  sª   € Ý,å%àÔ5°l×6QÑ6QÓRÐS€Mà1˜H×1Ñ1Ð8LÔMÐÙHÐ2GÔHÐÙ;Ð!4Ô;€LÜ ¨h¯n©nÓ.>Ó?ò "‰ˆˆYØ× Ñ  ¤c£eÓ,ˆØÔ,¬W°YÀÐPRÓ-SÓTÑTˆØ!ˆ�cÒð"ð
 Ðr]   c                ó  — | j                   j                  d«      ry 	 | j                  | j                  «       fS # t        $ rI}|j
                  j                  › d| j                  › �}t        j                  |› d|› �«       Y d }~y d }~ww xY w)Nzwheel.bdist_wheelz" while trying to load entry-point z: )	rF   Ú
startswithr™   ÚloadÚ	ExceptionÚ	__class__Ú__name__rÔ   rÕ   )rß   Úexr\   s      r4   rÝ   rÝ   U  s}   € Ø	‡x�x×ÑÐ.Ô/ð ðØ—‘˜Ÿ™›Ð#Ð#øÜò Ø—‘×&Ñ&Ð'Ð'IÈ"Ï'É'ÈÐSˆÜ�‰˜3˜%˜r " ˜Ô'Üûðús   ž: º	BÁ?BÂBr™   c                ó6   — t        | «      j                  d«      S )Nz_=)r=   Ústrip)r™   s    r4   Ú_normalise_cmd_option_keyrô   d  s   € Ü˜tÓ$×*Ñ*¨4Ó0Ð0r]   c                óD   — | D �ch c]  }t        |d   «      ’Œ c}S c c}w )Nr   )rô   )ÚdescÚfancy_options     r4   rå   rå   h  s    € ØKOÖP¸<Ô% l°1¡oÕ6ÒPÐPùÒPs   …c                ó†   — d}t        | dd «      xs i }|j                  «       D ��ci c]  \  }}||vsŒ||“Œ c}}S c c}}w )N)rÆ   rÇ   rÅ   )rp   r9   )r/   ÚignorerF   rB   rC   s        r4   Ú_get_previous_entrypointsrú   l  sB   € Ø/€FÜ�D˜.¨$Ó/Ò5°2€EØ"Ÿ[™[›]×>‘T�Q˜¨a°vªoˆAˆq‰DÓ>Ð>ùÓ>s   §=´=c                óF   — t        | dd «      xs i }|j                  d«      S )NrÅ   rÆ   ©rp   r8   ©r/   rF   s     r4   Ú_get_previous_scriptsrþ   r  s%   € Ü�D˜.¨$Ó/Ò5°2€EØ�9‰9Ð&Ó'Ð'r]   c                óF   — t        | dd «      xs i }|j                  d«      S )NrÅ   rÇ   rü   rý   s     r4   Ú_get_previous_gui_scriptsr   w  s$   € Ü�D˜.¨$Ó/Ò5°2€EØ�9‰9�]Ó#Ð#r]   c                ó²   — |j                   }t        |d| › �«      t        |d| › �«      }} ||«       t        || t        j                   |«       «      «       y)zCApply distutils metadata validation but preserve "static" behaviourrm   Úget_N)r   rp   rs   r   ÚList)Úattrr/   rt   Úmetaru   re   s         r4   Ú_set_static_list_metadatar  |  sL   € à�=‰=€DÜ˜T T¨$¨ =Ó1´7¸4À4ÈÀvÀÓ3OˆF€FÙ
ˆ3„KÜˆD�$œŸ™¡V£XÓ.Õ/r]   c                óD   — t        t        d„ | j                  d«      «      S )a8  
    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                ó   — t        | |d «      S r¾   )rp   )Úaccr¶   s     r4   ú<lambda>z_attrgetter.<locals>.<lambda>�  s   € ¬'°#°q¸$Ó*?€ r]   r$   )r   r   Úsplit)r  s    r4   Ú_attrgetterr  „  s   € ô ”6Ñ?ÀÇÁÈCÃÓQÐQr]   c                 ó   ‡ — ˆ fd„}|S )aL  
    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                óB   •‡ — ˆ fd„‰D «       }t        d„ |D «       d «      S )Nc              3  ó@   •K  — | ]  } t        |«      ‰«      –— Œ y ­wr¾   )r  )r{   ÚiÚobjs     €r4   r|   z5_some_attrgetter.<locals>._acessor.<locals>.<genexpr>¡  s   øè ø€ Ò5¨!�.”+˜a“. ×%Ñ5ùs   ƒc              3  ó&   K  — | ]	  }|€Œ|–— Œ y ­wr¾   rz   )r{   r  s     r4   r|   z5_some_attrgetter.<locals>._acessor.<locals>.<genexpr>¢  s   è ø€ Ò8˜1¨!©-”QÑ8ùrá   )Únext)r  Úvaluesr9   s   ` €r4   Ú_acessorz"_some_attrgetter.<locals>._acessor   s    ù€ Û5¨uÔ5ˆÜÑ8 Ô8¸$Ó?Ð?r]   rz   )r9   r  s   ` r4   Ú_some_attrgetterr  “  s   ø€ ô@ð €Or]   Ú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/.
        Ú	obsoletesÚprovidesÚ	platforms)r"  r#  r$  >   Úlicense_filer¦   Úlicense_filesÚprovides_extrasr–   r‹   r·   zmetadata.nameÚversionzmetadata.versionÚdescriptionzmetadata.descriptionr  zmetadata.long_descriptionzrequires-pythonrª   zmetadata.python_requiresr•   zmetadata.license_expressionz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-  rd   c                  ó&   — e Zd ZdZdZedd„«       Zy)rc   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                ó<   — | j                   j                  ||¬«      S )Nr`   )Ú_DETAILSÚformat)ÚclsrE   rF   s      r4   Údetailsz_MissingDynamic.details  s   € à�|‰|×"Ñ"¨°eÐ"Ó<Ð<r]   N)rE   rŽ   rF   r   ÚreturnrŽ   )rð   Ú
__module__Ú__qualname__Ú_SUMMARYr1  Úclassmethodr4  rz   r]   r4   rc   rc   ÷  s"   „ ØJ€Hð€Hð$ ò=ó ñ=r]   rc   )r/   r   r0   r"   r1   r   r5  r   )r/   r   r0   r"   r2   r   )r/   r   r0   r"   r1   r   )r/   r   rD   r"   )rk   rŽ   r5  rŽ   )r/   r   rE   rŽ   rF   r   )r‚   rŽ   r5  z
str | None)r/   r   rt   r   r2   úStrPath | None)r/   r   rt   z
str | dictr2   r:  )r/   r   rt   ú
list[dict]rŸ   r:  r    rŽ   )r/   r   rt   r"   rŸ   r:  )r/   r   rt   rŽ   rŸ   r:  )r/   r   rt   rÊ   rŸ   r:  )r/   r   rt   r;  r5  zlist[Extension])r¿   r   rt   r!   r5  r!   )rt   r!   r5  r!   )rD   r"   )rÖ   r"   r/   r   r1   r   )rÏ   r   r5  zdict[str, set[str]])rß   zmetadata.EntryPointr5  ztuple[str, type] | None)r™   rŽ   r5  rŽ   )rö   r   r5  zset[str])r/   r   r5  zdict[str, list])r/   r   r5  zlist | None)r  rŽ   r/   r   rt   rÊ   r5  ÚNone)_Ú__doc__Ú
__future__r   Úloggingr%   Úcollections.abcr   Úemail.headerregistryr   Ú	functoolsr   r   Úinspectr   Ú	itertoolsr	   Útypesr
   Útypingr   r   r   r   r   r.  r   Ú_pathr   Úerrorsr   r   Ú	extensionr   Úwarningsr   r   Útyping_extensionsr   Úsetuptools._importlibr   rã   r   Údistutils.distr   r   Ú__annotations__rŽ   r"   r   r    r!   Ú	getLoggerrð   rÔ   r5   r(   r)   r;   r=   r@   r   r…   r“   r—   r¤   r¨   r¬   r°   r³   r¼   ro   rÂ   r<   rX   rÑ   rÝ   rô   rå   rú   rþ   r   r  r  r  r>   rV   rT   rW   rr   rn   rb   Ú
EMPTY_LISTÚ
EMPTY_DICTrd   rc   rz   r]   r4   ú<module>rR     s¹  ðòõ #ã Û 	Ý #Ý (ß %Ý Ý Ý "ß ?Õ ?å Ý ß ;Ý !ß FáÝ+å.Ý,å+ñ " "Ó%€€wÓ %Ø!& s¨D°°c°©NÐ':Ñ!;Ð �YÓ ;Ø% ~°s¸EÀ'È4À-Ñ<PÐ&QÐSWÐ&WÑX€�Ó XÙˆTƒ]€à
ˆ'×
Ñ
˜HÓ
%€óó..ó$'2óTLó)ó
"ð ØØñ€ó
Bð)Ø
ð)Ø0ð)Ø<Jó)ó2Có6Pó$+óDó óóóóó
ó*Nð& 05ô ó$ó1óQó?ó(ó
$ó
0òRòð*  ØÙ�w XÔ.Ù˜7¨Ô6ØØ!Ø3Ø'ñ	8Ð Ð4ó 	ð % iÐ0Ð àð ðÐ ñ Ð2°KÓ@ÙÐ1°:Ó>ÙÐ2°KÓ@ñ	Ð òÐ ð �<ð€ðØ
‰K˜Ó(ðà‰{Ð-Ó.ðð ‘;Ð5Ó6ðð ‰kÐ5Ó6ð	ð
 Ñ'Ð(9Ð;UÓVðð ÑÐ =Ð?QÓRðð ÑÐ 1Ð3JÓKðð Ñ#Ð$9Ð;VÓWðð ‘Ð/Ó0ðð ‘;Ð5Ó6ðð ‰KÐ/Ó0ðð Ð-ðð Ð$ðð  Ð,ð!ð" ‘KÐ 2Ó3ð#ð$ ™[Ð)9Ó:ð%Ð ð4 ð ×!Ñ!Ø×%Ñ%Ø×"Ñ"Ø×%Ñ%Ø×ÑØ×&Ñ&Ø×!Ñ!Ø×%Ñ%Ø×&Ñ&Ø$×/Ñ/ñ!#Ð ˜4ó ô(=Ð'õ =r]   