§
    WŠtj©s  ã                  óÞ  — d Z ddlmZ ddlZddlZddlZddlmZ ddlm	Z	 ddl
mZ ddlZddlmZ ddlmZ ddlZdd	lmZ dd
lmZ ddlmZmZmZ ddlmZmZ ddlmZ ddlm Z m!Z! ddl"m#Z#m$Z$ ddl%m&Z&m'Z'  e	e(¦  «        j)        Z*dZ+d„ Z,d„ Z-ej.         /                    d e'e*e+z  ¦  «        ¦  «        ej.         0                    d¦  «        ej.        j1        d„ ¦   «         ¦   «         ¦   «         Z2dZ3dZ4dZ5dZ6dZ7de3fd„Z8d„ Z9ej.         /                    d g d!¢¦  «        d"„ ¦   «         Z:d#„ Z;d$„ Z<ej.         /                    d% ej=        e3d&d'¬(¦  «         ej=        e4d)ej.         >                    d*d+¬,¦  «        d-¬.¦  «        f¦  «        d/„ ¦   «         Z?ej.         /                    d0 ej=        e6d1dd2d3d4ej.         0                    d5¦  «        g¬6¦  «         ej=        e7dd7d8d9d:¬(¦  «        f¦  «        d;„ ¦   «         Z@d<„ ZAd=„ ZB G d>„ d?¦  «        ZC G d@„ dA¦  «        ZD G dB„ dC¦  «        ZE G dD„ dE¦  «        ZF G dF„ dG¦  «        ZG G dH„ dI¦  «        ZH G dJ„ dK¦  «        ZI G dL„ dM¦  «        ZJdQdP„ZKdS )RzÍMake sure that applying the configuration from pyproject.toml is equivalent to
applying a similar configuration from setup.cfg

To run these tests offline, please have a look on ``./downloads/preload.py``
é    )ÚannotationsN)Úcleandoc)ÚPath)ÚMock)ÚLiteTranslator)ÚMetadata)Ú	is_static)Úwrite_requirements)ÚexpandÚpyprojecttomlÚsetupcfg)Ú_MissingDynamicÚ_some_attrgetter©ÚDistribution)ÚInvalidConfigErrorÚRemovedConfigError)ÚInformationOnlyÚSetuptoolsDeprecationWarningé   )Úretrieve_fileÚurls_from_filezsetupcfg_examples.txtc                ó(   — t          d| i|¥¦  «        S )NÚsrc_rootr   )ÚpathÚattrss     ún/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.pyÚmakedistr   #   s   € Ý˜ TÐ3¨UÐ3Ñ4Ô4Ð4ó    c                ó   — d„ | D ¦   «         S )z„
    Allow comparing the given patterns for 2 dist objects.
    We need to strip special chars to avoid errors when validating.
    c                óV   — g | ]&}t          j        d d|t           j        ¬¦  «        pd‘Œ'S )z
[^a-z0-9]+Ú )ÚflagsÚempty)ÚreÚsubÚ
IGNORECASE)Ú.0Úps     r   ú
<listcomp>z)_mock_expand_patterns.<locals>.<listcomp>,   s?   € ð ð ð ØHI�Œˆ|˜R ­"¬-Ð8Ñ8Ô8ÐC¸Gðð ð r   © )ÚpatternsÚ_Ú__s      r   Ú_mock_expand_patternsr/   '   s#   € ð
ð ØMUðñ ô ð r   ÚurlÚignorec                óz  — |                      t          dt          d¬¦  «        ¦  «         |                      t          dt          t          ¬¦  «        ¦  «         t          | ¦  «        }t          |d¦  «        }|                     d¬¦  «        }t          ¦   «          	                    |d	¦  «        }| 
                    |d¬¦  «         t          j        t          |¦  «        |¦  «        }t          j        t          |¦  «        |¦  «        }t          |¦  «        }	t          |¦  «        }
