HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //snap/certbot/5057/lib/python3.12/site-packages/wheel/__pycache__/_bdist_wheel.cpython-312.pyc
�

�F�h�T��V�dZddlmZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZm
Z
ddlmZddlmZddlmZddlmZmZmZmZmZmZdd	lmZmZddlZdd
lmZddlm Z!dd
l"m#Z#ddl$m%Z%ddl&m'Z'ddl&m(Z)ddl*m+Z+erddl,Z,	e-d�d#d�Z1d$d�Z2e3ej@jid�d�Z5dZ6d%d�Z7d&d�Z8d'd�Z9	d(									d)d�Z:d*d�Z;d#d�Z<d$d�Z=								d+d�Z>d,d �Z?Gd!�d"e�Z@y#e.$rddlm/Z/e/j`�Y��wxYw)-zI
Create a wheel (.whl) distribution.

A wheel is a built archive format.
�)�annotationsN)�BytesGenerator�	Generator)�EmailPolicy)�iglob)�rmtree)�
TYPE_CHECKING�Callable�Iterable�Literal�Sequence�cast)�ZIP_DEFLATED�
ZIP_STORED)�Command�)�__version__)�pkginfo_to_metadata)�log)�tags��version)�	WheelFilezsetuptools.logging)�_setuptools_loggingc�0�tjdd|�S)z�Convert an arbitrary string to a standard distribution name
    Any runs of non-alphanumeric/. characters are replaced with a single '-'.
    �[^A-Za-z0-9.]+�-)�re�sub��names ��/build/snapcraft-certbot-c9aaebe726f8beb59a0eb2d8e1671bc4/parts/certbot/install/lib/python3.12/site-packages/wheel/_bdist_wheel.py�	safe_namer#/s���6�6�"�C��.�.�c���	ttj|��S#tj$r,|j	dd�}tjdd|�cYSwxYw)zB
    Convert an arbitrary string to a standard version string
    � �.rr)�str�_packaging_version�Version�InvalidVersion�replacerrrs r"�safe_versionr-6sW��6��%�-�-�g�6�7�7���,�,�6��/�/�#�s�+���v�v�&��W�5�5�6�s� �<A�Ar'zcp3\dc�2�tjd�dk(S)N�P�)�struct�calcsize�r$r"�_is_32bit_interpreterr4Gs���?�?�3��1�$�$r$c�.�dtjd��S)N�pyr)�sys�version_infor3r$r"�
python_tagr9Ks��
�� � ��#�$�%�%r$c���tj�}|jd�r|�ddlm}|||�}nt�r|dk(rd}n|dk(rd}|j
dd	�S)
z0Return our platform name 'win32', 'linux_x86_64'�macosxr)�calculate_macosx_platform_tag�linux-x86_64z
linux-i686�
linux-aarch64zlinux-armv7lr�_)�	sysconfig�get_platform�
startswith�macosx_libfiler<r4r,)�archive_root�resultr<s   r"rArAOse��
�
#�
#�
%�F�
����"�|�'?�A�.�|�V�D��	�	 ��^�#�!�F�
��
&�$�F��>�>�#�s�#�#r$c��tj|�}|�$|r tjd|�d�td��|S||k(S)zfUse a fallback value for determining SOABI flags if the needed config
    var is unset or unavailable.zConfig variable 'z+' is unset, Python ABI tag may be incorrect���
stacklevel)r@�get_config_var�warnings�warn�RuntimeWarning)�var�fallback�expectedrL�vals     r"�get_flagrRcsL��
�
"�
"�3�
'�C�
�{���M�M�#�C�5�(S�T���
�
���(�?�r$c���tjd�}tj�}|s�|dvr�t	t
d�r�d}d}d}t
dt	t
d�|dk(��rd	}t
d
|dk(|dk(xrt
jdk��rt
jdkrd}|�tj��|�|�|��}|S|r/|dk(r*|jd
�rd|jd�dz}|S|r,|dk(r'|jd�r|jd�d}|S|rL|dk(rGdj|jd�dd�}|jdd�jdd�}|S|rL|dk(rGdj|jd�dd�}|jdd�jdd�}|S|r$|jdd�jdd�}|Sd}|S)zJReturn the ABI tag based on SOABI (if available) or emulate SOABI (PyPy2).�SOABI)�cp�pp�
maxunicode��Py_DEBUG�gettotalrefcountrU)rL�d�
WITH_PYMALLOC)���m�cpythonrrrrVNrGr'r?�graalpyr])
r@rJr�interpreter_name�hasattrr7rRr8�interpreter_versionrB�split�joinr,)�soabi�implr[r_�u�abis      r"�get_abi_tagrkts���)�)�'�2�E�� � �"�D��T�\�)�g�c�<�.H��������J���-?� @��PT��V��A����D�L��$�,�<�3�#3�#3�f�#<�
�����'��A���t�/�/�1�2�1�#�a�S���<��&�J�%
�4�4�<�E�$4�$4�Y�$?��U�[�[��%�a�(�(�� �J�
�4�4�<�E�$4�$4�T�$:��k�k�#��q�!���J�
�4�4�<��h�h�u�{�{�3�'���+�,���k�k�#�s�#�+�+�C��5���J�
�4�9�$��h�h�u�{�{�3�'���+�,���k�k�#�s�#�+�+�C��5���J�
��m�m�C��%�-�-�c�3�7���J����Jr$c�8�t|�jdd�S�Nrr?)r#r,r s r"�
safer_namern�s���T�?�"�"�3��,�,r$c�8�t|�jdd�Srm)r-r,rs r"�
safer_versionrp�s���� �(�(��c�2�2r$c�$�t|||d�y)Nr)�remove_readonly_exc)�func�path�excinfos   r"�remove_readonlyrv�s��
��d�G�A�J�/r$c�\�tj|tj�||�y)N)�os�chmod�stat�S_IWRITE)rsrt�excs   r"rrrr�s���H�H�T�4�=�=�!���Jr$c��eZdZdZeed�Zdddded��d�fd	d
ddd
dddddjdje��fddde
��d�fddg
Zgd�Zd�Z
d�Zed��Zd#d�Zd�Zde�d�f			d$d�Zd%d �Zed&d!��Zd'd"�Zy)(�bdist_wheelzcreate a wheel distribution)�stored�deflated)z
bdist-dir=�bz1temporary directory for creating the distributionz
plat-name=�pz8platform name to embed in generated filenames (default: N�))�	keep-temp�kzPkeep the pseudo-installation tree around after creating the distribution archive)z	dist-dir=r[z-directory to put final built distributions in)�
skip-buildNz2skip rebuilding everything (for testing/debugging))�relativeNz7build the archive using relative paths (default: false))zowner=riz@Owner name used when creating a tar file [default: current user])zgroup=�gzAGroup name used when creating a tar file [default: current group])�	universalNz'make a universal wheel (default: false)zcompression=z6zipfile compression (one of: {}) (default: 'deflated')z, zpython-tag=z3Python implementation compatibility tag (default: 'z'))z
build-number=NzqBuild number for this particular version. As specified in PEP-0427, this must start with a digit. [default: None])zpy-limited-api=Nz?Python tag (cp32|cp33|cpNN) for abi3 wheel tag (default: false))r�r�r�r�c��d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
d|_t�|_d|_d|_d|_y)N�zipFr�)�	bdist_dir�data_dir�	plat_name�plat_tag�format�	keep_temp�dist_dir�egginfo_dir�root_is_pure�
skip_buildr��owner�groupr��compressionr9�build_number�py_limited_api�plat_name_supplied)�selfs r"�initialize_optionszbdist_wheel.initialize_options�s���"�����
�%)�����
�������$(��
����)-��������
���
���
�$���&0���)�|���(,���49���"'��r$c�6�|j�@|jd�j}tjj|d�|_|jjd�}|j�|jdz|_
|jdu|_	|j|j|_d}|j"dgt%||����|jj'�xs|jj)�|_|j,r7t/j0t2|j,�st!dt2�d���|jj5d�}d	|vrDt7j8d
�|d	dj;�}|j=�dvrd
|_|j@�)|j@ddjC�st!d��yy#t$rt!d|j���d�wxYw)N�bdist�wheel�egg_infoz.datazUnsupported compression: )r�r�r�zpy-limited-api must match '�'r�z=The [wheel] section is deprecated. Use [bdist_wheel] instead.r)�1�true�yesTz1Build tag (build-number) must start with a digit.)"r��get_finalized_command�
bdist_baserxrtrf�distribution�get_command_obj�ensure_finalized�wheel_dist_namer�r�r��supported_compressionsr��KeyError�
ValueError�set_undefined_optionsr��has_ext_modules�has_c_librariesr�r�r�match�PY_LIMITED_API_PATTERN�get_option_dictr�warning�strip�lowerr�r��isdigit)r�r�r��need_optionsr�rQs      r"�finalize_optionszbdist_wheel.finalize_options
s����>�>�!��3�3�G�<�G�G�J��W�W�\�\�*�g�>�D�N��$�$�4�4�Z�@���!�!�#��,�,�w�6��
�"&�.�.��"<���	W�#�:�:�4�;K�;K�L�D��?��"��"�"�7�M�S��|�-L�M�
���-�-�/�V�4�3D�3D�3T�3T�3V�
������r�x�x�"�D�$7�$7�(
��:�;Q�:R�RS�T�U�U��!�!�1�1�'�:���%���K�K�O�
���$�Q�'�-�-�/�C��y�y�{�2�2�!%������(��1B�1B�2�A�1F�1N�1N�1P��P�Q�Q�2Q�(��7�	W��8��9I�9I�8J�K�L�RV�V�	W�s� G5�5#Hc���t|jj��t|jj	��f}|j
r||j
fz
}dj
|�S)z4Return distribution full name with - replaced with _r)rnr��get_namerp�get_versionr�rf)r��
componentss  r"r�zbdist_wheel.wheel_dist_name5sf��
�t�(�(�1�1�3�4��$�+�+�7�7�9�:�
�
�����4�,�,�.�.�J��x�x�
�#�#r$c��|jrtt|j�}nn|jrd}n_|jr(|jjd�s
|j}nt
|j�}t�r|dvrd}|dvrd}|j�jdd�jd	d�jd
d�}|jr"|jrd}n|j}|d|f}|Stj�}tj�}||z}|j r#||zjd
�r|j }d}n!tt#��j�}|||f}tj$�D�cgc]}|j&|j(|f��}}||vs
Jd|����|Scc}w)N�anyr;)r=�linux_x86_64�
linux_i686)r>�
linux_aarch64�linux_armv7lrr?r'r&zpy2.py3�none�cp3�abi3z'would build wheel with unsupported tag )r�rr(r�r�rBrAr�r4r�r,r�r9rrbrdr�rk�sys_tags�interpreterrj)	r�r�rh�tag�	impl_name�impl_ver�abi_tag�t�supported_tagss	         r"�get_tagzbdist_wheel.get_tag@s����"�"��S�$�.�.�1�I�
�
�
��I��~�~�d�n�n�&?�&?��&I� �N�N�	�)����8�	�$�&�� @�@� ,�I�� B�B�!/�I�
�O�O��%�%�c�3�/�7�7��S�A�I�I�#�s�S�	�����~�~� ���������+�C�&�
�#�-�-�/�I��/�/�1�H��x�'�D��"�"�	�H�(<�'H�'H��'O��*�*�� ���k�m�,�2�2�4����)�,�C�<@�=�=�?��67�������y�1��N���~�%�
?�8���>�
?�%��
��
s� Gc	���|jd�}d|_d|_|jd�}d|_|js|jd�|jdd��}|j|_d|_|j|_d|_	|jd	�}d|_
d
D]:}t|d|ztjj|j|���<d}tj d
k(rUtjj#tjj|jd��}|x|_|_t||j(rdnd|�t+j,d|j���|jd�|j/�\}}}	|j0�d|�d|�d|	��}
|j2s
|j}nCtjj|j|j5|j6��}|j9dd�t;|j<j?���dtA|j<jC���d�}tjj|j|�}
|jE|jF|
�|jI|
�tjjK|jL�stjN|jL�tjj|jL|
dz�}tQ|d|jR�5}|jU|�ddd�tW|j<dg�jYddjZt\j^dd�|f�|j`szt+j,d|j���|jbsKt\j^dkrte|jtf��yte|jth��yyy#1swY��xYw) N�
build_scripts�pythonT�	build_extF�build�install)�reinit_subcommands�install_scripts)�headers�scripts�data�purelib�platlib�install_rX�ntz..�install_purelib�install_platlibzinstalling to r�install_egg_info)�targetr�z
.dist-infoz.whl�w�
dist_filesr~z{}.{}rGz	removing )r]�)�onerror)�onexc)5�reinitialize_command�
executable�force�inplacer��run_commandr��root�compile�warn_dir�no_ep�setattrrxrtrfr�r!�normpath�install_libbase�install_libr�r�infor�r�r��_ensure_relative�install_baser�rnr�r�rpr��egg2distr��write_wheelfile�existsr��makedirsrr��write_files�getattr�appendr�r7r8r��dry_runrrvrr)r�r�r�r�r��key�basedir_observed�impl_tagr�r��archive_basenamerD�distinfo_dirname�distinfo_dir�
wheel_path�wfs                r"�runzbdist_wheel.runzs����1�1�/�B�
�#+�
� �"�
���-�-�k�:�	�!�	��������W�%��+�+�I�$�+�O���~�~������!�_�_��� ���
�3�3�4E�F�� $���H�	Q�C��G�Z�#�-�r�w�w�|�|�D�M�M�3�/O�P�	Q���
�7�7�d�?� "�w�w�/�/������T�]�]�D�0Q�R��6F�F�D� �4�#3���!%�!2�!2��8I��	
�	���>�$�.�.�!1�2�3�����#�&*�l�l�n�#��'�8�"�2�2�3�1�X�J�a��y��(��T���}�}��>�>�L��7�7�<�<����� 5� 5�g�6J�6J� K��L�	
�"�"�#5�7P�Q��$�+�+�4�4�6�7�8���T�.�.�:�:�<�=�>�j�
J�	��w�w�|�|�D�N�N�4D�E���
�
�d�&�&��5����\�*��w�w�~�~�d�m�m�,��K�K��
�
�&��W�W�\�\�$�-�-�1A�F�1J�K�
�
�z�3��(8�(8�
9�	)�R��N�N�<�(�	)�	��!�!�<��4�;�;������� 0� 0��!� 4�5��
�	
��~�~��H�H�y���� 0�1�2��<�<��#�#�g�-��4�>�>�?�C��4�>�>�1D�E�	 ��	)�	)�s�-Q�Qz
bdist_wheel (c�x�ddlm}|�}d|d<||d<t|j�j	�|d<|j
�|j
|d<|j
�\}}}|jd�D]E}|jd�D]/}	|jd�D]}
d	j||	|
f�|d
<��1�Gtjj|d�}tjd|���t|d
�5}t|d��j|�ddd�y#1swYyxYw)Nr)�Messagez1.0z
Wheel-VersionrzRoot-Is-Purelib�Buildr'r�Tag�WHEELz	creating �wb)�maxheaderlen)�
email.messagerr(r�r�r�r�rerfrxrtrr��openr�flatten)
r��wheelfile_base�	generatorr�msgrr�r�rhrj�plat�wheelfile_path�fs
             r"r�zbdist_wheel.write_wheelfile�s1��	*��i��$��O��$��K��!$�T�%6�%6�!7�!=�!=�!?�������(��,�,�C��L�'+�l�l�n�#��'�8��N�N�3�'�	=�D��}�}�S�)�
=��$�N�N�3�/�=�D�!$���4��d�*;�!<�C��J�=�
=�	=�
�����n�g�>�����9�^�,�-�.�
�.�$�
'�	;�1��1�1�-�5�5�c�:�	;�	;�	;�s�
D0�0D9c��tjj|�\}}|ddtjk(r||ddz}|S)Nrr)rxrt�
splitdrive�sep)r�rt�drives   r"r�zbdist_wheel._ensure_relative�sA���g�g�(�(��.���t���!�9������4���8�#�D��r$c	�$�tdk\r$|jjjxsdSt	�}|jjd�}tdk\r6t
tt|jjj�}nd|vr|ddj�}nd}d|vr3tjdtd	�
�|j|dd�|s|st|t�sd}|D]�}t!|�D]}|j#d�rt%j&d
|�d���.||vs�3t(j*j-|�s�St%j.d|�d|�d��|j|�����|S)N�9r3�metadata�*�
license_filesr�license_filezEThe "license_file" option is deprecated. Use "license_files" instead.rGrH)zLICEN[CS]E*zCOPYING*zNOTICE*zAUTHORS*�~zignoring license file "z" as it looks like a backupzadding license file "z" (matched pattern "z"))�setuptools_major_versionr�r r"�setr�rr
r(rerKrL�DeprecationWarning�add�
isinstance�listr�endswithr�debugrxrt�isfiler�)r��filesr �patterns�patternrts      r"�
license_pathszbdist_wheel.license_paths�st��#�r�)��$�$�-�-�;�;�A�r�A��%���$�$�4�4�Z�@��#�r�)��H�S�M�4�+<�+<�+E�+E�+S�+S�T�H��(�*�#�O�4�Q�7�=�=�?�����X�%��M�M�W�"��
�

�I�I�h�~�.�q�1�2��X�j��4�.H�I�H��	$�G��g��
$���=�=��%��I�I�1�$��7R�S����u�$�������)=��H�H�/��v�5I�'��RT�U���I�I�d�O�
$�	$��r$c��dd�}||�tjj|�s�ddl}tjj	tjj|�d�}|j|�}d|�d�}|r+tjj
|d�}|d|�d�z
}t|��tjj|�r"t||�}	tj|�n�tjj	|d	�}
t||
�}	tj||d
���tjj	|d�}t|d
��5}|j�j�}
ddd�
s||�tjj	|d�}t!ddd��}t|dd
��5}t#||��j%|	�ddd�|j&D]U}tjj
|�}tj(|tjj	||���W||�y#1swY��xYw#1swY��xYw)z:Convert an .egg-info directory into a .dist-info directoryc�T�tjj|�rTtjj|�s5tjj	|�rtj|�ytjj|�rtj|�yy)z-Appropriately delete directory, file or link.N)rxrtr��islink�isdir�shutilr�unlink)r�s r"�adiosz#bdist_wheel.egg2dist.<locals>.adios#s\���w�w�~�~�a� �������):�r�w�w�}�}�Q�?O��
�
�a� �������"��	�	�!��#r$rNz
*.egg-infozEgg metadata expected at z but not foundz (z) found - possible misnamed archive file?)�PKG-INFOc�
�hd�S)N>�SOURCES.txt�not-zip-safe�requires.txtr9r3)�x�ys  r"�<lambda>z&bdist_wheel.egg2dist.<locals>.<lambda>Is	��%�r$)�ignorezdependency_links.txtzutf-8)�encoding�METADATATF)�utf8�mangle_from_�max_line_lengthr�)�policy)r�r(�return�None)rxrtr��globrf�dirname�basenamer�r-r�mkdirr6�copytreer�readr�rrrr1�copy)r��egginfo_path�
distinfo_pathr8rJ�pat�possible�err�alt�pkg_info�pkginfo_path�dependency_links_path�dependency_links_file�dependency_links�
pkg_info_path�serialization_policy�out�license_path�filenames                   r"r�zbdist_wheel.egg2dist s��	�	�m���w�w�~�~�l�+�

��'�'�,�,�r�w�w���|�<�l�K�C��y�y��~�H�-�l�^�>�J�C���g�g�&�&�x��{�3����C�5� I�J�J���S�/�!�
�7�7�>�>�,�'�*�<��F�H��H�H�]�#��7�7�<�<��j�A�L�*�<��F�H�
�O�O����	
�%'�G�G�L�L��@V�$W�!��+�g�>�
H�BW�#8�#=�#=�#?�#E�#E�#G� �
H�#��+�,������]�J�?�
�*���� 
��
�-��w�
7�	J�3��c�"6�7�?�?��I�	J�!�.�.�	M�L��w�w�'�'��5�H��K�K��b�g�g�l�l�=�(�&K�L�	M�	�l��%
H�
H��	J�	J�s�/I.�I:�.I7�:J)rHztuple[str, str, str])rr(rr()rtr(rHr()rHz
Iterable[str])rQr(rRr()�__name__�
__module__�__qualname__�descriptionrrr�rAr�rfr9�user_options�boolean_optionsr�r��propertyr�r�r	�
wheel_versionr�r�r1r�r3r$r"r~r~�s1��/�K�� ���	Q���
�%�d�+�,�A�
/�	
�	
�	L�R�	
�
	
�
	
�
	G���D�K�K��	�	�0�1�
�	
�
��A�*�,��r�R�	
�
	
�	
�g8�L�tK�O�(�*)R�V�$��$�8�tXF�v7D�M�?�RS�4T�;�!�;�.1�;�0��*��*�XEr$r~)r!r(rHr()rr(rHr()rH�bool)rHr()rD�
str | NonerHr()TT)
rNr(rOrirPrirLrirHri)rHrj)rs�Callable[..., object]rtr(ruz6tuple[type[Exception], Exception, types.TracebackType]rHrI)rsrkrtr(r|�	ExceptionrHrI)A�__doc__�
__future__rrxrr6rzr1r7r@rK�email.generatorrr�email.policyrrJrr�typingr	r
rrr
r�zipfilerr�
setuptoolsrrXrrhr r�utilr�vendored.packagingrrr)�	wheelfiler�types�
__import__�ImportErrorr�	configurer#r-�intrer%r�r4r9rArRrkrnrprvrrr~r3r$r"�<module>r|sO���#�	�	�
��
�
���5�$���M�M�,���*�)��$�=� ���$��#�$�/�	6��z�5�5�;�;�C�@��C�D��!��%�&�$�*CG��	����(,��;?��	��"%�P-�3�0�
�0�

�0�D�0�
�	0��
t�'�t��S�$�%�!��!�!�#�	$�s�D	�	D(�'D(