|	|
k    sJ ‚t!          d
„ ||fD ¦   «         ¦  «        r,t#          |j        ¦  «        t#          |j        ¦  «        k    sJ ‚t!          d„ ||fD ¦   «         ¦  «        rbt'          |j        ¦  «         d„ |j                             ¦   «         D ¦   «         }d„ |j                             ¦   «         D ¦   «         }||k    sJ ‚t!          d„ ||fD ¦   «         ¦  «        rNd„ |j                             ¦   «         D ¦   «         }d„ |j                             ¦   «         D ¦   «         }||k    sJ ‚t!          d„ ||fD ¦   «         ¦  «        r*d„ |j        D ¦   «         }d„ |j        D ¦   «         }||k    sJ ‚t#          |j        ¦  «        t#          |j        ¦  «        k    sJ ‚t!          d„ ||fD ¦   «         ¦  «        rNd„ |j                             ¦   «         D ¦   «         }d„ |j                             ¦   «         D ¦   «         }||k    sJ ‚d S d S )NÚ	read_attrz0.0.1)Úreturn_valueÚ_expand_patterns)Úside_effectúpyproject.tomlúutf-8©Úencodingz	setup.cfgc              3  ó8   K  — | ]}t          |d d¦  «        V — ŒdS )Úlicense_filesN©Úgetattr©r(   Úds     r   ú	<genexpr>z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>F   s.   è è € Ð
LÐ
L°�7�1�o tÑ,Ô,Ð
LÐ
LÐ
LÐ
LÐ
LÐ
Lr   c              3  ó8   K  — | ]}t          |d d¦  «        V — ŒdS )Úentry_pointsNr=   r?   s     r   rA   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>I   ó.   è è € Ð
KÐ
K°�7�1�n dÑ+Ô+Ð
KÐ
KÐ
KÐ
KÐ
KÐ
Kr   c                óN   — h | ]"\  }}|gt          d „ |D ¦   «         ¦  «        ¢R ’Œ#S )c              3  óB   K  — | ]}|                      d d¦  «        V — ŒdS ©ú r"   N©Úreplace©r(   Úis     r   rA   zHtest_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>.<genexpr>L   ó0   è è € Ð6Ð6¨q˜Ÿ	š	 # rÑ*Ô*Ð6Ð6Ð6Ð6Ð6Ð6r   ©Úsorted©r(   ÚkÚvs      r   ú	<setcomp>z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>K   sN   € ð 
ð 
ð 
á��1ð Ð7•Ð6Ð6°AÐ6Ñ6Ô6Ñ6Ô6Ð7Ð7ð
ð 
ð 
r   c                óN   — h | ]"\  }}|gt          d „ |D ¦   «         ¦  «        ¢R ’Œ#S )c              3  óB   K  — | ]}|                      d d¦  «        V — ŒdS rG   rI   rK   s     r   rA   zHtest_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>.<genexpr>P   rM   r   rN   rP   s      r   rS   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>O   sN   € ð 
ð 
ð 
á��1ð Ð7•Ð6Ð6°AÐ6Ñ6Ô6Ñ6Ô6Ð7Ð7ð
ð 
ð 
r   c              3  ó8   K  — | ]}t          |d d¦  «        V — ŒdS )Úpackage_dataNr=   r?   s     r   rA   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>U   rD   r   c                ó:   — h | ]\  }}|gt          |¦  «        ¢R ’ŒS r+   rN   rP   s      r   rS   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>V   s*   € ÐTÐTÐT©T¨Q°˜!˜�f Q™iœi˜˜ÐTÐTÐTr   c                ó:   — h | ]\  }}|gt          |¦  «        ¢R ’ŒS r+   rN   rP   s      r   rS   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>W   s*   € ÐRÐRÐR©D¨A¨q˜˜�V A™YœY˜˜ÐRÐRÐRr   c              3  ó8   K  — | ]}t          |d d¦  «        V — ŒdS )Ú
data_filesNr=   r?   s     r   rA   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>Z   s.   è è € Ð
IÐ
I¨a�7�1�l DÑ)Ô)Ð
IÐ
IÐ
IÐ
IÐ
IÐ
Ir   c                ó:   — h | ]\  }}|gt          |¦  «        ¢R ’ŒS r+   rN   rP   s      r   rS   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>[   s*   € ÐLÐLÐL©t¨q°!˜A˜?¥ q¡	¤	˜?˜?ÐLÐLÐLr   c                ó:   — h | ]\  }}|gt          |¦  «        ¢R ’ŒS r+   rN   rP   s      r   rS   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>\   s*   € ÐJÐJÐJ©d¨a°˜1˜/�v a™yœy˜/˜/ÐJÐJÐJr   c              3  ó8   K  — | ]}t          |d d¦  «        V — ŒdS )Úextras_requireNr=   r?   s     r   rA   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>`   s/   è è € Ð
MÐ
M°!�7�1Ð&¨Ñ-Ô-Ð
MÐ
MÐ
MÐ
MÐ
MÐ
Mr   c                ó:   — h | ]\  }}|gt          |¦  «        ¢R ’ŒS r+   rN   rP   s      r   rS   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>a   s*   € ÐWÐWÐW©d¨a°˜1˜/�v a™yœy˜/˜/ÐWÐWÐWr   c                ó:   — h | ]\  }}|gt          |¦  «        ¢R ’ŒS r+   rN   rP   s      r   rS   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<setcomp>b   s*   € ÐUÐUÐU©T¨Q°˜!˜�f Q™iœi˜˜ÐUÐUÐUr   )Úsetattrr   r   r   r/   r   r   Ú	read_textr   Ú	translateÚ
write_textr   Úapply_configurationr   r   Úcore_metadataÚanyÚsetr<   ÚprintrC   ÚitemsrW   r[   Úinstall_requiresr_   )r0   ÚmonkeypatchÚtmp_pathÚsetupcfg_exampleÚpyproject_exampleÚsetupcfg_textÚtoml_configÚ	dist_tomlÚdist_cfgÚpkg_info_tomlÚpkg_info_cfgÚep_tomlÚep_cfgÚpkg_data_tomlÚpkg_data_cfgÚdata_files_tomlÚdata_files_cfgÚextra_req_tomlÚextra_req_cfgs                      r   Ú+test_apply_pyproject_equivalent_to_setupcfgr   1   s™  € ð ×Ò� ­T¸wÐ-GÑ-GÔ-GÑHÔHÐHØ×ÒÝÐ(­$Õ;PÐ*QÑ*QÔ*Qñô ð õ % SÑ)Ô)ÐÝ˜XÐ'7Ñ8Ô8ÐØ$×.Ò.¸Ð.Ñ@Ô@€MÝ Ñ"Ô"×,Ò,¨]¸KÑHÔH€KØ× Ò  °wÐ Ñ?Ô?Ð?åÔ1µ(¸8Ñ2DÔ2DÐFWÑXÔX€IÝÔ+­H°XÑ,>Ô,>Ð@PÑQÔQ€Hå! )Ñ,Ô,€MÝ  Ñ*Ô*€LØ˜LÒ(Ð(Ð(Ð(å
Ð
LÐ
L°yÀ(Ð6KÐ
LÑ
LÔ
LÑLÔLð KÝ�9Ô*Ñ+Ô+­s°8Ô3IÑ/JÔ/JÒJÐJÐJÐJå
Ð
KÐ
K°iÀÐ5JÐ
KÑ
KÔ
KÑKÔKð 
!ÝˆhÔ#Ñ$Ô$Ð$ð
ð 
à!Ô.×4Ò4Ñ6Ô6ð
ñ 
ô 
ˆð
ð 
à Ô-×3Ò3Ñ5Ô5ð
ñ 
ô 
ˆð ˜&Ò Ð Ð Ð å
Ð
KÐ
K°iÀÐ5JÐ
KÑ
KÔ
KÑKÔKð -ØTÐT°YÔ5K×5QÒ5QÑ5SÔ5SÐTÑTÔTˆØRÐR°HÔ4I×4OÒ4OÑ4QÔ4QÐRÑRÔRˆØ Ò,Ð,Ð,Ð,å
Ð
IÐ
I°I¸xÐ3HÐ
IÑ
IÔ
IÑIÔIð 1ØLÐL°yÔ7KÐLÑLÔLˆØJÐJ°hÔ6IÐJÑJÔJˆØ .Ò0Ð0Ð0Ð0åˆyÔ)Ñ*Ô*­c°(Ô2KÑ.LÔ.LÒLÐLÐLÐLÝ
Ð
MÐ
M¸	À8Ð7LÐ
MÑ
MÔ
MÑMÔMð /ØWÐW°iÔ6N×6TÒ6TÑ6VÔ6VÐWÑWÔWˆØUÐU°XÔ5L×5RÒ5RÑ5TÔ5TÐUÑUÔUˆØ Ò.Ð.Ð.Ð.ð/ð /ð /Ð.r   u¤  [project]
name = "spam"
version = "2020.0.0"
description = "Lovely Spam! Wonderful Spam!"
readme = "README.rst"
requires-python = ">=3.8"
license-files = ["LICENSE.txt"]  # Updated to be PEP 639 compliant
keywords = ["egg", "bacon", "sausage", "tomatoes", "Lobster Thermidor"]
authors = [
  {email = "hi@pradyunsg.me"},
  {name = "Tzu-Ping Chung"}
]
maintainers = [
  {name = "Brett Cannon", email = "brett@python.org"},
  {name = "John X. ÃƒÃ¸rÃ§eÄ�", email = "john@utf8.org"},
  {name = "Î“Î±Î¼Î± ï­‡ æ�±", email = "gama@utf8.org"},
]
classifiers = [
  "Development Status :: 4 - Beta",
  "Programming Language :: Python"
]

dependencies = [
  "httpx",
  "gidgethub[httpx]>4.0.0",
  "django>2.1; os_name != 'nt'",
  "django>2.0; os_name == 'nt'"
]

[project.optional-dependencies]
test = [
  "pytest < 5.0.0",
  "pytest-cov[all]"
]

[project.urls]
homepage = "http://example.com"
documentation = "http://readthedocs.org"
repository = "http://github.com"
changelog = "http://github.com/me/spam/blob/master/CHANGELOG.md"

[project.scripts]
spam-cli = "spam:main_cli"

[project.gui-scripts]
spam-gui = "spam:main_gui"

[project.entry-points."spam.magical"]
tomatoes = "spam:main_tomatoes"
uÖ   [project]
name = "spam"
version = "2020.0.0"
authors = [
  {email = "hi@pradyunsg.me"},
  {name = "Tzu-Ping Chung"}
]
maintainers = [
  {name = "à¤…à¤‚à¤•à¤¿à¤¤ à¤…à¤¹à¤²à¤¾à¤µà¤¤", email = "ankit@example.com"},
]
zE
def main_cli(): pass
def main_gui(): pass
def main_tomatoes(): pass
z�[project]
name = "spam"
version = "2020.0.0"
authors = [
  {email = "hi@pradyunsg.me"},
  {name = "Tzu-Ping Chung"}
]
license = {text = "MIT"}
a#  [project]
name = "spam"
version = "2020.0.0"
authors = [
  {email = "hi@pradyunsg.me"},
  {name = "Tzu-Ping Chung"}
]
license = "mit or apache-2.0"  # should be normalized in metadata
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Programming Language :: Python",
]
z
README.rstc                óX  — | dz  }|}dd|› d�i}|                      ¦   «         D ]\  }}|                     ||¦  «        }Œ|                     |d¬¦  «         | |z                       dd¬¦  «         | dz                       d	d¬¦  «         | d
z                       t          d¬¦  «         |S )Nr7   zreadme = "README.rst"z
readme = "ú"r8   r9   zhello worldúLICENSE.txtú--- LICENSE stub ---zspam.py)rk   rJ   re   ÚPEP621_EXAMPLE_SCRIPT)rn   ÚreadmeÚpyproject_textÚ	pyprojectÚtextÚreplacementsÚorigÚsubsts           r   Ú_pep621_example_projectrŒ   È   sÙ   € ð
 Ð+Ñ+€IØ€DØ+Ð-C¸&Ð-CÐ-CÐ-CÐD€LØ#×)Ò)Ñ+Ô+ð )ð )‰ˆˆeØ�|Š|˜D %Ñ(Ô(ˆˆØ×Ò˜¨ÐÑ0Ô0Ð0à�Ñ×"Ò" =¸7Ð"ÑCÔCÐCØ�Ñ×)Ò)Ð*@È7Ð)ÑSÔSÐSØ�	Ñ×%Ò%Õ&;ÀgÐ%ÑNÔNÐNØÐr   c                ó¨   — t          | ¦  «        }t          j        t          | ¦  «        |¦  «        }t	          |j        j        ¦  «        dhk    sJ ‚dS )z&Make sure the example in PEP 621 worksr‚   N)rŒ   r   rf   r   ri   Úmetadatar<   ©rn   r‡   Údists      r   Útest_pep621_exampler‘   Ú   sO   € å'¨Ñ1Ô1€IÝÔ,­X°hÑ-?Ô-?ÀÑKÔK€DÝˆtŒ}Ô*Ñ+Ô+°¨Ò>Ð>Ð>Ð>Ð>Ð>r   )r…   Úctype))z
Readme.txtz
text/plain)z	readme.mdztext/markdown)ztext.rstz
text/x-rstc                óŽ   — t          | |¦  «        }t          j        t          | ¦  «        |¦  «        }|j        j        |k    sJ ‚d S ©N©rŒ   r   rf   r   rŽ   Úlong_description_content_type)rn   r…   r’   r‡   r�   s        r   Útest_readme_content_typer—   á   sI   € õ (¨°&Ñ9Ô9€IÝÔ,­X°hÑ-?Ô-?ÀÑKÔK€DØŒ=Ô6¸%Ò?Ð?Ð?Ð?Ð?Ð?r   c                óÒ   — t          | d¦  «        }t          j        t          d¬¦  «        5  t	          j        t          | ¦  «        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz
README.texz%Undefined content type for README.tex©Úmatch)rŒ   ÚpytestÚraisesÚ
ValueErrorr   rf   r   )rn   r‡   s     r   Útest_undefined_content_typerž   ï   sº   € Ý'¨°,Ñ?Ô?€IÝ	Œ•zÐ)PÐ	QÑ	QÔ	Qð Ið IÝÔ)­(°8Ñ*<Ô*<¸iÑHÔHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ið Ið Is   ¬#AÁA Á#A c                ó†   — t          | d¦  «        }t          j        t          | ¦  «        |¦  «        }|j        j        �J ‚d S )NÚREADMEr•   r�   s      r   Ú3test_no_explicit_content_type_for_missing_extensionr¡   õ   sB   € Ý'¨°(Ñ;Ô;€IÝÔ,­X°hÑ-?Ô-?ÀÑKÔK€DØŒ=Ô6Ð>Ð>Ð>Ð>Ð>r   )r†   Úexpected_maintainers_meta_valueug   Brett Cannon <brett@python.org>, "John X. ÃƒÃ¸rÃ§eÄ�" <john@utf8.org>, Î“Î±Î¼Î± ï­‡ æ�± <gama@utf8.org>znon-international-emails)Úidu?   Ankit Ahlawat <à¤…à¤‚à¤•à¤¿à¤¤@à¤‰à¤¦à¤¾à¤¹à¤°à¤£.à¤­à¤¾à¤°à¤¤>zlCPython's `email.headerregistry.Address` only supports RFC 5322, as of Oct 20, 2025 and latest Python 3.13.0T)ÚreasonÚstrictzinternational-email)Úmarksr£   c                ób  — t          |d|¬¦  «        }t          j        t          |¦  «        |¦  «        }|j        j        | k    sJ ‚|dz  }t          |dd¬¦  «        5 }|j                             |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d¬¦  «        }d| › �|v sJ ‚d S )Nr    ©r†   úPKG-FILEÚwr8   r9   zMaintainer-email: )	rŒ   r   rf   r   rŽ   Úmaintainer_emailÚopenÚwrite_pkg_filerc   )r¢   r†   rn   r‡   r�   Úpkg_fileÚfhÚcontents           r   Ú test_utf8_maintainer_in_metadatar±   û   s  € õ8 (ØØØ%ðñ ô €Iõ
 Ô,­X°hÑ-?Ô-?ÀÑKÔK€DØŒ=Ô)Ð-LÒLÐLÐLÐLØ˜*Ñ$€HÝ	ˆh˜ gÐ	.Ñ	.Ô	.ð )°"ØŒ×$Ò$ RÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )à× Ò ¨'Ð Ñ2Ô2€GØAÐ ?ÐAÐAÀWÐLÐLÐLÐLÐLÐLs   ÁBÂB	ÂB	)r†   ÚlicenseÚlicense_expressionÚcontent_strÚnot_content_strÚMITzLicense: MITzLicense-Expression: zlicense-textz6ignore:.project.license. as a TOML table is deprecated)r£   r¦   zMIT OR Apache-2.0z%License-Expression: MIT OR Apache-2.0z	License: zlicense-expressionc                ó˜  — t          |d|¬¦  «        }t          j        t          |¦  «        |¦  «        }|j        j        | k    sJ ‚|j        j        |k    sJ ‚|dz  }t          |dd¬¦  «        5 }	|j                             |	¦  «         d d d ¦  «         n# 1 swxY w Y   | 	                    d¬¦  «        }
d|
v sJ ‚||
v sJ ‚||
vsJ ‚d S )Nr    r¨   r©   rª   r8   r9   zMetadata-Version: 2.4)
rŒ   r   rf   r   rŽ   r²   r³   r¬   r­   rc   )r²   r³   r´   rµ   r†   rn   r‡   r�   r®   r¯   r°   s              r   Útest_license_in_metadatar¸   %  sA  € õP (ØØØ%ðñ ô €Iõ
 Ô,­X°hÑ-?Ô-?ÀÑKÔK€DØŒ=Ô  GÒ+Ð+Ð+Ð+ØŒ=Ô+Ð/AÒAÐAÐAÐAØ˜*Ñ$€HÝ	ˆh˜ gÐ	.Ñ	.Ô	.ð )°"ØŒ×$Ò$ RÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )à× Ò ¨'Ð Ñ2Ô2€GØ" gÐ-Ð-Ð-Ð-Ø˜'Ð!Ð!Ð!Ð!Ø 'Ð)Ð)Ð)Ð)Ð)Ð)s   Á0BÂBÂBc                óN  — t                                dd¦  «        d         }t          | d|› d�¦  «        }d}t          j        t
          |¬¦  «        5 }t          j        t          | ¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   dt          |j
        ¦  «        v sJ ‚d S )	Nú
é   r   r    z/
    "License :: OSI Approved :: MIT License"
]z?License classifiers have been superseded by license expressionsr™   ú&License :: OSI Approved :: MIT License)ÚPEP639_LICENSE_EXPRESSIONÚrsplitrŒ   r›   rœ   r   r   rf   r   ÚstrÚvalue)rn   rˆ   r‡   ÚmsgÚexcs        r   Ú/test_license_classifier_with_license_expressionrÃ   ^  sù   € Ý$×+Ò+¨D°!Ñ4Ô4°QÔ7€DÝ'ØØØÐDÐDÐDñô €Ið
 L€CÝ	ŒÕ)°Ð	5Ñ	5Ô	5ð I¸ÝÔ)­(°8Ñ*<Ô*<¸iÑHÔHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ið 4µs¸3¼9±~´~ÐEÐEÐEÐEÐEÐEs   Á#BÂBÂ	Bc                ó„  — d}t          | d|¦  «        }d}d}t          j        t          |¬¦  «        5  t          j        t          |¬¦  «        5  t	          j        t          | ¦  «        |¦  «        }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |j                             ¦   «         dgk    sJ ‚d S )Nz¥    [project]
    name = "spam"
    version = "2020.0.0"
    license = {text = "mit or apache-2.0"}
    classifiers = ["License :: OSI Approved :: MIT License"]
    r    z5License classifiers are deprecated(?:.|
)*MIT Licenseú/.project.license. as a TOML table is deprecatedr™   r¼   )	rŒ   r›   Úwarnsr   r   rf   r   rŽ   Úget_classifiers)rn   rˆ   r‡   Úmsg1Úmsg2r�   s         r   Ú2test_license_classifier_without_license_expressionrÊ   l  se  € ð€Dõ (¨°(¸DÑAÔA€IàC€DØ<€DåŒÕ1¸Ð>Ñ>Ô>ðPð PåŒÕ1¸Ð>Ñ>Ô>ðPð Põ Ô0µ¸(Ñ1CÔ1CÀYÑOÔOˆð	Pð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Pð Pð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Pð Œ=×(Ò(Ñ*Ô*Ð/WÐ.XÒXÐXÐXÐXÐXÐXs5   ³BÁ#A>Á2BÁ>B	ÂBÂB	ÂBÂBÂBc                  óF   — e Zd Z	 	 dd„Zdd„Zd„ Zd„ Zd„ Zd„ Zd	„ Z	d
„ Z
dS )ÚTestLicenseFilesr"   ú!license = {file = "LICENSE.txt"}
c                ó¨   — t           }d|v sJ ‚d|vsJ ‚d|vsJ ‚t          j        d||d¬¦  «        }||v sJ ‚|› d|› d�}t          |d|¬	¦  «        }|S )
Nzlicense = "mit or apache-2.0"zlicense-filesz[tool.setuptools]z(license = .*)\nr   )Úcountrº   r    r¨   )r½   r%   r&   rŒ   )Úselfrn   Úadditional_textÚlicense_tomlrˆ   r‡   s         r   Úbase_pyprojectzTestLicenseFiles.base_pyprojectƒ  s£   € õ )ˆð /°$Ð6Ð6Ð6Ð6Ø dÐ*Ð*Ð*Ð*Ø"¨$Ð.Ð.Ð.Ð.åŒvØØØØð	
ñ 
ô 
ˆð ˜tÐ#Ð#Ð#Ð#ØÐ-Ð-˜/Ð-Ð-Ð-ˆÝ+¨H°hÈtÐTÑTÔTˆ	ØÐr   c                ó2   — |                       ||d¬¦  «        S )Nz>license = "licenseref-Proprietary"
license-files = ["_FILE*"]
)rÑ   rÒ   )rÓ   )rÐ   rn   rÑ   s      r   Úbase_pyproject_license_pep639z.TestLicenseFiles.base_pyproject_license_pep639›  s*   € Ø×"Ò"ØØ+ð-ð #ñ 
ô 
ð 	
r   c                óH  — d}|                       ||¦  «        }|dz                       ¦   «          |dz                       ¦   «          |dz  }|                     dd¬¦  «         d}d	}t          j        t
          |¬
¦  «        5  t          j        t
          |¬
¦  «        5  t          j        t          |¦  «        |¦  «        }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          |j
        j        ¦  «        ddhk    sJ ‚|j
        j        dk    sJ ‚d S )Nú,[tool.setuptools]
license-files = ["_FILE*"]ú	_FILE.txtú	_FILE.rstr‚   zLicenseRef-Proprietary
r8   r9   zQ'tool.setuptools.license-files' is deprecated in favor of 'project.license-files'rÅ   r™   )rÓ   Útouchre   r›   rÆ   r   r   rf   r   ri   rŽ   r<   r²   )rÐ   rn   Úsetuptools_configr‡   r²   rÈ   rÉ   r�   s           r   Ú+test_both_license_and_license_files_definedz<TestLicenseFiles.test_both_license_and_license_files_defined£  sÒ  € ØKÐØ×'Ò'¨Ð2CÑDÔDˆ	à	�KÑ	×&Ò&Ñ(Ô(Ð(Ø	�KÑ	×&Ò&Ñ(Ô(Ð(ð ˜]Ñ*ˆØ×ÒÐ5ÀÐÑHÔHÐHàbˆØ@ˆåŒLÕ5¸TÐBÑBÔBð	Tð 	TåŒLÕ5¸TÐBÑBÔBð	Tð 	Tõ !Ô4µX¸hÑ5GÔ5GÈÑSÔSˆDð		Tð 	Tð 	Tñ 	Tô 	Tð 	Tð 	Tð 	Tð 	Tð 	Tð 	Tøøøð 	Tð 	Tð 	Tð 	Tð 	Tð 	Tð 	Tñ 	Tô 	Tð 	Tð 	Tð 	Tð 	Tð 	Tð 	Tøøøð 	Tð 	Tð 	Tð 	Tõ
 �4”=Ô.Ñ/Ô/°KÀÐ3MÒMÐMÐMÐMØŒ}Ô$Ð(BÒBÐBÐBÐBÐBÐBs6   ÂC$Â#CÃC$ÃC	ÃC$ÃC	ÃC$Ã$C(Ã+C(c                ó¼  — |                       |¦  «        }|dz                       ¦   «          |dz                       ¦   «          d}t          j        t          |¬¦  «        5  t          j        t          |¦  «        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |j	        j
        ¦  «        ddhk    sJ ‚|j	        j        �J ‚|j	        j        dk    sJ ‚d S )NrØ   rÙ   zNormalizing.*LicenseRefr™   zLicenseRef-Proprietary)rÕ   rÚ   r›   rÆ   r   r   rf   r   ri   rŽ   r<   r²   r³   )rÐ   rn   r‡   rÁ   r�   s        r   Ú2test_both_license_and_license_files_defined_pep639zCTestLicenseFiles.test_both_license_and_license_files_defined_pep639¹  s0  € à×6Ò6°xÑ@Ô@ˆ	à	�KÑ	×&Ò&Ñ(Ô(Ð(Ø	�KÑ	×&Ò&Ñ(Ô(Ð(à'ˆÝŒ\�/°Ð5Ñ5Ô5ð 	Tð 	TÝ Ô4µX¸hÑ5GÔ5GÈÑSÔSˆDð	Tð 	Tð 	Tñ 	Tô 	Tð 	Tð 	Tð 	Tð 	Tð 	Tð 	Tøøøð 	Tð 	Tð 	Tð 	Tõ �4”=Ô.Ñ/Ô/°KÀÐ3MÒMÐMÐMÐMØŒ}Ô$Ð,Ð,Ð,ØŒ}Ô/Ð3KÒKÐKÐKÐKÐKÐKs   Á!#BÂBÂBc                óæ   — d}|                       ||¦  «        }d}t          j        t          |¬¦  «        5  t	          j        t          |¦  «        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr×   zR'project.license-files' is defined already. Remove 'tool.setuptools.license-files'r™   )rÕ   r›   rœ   r   r   rf   r   )rÐ   rn   rÛ   r‡   rÁ   s        r   Ú test_license_files_defined_twicez1TestLicenseFiles.test_license_files_defined_twiceÈ  sÌ   € àKÐØ×6Ò6°xÐARÑSÔSˆ	àbˆÝŒ]Õ-°SÐ9Ñ9Ô9ð 	Mð 	MÝÔ-­h°xÑ.@Ô.@À)ÑLÔLÐLð	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mð 	Mð 	Ms   ¶#A&Á&A*Á-A*c                ób  — d}|                       ||d¬¦  «        }d                     ¦   «         }|D ]}||z                       |› d�d¬¦  «         Œ t          j        t          |¦  «        |¦  «        }|dz                       ¦   «         sJ ‚t          |j        j	        ¦  «        h |£d’k    sJ ‚d S )	Nz"[tool.setuptools]
zip-safe = falser"   )rÒ   z5LICENCE-a.html COPYING-abc.txt AUTHORS-xyz NOTICE,defrº   r8   r9   r‚   )
rÓ   Úsplitre   r   rf   r   Úexistsri   rŽ   r<   )rÐ   rn   rÛ   r‡   r<   Úfnamer�   s          r   Útest_default_patternsz&TestLicenseFiles.test_default_patternsÑ  sÓ   € ØAÐà×'Ò'¨Ð2CÐRTÐ'ÑUÔUˆ	àO×UÒUÑWÔWˆà"ð 	Jð 	JˆEØ˜Ñ×)Ò)¨U¨,¨,¨,ÀÐ)ÑIÔIÐIÐIåÔ0µ¸(Ñ1CÔ1CÀYÑOÔOˆà˜=Ñ(×0Ò0Ñ2Ô2Ð2Ð2Ð2Ý�4”=Ô.Ñ/Ô/Ð3R°]Ð3RÀMÐ3RÒRÐRÐRÐRÐRÐRr   c                óš  — |                       |¦  «        }t          |                     d¦  «        ¦  «        g k    sJ ‚d}d}t          j        t
          |¬¦  «        5  t          j        t          |¬¦  «        5  t          j        t          |¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nz_FILE*z-Cannot find any files for the given pattern.*z@Normalizing 'licenseref-Proprietary' to 'LicenseRef-Proprietary'r™   )
rÕ   ÚlistÚglobr›   rÆ   r   r   r   rf   r   )rÐ   rn   r‡   rÈ   rÉ   s        r   Útest_missing_patternsz&TestLicenseFiles.test_missing_patternsà  sj  € Ø×6Ò6°xÑ@Ô@ˆ	Ý�H—M’M (Ñ+Ô+Ñ,Ô,°Ò2Ð2Ð2Ð2à>ˆØQˆåŒLÕ5¸TÐBÑBÔBð	Mð 	MåŒL�°Ð5Ñ5Ô5ð	Mð 	Mõ Ô-­h°xÑ.@Ô.@À)ÑLÔLÐLð		Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mð 	Mð 	Ms6   ÁC Á9#B(ÂC Â(B,	Â,C Â/B,	Â0C Ã CÃCc                ó†  — dt           v sJ ‚t                                dd¦  «        }t          ||¬¦  «        }d}t          j        t
          |¬¦  «        5  t          j        t          |¦  «        |¦  «        }ddd¦  «         n# 1 swxY w Y   |j	        j
        dk    sJ ‚t          |j	        j        ¦  «        dhk    sJ ‚dS )	z?Make sure the old example with ``license = {text = ...}`` workszlicense-files = ["LICENSE.txt"]z license = {file = "LICENSE.txt"}r¨   rÅ   r™   Nrƒ   r‚   )ÚPEP621_EXAMPLErJ   rŒ   r›   rÆ   r   r   rf   r   rŽ   r²   ri   r<   )rÐ   rn   rˆ   r‡   rÁ   r�   s         r   Ú$test_deprecated_file_expands_to_textz5TestLicenseFiles.test_deprecated_file_expands_to_textì  s  € ð 1µNÐBÐBÐBÐBÝ×%Ò%Ø-Ø.ñ
ô 
ˆõ ,¨HÀTÐJÑJÔJˆ	à?ˆÝŒ\Õ6¸cÐBÑBÔBð 	Tð 	TÝ Ô4µX¸hÑ5GÔ5GÈÑSÔSˆDð	Tð 	Tð 	Tñ 	Tô 	Tð 	Tð 	Tð 	Tð 	Tð 	Tð 	Tøøøð 	Tð 	Tð 	Tð 	Tð Œ}Ô$Ð(>Ò>Ð>Ð>Ð>Ý�4”=Ô.Ñ/Ô/°M°?ÒBÐBÐBÐBÐBÐBs   Á#BÂBÂBN)r"   rÍ   ©r"   )Ú__name__Ú
__module__Ú__qualname__rÓ   rÕ   rÜ   rÞ   rà   rå   ré   rì   r+   r   r   rÌ   rÌ   ‚  s²   € € € € € ð Ø9ð	ð ð ð ð0
ð 
ð 
ð 
ðCð Cð Cð,Lð Lð LðMð Mð MðSð Sð Sð
Mð 
Mð 
MðCð Cð Cð Cð Cr   rÌ   c                  ó¬   — e Zd Zd„ Zej                             dddg¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         ZdS )	ÚTestPyModulesc                ó¸   — d|›d�}t          d¦  «        }|                     t          |¦  «        d¬¦  «         t          j        t          i ¦  «        |¦  «        S )Nzr
        [project]
        name = "test"
        version = "42.0"
        [tool.setuptools]
        py-modules = [z
]
        r7   r8   r9   )r   re   r   r   rf   r   )rÐ   Únamerr   r‡   s       r   r�   zTestPyModules.dist  si   € ðð
 ðð ð ˆõ Ð)Ñ*Ô*ˆ	Ø×Ò�X kÑ2Ô2¸WÐÑEÔEÐEÝÔ0µ¸bÑ1AÔ1AÀ9ÑMÔMÐMr   Úmodulezpip-runu   abc-d.Î»-xyz-ec                ól   — |                      |¦  «         ||                      |¦  «        j        v sJ ‚d S r”   )Úchdirr�   Ú
py_modules©rÐ   rn   rm   rõ   s       r   Útest_valid_module_namez$TestPyModules.test_valid_module_name  s<   € à×Ò˜(Ñ#Ô#Ð#Ø˜Ÿš 6Ñ*Ô*Ô5Ð5Ð5Ð5Ð5Ð5Ð5r   )zpip runz-pip-runzpip-run-stubsc                óÌ   — |                      |¦  «         t          j        t          d¬¦  «        5  |                      |¦  «        j         d d d ¦  «         d S # 1 swxY w Y   d S )Nz
py-modulesr™   )r÷   r›   rœ   r�   r�   rø   rù   s       r   Útest_invalid_module_namez&TestPyModules.test_invalid_module_name  s¤   € à×Ò˜(Ñ#Ô#Ð#ÝŒ]�:¨\Ð:Ñ:Ô:ð 	)ð 	)Ø�IŠI�fÑÔÔ(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s   ±AÁAÁ AN)	rî   rï   rð   r�   r›   ÚmarkÚparametrizerú   rü   r+   r   r   rò   rò   þ  s‘   € € € € € ð
Nð 
Nð 
Nð „[×Ò˜X¨	Ð3CÐ'DÑEÔEð6ð 6ñ FÔEð6ð „[×Ò˜XÐ'OÐ'OÐ'OÑPÔPð)ð )ñ QÔPð)ð )ð )r   rò   c                  ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestExtModulesc                ó  — t          d¦  «        }|                     t          |¦  «        d¬¦  «         t          j        t
          j        ¦  «        5  t          j        t          i ¦  «        |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )Nr7   r8   r9   )	r   re   r   r›   rÆ   r   Ú_ExperimentalConfigurationrf   r   )rÐ   rr   r‡   s      r   Ú	make_distzTestExtModules.make_dist  sÔ   € ÝÐ)Ñ*Ô*ˆ	Ø×Ò�X kÑ2Ô2¸WÐÑEÔEÐEÝŒ\�-ÔBÑCÔCð 	Rð 	RÝ Ô4µ\À"Ñ5EÔ5EÀyÑQÔQð	Rð 	Rð 	Rð 	Rñ 	Rô 	Rð 	Rð 	Rð 	Rð 	Rð 	Rð 	Røøøð 	Rð 	Rð 	Rð 	Rð 	Rð 	Rs   Á"BÂBÂBc                ó  — |                      |¦  «         d}|                      |¦  «        }t          |j        ¦  «        dk    sJ ‚|j        d         j        dk    sJ ‚t          |j        d         j        ¦  «        ddhk    sJ ‚d S )NzÄ
        [project]
        name = "test"
        version = "42.0"
        [tool.setuptools]
        ext-modules = [
          {name = "my.ext", sources = ["hello.c", "world.c"]}
        ]
        r   r   zmy.extzhello.czworld.c)r÷   r  ÚlenÚext_modulesrô   ri   Úsources©rÐ   rn   rm   rr   r�   s        r   Útest_pyproject_sets_attributez,TestExtModules.test_pyproject_sets_attribute   s—   € Ø×Ò˜(Ñ#Ô#Ð#ðˆð �~Š~˜kÑ*Ô*ˆÝ�4Ô#Ñ$Ô$¨Ò)Ð)Ð)Ð)ØÔ Ô"Ô'¨8Ò3Ð3Ð3Ð3Ý�4Ô# AÔ&Ô.Ñ/Ô/°I¸yÐ3IÒIÐIÐIÐIÐIÐIr   c                ó0  — |                      |¦  «         d}|                      |¦  «        }t          |j        d         j        d         t
          ¦  «        sJ ‚|j        d         j        d         dk    sJ ‚|j        d         j        d         dk    sJ ‚d S )Nzó
        [project]
        name = "test"
        version = "42.0"
        [[tool.setuptools.ext-modules]]
        name = "my.ext"
        sources = ["hello.c", "world.c"]
        define-macros = [["FIRST_SINGLE"], ["SECOND_TWO", "1"]]
        r   )ÚFIRST_SINGLEr   )Ú
SECOND_TWOÚ1)r÷   r  Ú
isinstancer  Údefine_macrosÚtupler  s        r   Ú&test_pyproject_define_macros_as_tuplesz5TestExtModules.test_pyproject_define_macros_as_tuples0  s    € à×Ò˜(Ñ#Ô#Ð#ðˆð �~Š~˜kÑ*Ô*ˆÝ˜$Ô*¨1Ô-Ô;¸AÔ>ÅÑFÔFÐFÐFÐFØÔ Ô"Ô0°Ô3Ð7HÒHÐHÐHÐHØÔ Ô"Ô0°Ô3Ð7JÒJÐJÐJÐJÐJÐJr   N)rî   rï   rð   r  r	  r  r+   r   r   r   r     sL   € € € € € ðRð Rð RðJð Jð Jð Kð Kð Kð Kð Kr   r   c                  ó   — e Zd Zd„ ZdS )ÚTestDeprecatedFieldsc                ó  — |dz  }d}|                      t          |¦  «        d¬¦  «         t          j        t          d¬¦  «        5  t          j        t          |¦  «        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr7   z�
        [project]
        name = "myproj"
        version = "42"
        [tool.setuptools]
        namespace-packages = ["myproj.pkg"]
        r8   r9   znamespace-packagesr™   )re   r   r›   rœ   r   r   rf   r   )rÐ   rn   r‡   Úconfigs       r   Útest_namespace_packagesz,TestDeprecatedFields.test_namespace_packagesC  sá   € ØÐ/Ñ/ˆ	ðˆð 	×Ò�X fÑ-Ô-¸ÐÑ@Ô@Ð@ÝŒ]Õ-Ð5IÐJÑJÔJð 	Mð 	MÝÔ-­h°xÑ.@Ô.@À)ÑLÔLÐLð	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mð 	Mð 	Ms   Á#A7Á7A;Á>A;N)rî   rï   rð   r  r+   r   r   r  r  B  s(   € € € € € ðMð Mð Mð Mð Mr   r  c                  ó.  — e Zd Zd"d„Zej                             dd ej        ddej                             d¦  «        giŽddd	gfd
dddgifd
dddgif ej        dddgfdej                             d¦  «        giŽg¦  «        d„ ¦   «         Z	ej                             ddddg fddi fdddgfddd	gfg¦  «        d„ ¦   «         Z
d„ Zd„ Zd„ Zej                             dddg¦  «        ej                             d¦  «        d „ ¦   «         ¦   «         Zd!S )#ÚTestPresetFieldr"   c                ób   — d|›d�}d|vr|dz  }|dz  }|                      ||z   d¬¦  «         |S )Nz"[project]
name = 'proj'
dynamic = rº   Úversionzversion = '42'
r7   r8   r9   )re   )rÐ   rn   ÚdynamicÚextra_contentr°   Úfiles         r   r‡   zTestPresetField.pyprojectR  sS   € ØF¸ÐFÐFÐFˆØ˜GÐ#Ð#ØÐ)Ñ)ˆGØÐ*Ñ*ˆØ�Š˜ -Ñ/¸'ˆÑBÔBÐBØˆr   )ÚattrÚfieldrÀ   )r³   r²   r¶   )r²   r²   zNot SPDXr¦   zignore:.*license. overwrittenÚclassifierszPrivate :: ClassifierrC   ÚscriptsÚconsole_scriptsúfoobar=foobar:mainúgui-scriptsÚgui_scriptszbazquux=bazquux:mainrl   ÚdependenciesÚsixz&ignore:.*install_requires. overwrittenc                ód  — |                       |g ¦  «        }t          |fi ||i¤Ž}t          j        d|› �t          j        ¦  «        }t          j        t          |¬¦  «        5  t          j	        ||¦  «        }ddd¦  «         n# 1 swxY w Y    t          d|› �|¦  «        |¦  «        }|rJ ‚dS )z:Setuptools cannot set a field if not listed in ``dynamic``z&defined outside of `pyproject.toml`:.*r™   Nú	metadata.)r‡   r   r%   ÚcompileÚDOTALLr›   rÆ   r   r   rf   r   )	rÐ   rn   r  r  rÀ   r‡   r�   rÁ   Ú
dist_values	            r   Útest_not_listed_in_dynamicz*TestPresetField.test_not_listed_in_dynamicZ  s  € ð* —N’N 8¨RÑ0Ô0ˆ	Ý˜Ð2Ð2 T¨5 MÐ2Ð2ˆÝŒjÐIÀ%ÐIÐIÍ2Ì9ÑUÔUˆÝŒ\�/°Ð5Ñ5Ô5ð 	Fð 	FÝ Ô4°T¸9ÑEÔEˆDð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð @Õ%Ð&8°$Ð&8Ð&8¸$Ñ?Ô?ÀÑEÔEˆ
ØÐÐˆ~ÐÐs   Á#BÂB	ÂB	r_   zoptional-dependenciesc                óÄ   — |                       ||g¦  «        }t          |fi ||i¤Ž}t          j        ||¦  «        } t	          d|› �|¦  «        |¦  «        }||k    sJ ‚d S )Nr)  )r‡   r   r   rf   r   )rÐ   rn   r  r  rÀ   r‡   r�   r,  s           r   Útest_listed_in_dynamicz&TestPresetField.test_listed_in_dynamicx  s~   € ð —N’N 8¨e¨WÑ5Ô5ˆ	Ý˜Ð2Ð2 T¨5 MÐ2Ð2ˆÝÔ0°°yÑAÔAˆØ?Õ%Ð&8°$Ð&8Ð&8¸$Ñ?Ô?ÀÑEÔEˆ
Ø˜UÒ"Ð"Ð"Ð"Ð"Ð"r   c                ó  — |                      |¦  «         |                      |g ¦  «        }t          |dg¬¦  «        }|dz                       dd¬¦  «         t	          j        ||¦  «        }|j        j        dgk    sJ ‚dS )ap  
        license-file is currently not considered in the context of dynamic.
        As per 2025-02-19, https://packaging.python.org/en/latest/specifications/pyproject-toml/#license-files
        allows setuptools to fill-in `license-files` the way it sees fit:

        > If the license-files key is not defined, tools can decide how to handle license files.
        > For example they can choose not to include any files or use their own
        > logic to discover the appropriate files in the distribution.

        Using license_files from setup.py to fill-in the value is in accordance
        with this rule.
        zLIC*)r<   ÚLIC1Ú42r8   r9   N)r÷   r‡   r   re   r   rf   rŽ   r<   )rÐ   rm   rn   r‡   r�   s        r   Ú&test_license_files_exempt_from_dynamicz6TestPresetField.test_license_files_exempt_from_dynamic‰  s�   € ð 	×Ò˜(Ñ#Ô#Ð#Ø—N’N 8¨RÑ0Ô0ˆ	Ý˜°°Ð9Ñ9Ô9ˆØ	�FÑ	×&Ò& t°gÐ&Ñ>Ô>Ð>ÝÔ0°°yÑAÔAˆØŒ}Ô*¨v¨hÒ6Ð6Ð6Ð6Ð6Ð6r   c                ó   — d}|dz  }|                      |d¬¦  «         t          |dg¬¦  «        }t          j        d¬¦  «        5  t	          j        ||¦  «        }d d d ¦  «         n# 1 swxY w Y   d|j        vsJ ‚d S )	Nz:[project]
name='pkg'
version='0.1'
dependencies=['click']
r7   r8   r9   Úwheel©rl   z`install_requires` overwrittenr™   )re   r   r›   rÆ   r   rf   rl   )rÐ   rn   Úsrcr‡   r�   s        r   Ú%test_warning_overwritten_dependenciesz5TestPresetField.test_warning_overwritten_dependencies�  så   € ØNˆØÐ/Ñ/ˆ	Ø×Ò˜S¨7ÐÑ3Ô3Ð3Ý˜°G°9Ð=Ñ=Ô=ˆÝŒ\Ð @ÐAÑAÔAð 	Fð 	FÝ Ô4°T¸9ÑEÔEˆDð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fà˜dÔ3Ð3Ð3Ð3Ð3Ð3Ð3s   ÁA(Á(A,Á/A,c                óJ  — d}|                       |dg|¦  «        }dg}t          ||¬¦  «        }t          j        ||¦  «        }d|j        v sJ ‚|                     d¦  «        }t          |||dz  ¦  «         |dz                       d¬	¦  «        }d
|v sJ ‚d|v sJ ‚d|v sJ ‚dS )a#  
        Internally setuptools converts dependencies with markers to "extras".
        If ``install_requires`` is given by ``setup.py``, we have to ensure that
        applying ``optional-dependencies`` does not overwrite the mandatory
        dependencies with markers (see #3204).
        z1
[project.optional-dependencies]
foo = ['bar>1']
r&  z6importlib-resources (>=3.0.0) ; python_version < "3.7"r6  ÚfooÚegg_infozrequires.txtr8   r9   zimportlib-resourcesÚbarz:python_version < "3.7"N)r‡   r   r   rf   r_   Úget_command_objr
   rc   )rÐ   rn   Úextrar‡   Úinstall_reqr�   r;  Úreqss           r   Ú2test_optional_dependencies_dont_remove_env_markerszBTestPresetField.test_optional_dependencies_dont_remove_env_markers¦  sÜ   € ð GˆØ—N’N 8¨nÐ-=¸uÑEÔEˆ	ØOÐPˆÝ˜°;Ð?Ñ?Ô?ˆÝÔ0°°yÑAÔAˆØ˜Ô+Ð+Ð+Ð+Ð+Ø×'Ò'¨
Ñ3Ô3ˆÝ˜8 X¨x¸.Ñ/HÑIÔIÐIØ˜>Ñ)×4Ò4¸gÐ4ÑFÔFˆØ$¨Ð,Ð,Ð,Ð,Ø˜ˆ}ˆ}ˆ}ˆ}Ø(¨DÐ0Ð0Ð0Ð0Ð0Ð0r   )r  Úgroup)r!  r"  )r$  r%  Úerrorc                óœ   — |                       ||g¦  «        }t          ||dgi¬¦  «        }t          j        ||¦  «        }||j        v sJ ‚d S )Nr#  )rC   )r‡   r   r   rf   rC   )rÐ   rn   r  rB  r‡   r�   s         r   Ú.test_scripts_dont_require_dynamic_entry_pointsz>TestPresetField.test_scripts_dont_require_dynamic_entry_points¼  s`   € ð —N’N 8¨e¨WÑ5Ô5ˆ	Ý˜°Ð8LÐ7MÐ/NÐOÑOÔOˆÝÔ0°°yÑAÔAˆØ˜Ô)Ð)Ð)Ð)Ð)Ð)Ð)r   Nrí   )rî   rï   rð   r‡   r›   rý   rþ   ÚparamÚfilterwarningsr-  r/  r3  r8  rA  rE  r+   r   r   r  r  Q  s÷  € € € € € ðð ð ð ð „[×ÒØ"à4ØˆFŒLØ3ðà”{×1Ò1Ð2QÑRÔRÐSðð ð ˜MÐ,CÐ+DÐEØ˜YÐ):Ð=QÐ<RÐ(SÐTØ˜]¨]Ð=SÐ<TÐ,UÐVØˆFŒLØ$ n°u°gÐ>ðð ”K×.Ò.Ð/WÑXÔXððð ð	
ñô ð&	ð 	ñ'ô ð&	ð „[×ÒØ"à4Ø °Ð4ØÐ6¸Ð;Ø °%°Ð9Ø˜MÐ,CÐ+DÐEð	
ñ	ô 	ð#ð #ñ	ô 	ð#ð7ð 7ð 7ð(4ð 4ð 4ð1ð 1ð 1ð, „[×ÒØØ	'Ð)GÐHñô ð „[×Ò Ñ(Ô(ð*ð *ñ )Ô(ñ	ô ð
*ð *ð *r   r  c                  ó   — e Zd Zd„ ZdS )ÚTestMetac                ó¼   — t          j        |¦  «        5 }t          d„ |                     ¦   «         D ¦   «         ¦  «        sJ ‚	 ddd¦  «         dS # 1 swxY w Y   dS )z,Meta test to ensure tests can run from sdistc              3  óJ   K  — | ]}|                      t          ¦  «        V — Œd S r”   )ÚendswithÚEXAMPLES_FILE)r(   rô   s     r   rA   z6TestMeta.test_example_file_in_sdist.<locals>.<genexpr>Í  s.   è è € ÐOÐO¸�t—}’}¥]Ñ3Ô3ÐOÐOÐOÐOÐOÐOr   N)Útarfiler¬   rh   Úgetnames)rÐ   Úsetuptools_sdistÚtars      r   Útest_example_file_in_sdistz#TestMeta.test_example_file_in_sdistÊ  sµ   € åŒ\Ð*Ñ+Ô+ð 	P¨sÝÐOÐOÀÇÂÁÄÐOÑOÔOÑOÔOÐOÐOÐOÐOð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð 	Pð 	Ps   •.AÁAÁAN)rî   rï   rð   rR  r+   r   r   rI  rI  É  s(   € € € € € ðPð Pð Pð Pð Pr   rI  c                  ó   — e Zd Zd„ ZdS )ÚTestInteropCommandLineParsingc                óP  — |                      |¦  «         d}t          |d¦  «        }|                     t          |¦  «        d¬¦  «         ddgi}t	          j        t          |¦  «        |¦  «        }|                     ¦   «          |                     ¦   «         }d|j	        v sJ ‚d S )NzJ
        [project]
        name = "test"
        version = "42.0"
        r7   r8   r9   Úscript_argsz	--versionz42.0)
r÷   r   re   r   r   rf   r   Úparse_command_lineÚ
readouterrÚout)	rÐ   rn   rm   Úcapsysrr   r‡   Úoptsr�   Úcaptureds	            r   Útest_versionz*TestInteropCommandLineParsing.test_versionÑ  s´   € ð 	×Ò˜(Ñ#Ô#Ð#ðˆõ
 ˜Ð#3Ñ4Ô4ˆ	Ø×Ò�X kÑ2Ô2¸WÐÑEÔEÐEØ ˜}Ð-ˆÝÔ0µ¸dÑ1CÔ1CÀYÑOÔOˆØ×ÒÑ!Ô!Ð!Ø×$Ò$Ñ&Ô&ˆØ˜œÐ%Ð%Ð%Ð%Ð%Ð%r   N)rî   rï   rð   r]  r+   r   r   rT  rT  Ð  s#   € € € € € ð&ð &ð &ð &ð &r   rT  c                  ó   — e Zd Zd„ ZdS )ÚTestStaticConfigc                ó  — |                      |¦  «         d}t          |d¦  «        }|                     t          |¦  «        d¬¦  «         t	          j        t          i ¦  «        |¦  «        }t          |j        ¦  «        sJ ‚t          |j	        j
        ¦  «        sJ ‚t          |j	        j        ¦  «        sJ ‚t          |j	        j        ¦  «        sJ ‚t          |j	        j        ¦  «        sJ ‚t          |j	        j        ¦  «        sJ ‚d S )Na)  
        [project]
        name = "test"
        version = "42.0"
        dependencies = ["hello"]
        keywords = ["world"]
        classifiers = ["private :: hello world"]
        [tool.setuptools]
        obsoletes = ["abcd"]
        provides = ["abcd"]
        platforms = ["abcd"]
        r7   r8   r9   )r÷   r   re   r   r   rf   r   r	   rl   rŽ   Úkeywordsr   Ú	obsoletesÚprovidesÚ	platforms)rÐ   rn   rm   rr   r‡   r�   s         r   Útest_mark_static_fieldsz(TestStaticConfig.test_mark_static_fieldsä  s  € Ø×Ò˜(Ñ#Ô#Ð#ðˆõ ˜Ð#3Ñ4Ô4ˆ	Ø×Ò�X kÑ2Ô2¸WÐÑEÔEÐEÝÔ0µ¸bÑ1AÔ1AÀ9ÑMÔMˆÝ˜Ô.Ñ/Ô/Ð/Ð/Ð/Ý˜œÔ/Ñ0Ô0Ð0Ð0Ð0Ý˜œÔ2Ñ3Ô3Ð3Ð3Ð3Ý˜œÔ0Ñ1Ô1Ð1Ð1Ð1Ý˜œÔ/Ñ0Ô0Ð0Ð0Ð0Ý˜œÔ0Ñ1Ô1Ð1Ð1Ð1Ð1Ð1r   N)rî   rï   rð   re  r+   r   r   r_  r_  ã  s#   € € € € € ð2ð 2ð 2ð 2ð 2r   r_  Úreturnr¿   c                ó  — t          j        ¦   «         5 }| j                             |¦  «         |                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          j        |d¬¦  «         d}t          ¦   «         }|dz  }|dz  }|dz  }|                     d¦  «         g }| 	                    ¦   «         D ]4}| 
                    |¦  «        s||v rŒ|                     |dz   ¦  «         Œ5d                     |¦  «        S )	NT)Úvalidater+   )zAuthor:zAuthor-email:zMaintainer:zMaintainer-email:)zProject-URL: Homepage,z
Home-page:)zDescription-Content-Type:r"   rº   )ÚioÚStringIOrŽ   r­   Úgetvaluer   Ú
from_emailri   ÚaddÚ
splitlinesÚ
startswithÚappendÚjoin)r�   ÚbufferÚpkg_file_txtÚskip_prefixesÚ
skip_linesÚresultÚlines          r   rg   rg      sJ  € Ý	Œ‰Œð )˜&ØŒ×$Ò$ VÑ,Ô,Ð,Ø—’Ñ(Ô(ˆð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ
 Ô˜¨tÐ4Ñ4Ô4Ð4à%'€MÝ‘”€Jð ÐUÑU€MàÐ=Ñ=€MàÐ3Ñ3€Mà‡N‚N�2ÑÔÐà€FØ×'Ò'Ñ)Ô)ð #ð #ˆØ�?Š?˜=Ñ)Ô)ð 	¨T°ZÐ-?Ð-?ØØ�Š�d˜T‘kÑ"Ô"Ð"Ð"à�7Š7�6‰?Œ?Ðs   ”/AÁAÁA)rf  r¿   )LÚ__doc__Ú
__future__r   ri  r%   rN  Úinspectr   Úpathlibr   Úunittest.mockr   r›   Úini2toml.apir   Úpackaging.metadatar   Ú
setuptoolsÚsetuptools._staticr	   Úsetuptools.command.egg_infor
   Úsetuptools.configr   r   r   Ú&setuptools.config._apply_pyprojecttomlr   r   Úsetuptools.distr   Úsetuptools.errorsr   r   Úsetuptools.warningsr   r   Ú	downloadsr   r   Ú__file__ÚparentÚHERErM  r   r/   rý   rþ   rG  Úuses_networkr   rë   Ú"PEP621_INTERNATIONAL_EMAIL_EXAMPLEr„   ÚPEP639_LICENSE_TEXTr½   rŒ   r‘   r—   rž   r¡   rF  Úxfailr±   r¸   rÃ   rÊ   rÌ   rò   r   r  r  rI  rT  r_  rg   r+   r   r   ú<module>r�     s¾  ððð ð #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (Ø :Ð :Ð :Ð :Ð :Ð :Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø TÐ TÐ TÐ TÐ TÐ TÐ TÐ TØ (Ð (Ð (Ð (Ð (Ð (Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ MÐ MÐ MÐ MÐ MÐ MÐ MÐ Mà 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4à€tˆH�~„~Ô€Ø'€ð5ð 5ð 5ðð ð ð „×Ò˜  ¨t°mÑ/CÑ DÔ DÑEÔEØ„×Ò˜HÑ%Ô%Ø„Ôð//ð //ñ Ôñ &Ô%ñ FÔEð//ðd2€ðh&Ð "ðÐ ð	Ð ðÐ ð$ Ø!ðð ð ð ð$?ð ?ð ?ð „×ÒØðð ð ñô ð@ð @ñô ð@ðIð Ið Ið?ð ?ð ?ð „×ÒØ9àˆŒØð3ð *ð	
ñ 	
ô 	
ð 	ˆŒØ.ØMØ”+×#Ò#ðHàð $ñ ô ð
 %ð		
ñ 		
ô 		
ðñô ð.Mð Mñ/ô ð.Mð& „×Òðð 	ˆŒØØØØØ"Øà”×*Ò*ØLñô ðð	
ñ 	
ô 	
ð 	ˆŒØ%ØØØ3ØØ#ð	
ñ 	
ô 	
ðñô ð@*ð *ñAô ð@*ð2Fð Fð FðYð Yð Yð,yCð yCð yCð yCð yCñ yCô yCð yCðx)ð )ð )ð )ð )ñ )ô )ð )ð6&Kð &Kð &Kð &Kð &Kñ &Kô &Kð &KðRMð Mð Mð Mð Mñ Mô Mð Mðu*ð u*ð u*ð u*ð u*ñ u*ô u*ð u*ðpPð Pð Pð Pð Pñ Pô Pð Pð&ð &ð &ð &ð &ñ &ô &ð &ð&2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ð:ð ð ð ð ð r   