§
    ·è×jïa  ã                  óÄ  — d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZm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mZ dd
lmZ ddlmZm Z m!Z! ddl"m#Z# ddl$m%Z% ddl	m&Z& ddl'm'Z( ddl)m*Z* d0d„Z+ e, e j-        d¦  «        d         ¦  «        Z.dZ/d1d„Z0d2d„Z1d3d„Z2ddœd4d!„Z3d1d"„Z4d5d%„Z5	 d6d7d*„Z6d8d+„Z7d0d,„Z8d-„ Z9 G d.„ d/e¦  «        Z:dS )9zI
Create a wheel (.whl) distribution.

A wheel is a built archive format.
é    )ÚannotationsN)ÚIterableÚSequence)ÚBytesGenerator)Úiglob)ÚClassVarÚLiteralÚcast)ÚZIP_DEFLATEDÚ
ZIP_STORED)ÚtagsÚversion)Ú	WheelFileé   )ÚCommandÚ__version__Ú_shutil)Ú_safe_license_file)Ú
safer_name)ÚSetuptoolsDeprecationWarningé   )Úegg_info)Úlogr   ÚstrÚreturnc                óÈ   — 	 t          t          j        | ¦  «        ¦  «        S # t          j        $ r/ |                      dd¦  «        } t          j        dd| ¦  «        cY S w xY w)zB
    Convert an arbitrary string to a standard version string
    ú ú.z[^A-Za-z0-9.]+ú-)r   Ú_packaging_versionÚVersionÚInvalidVersionÚreplaceÚreÚsub©r   s    újC:\Users\johnn\AppData\Local\Programs\Python\Python311\Lib\site-packages\setuptools/command/bdist_wheel.pyÚsafe_versionr(   "   sm   € ð6åÕ%Ô-¨gÑ6Ô6Ñ7Ô7Ð7øÝÔ,ð 6ð 6ð 6Ø—/’/ # sÑ+Ô+ˆÝŒvÐ&¨¨WÑ5Ô5Ð5Ð5Ð5ð6øøøs   ‚ # £;A!Á A!r   zcp3\dc                 óÞ   — t          j        d¦  «        pd} t          j        d| ¦  «        rdS |                      d¦  «        rdS |                      d¦  «        rdS t          j        ¦   «         S )NÚSOABIÚ z(?:cpython-|cp)\dÚcpÚpypyÚppÚgraalpy)Ú	sysconfigÚget_config_varr$   ÚmatchÚ
startswithr   Úinterpreter_name)Úsoabis    r'   Ú_interpreter_namer6   3   sv   € ÝÔ$ WÑ-Ô-Ð3°€EÝ	„xÐ$ eÑ,Ô,ð ØˆtØ×Ò˜ÑÔð ØˆtØ×Ò˜	Ñ"Ô"ð ØˆyÝÔ Ñ"Ô"Ð"ó    útuple[int, int]c                 ó^  — t          j        d¦  «        } t          j        dt	          | ¦  «        ¦  «        }|€6t	          t          j        d¦  «        ¦  «        }t          j        d|¦  «        }|r*t          |d         ¦  «        t          |d         ¦  «        fnt          j        d d…         S )NÚVERSIONz(\d)\.?([0-9]+)r*   z+(?:cpython-|cp|pypy|graalpy[^-]*-)(\d)(\d+)r   r   )	r0   r1   r$   Ú	fullmatchr   r2   ÚintÚsysÚversion_info)r   r2   r5   s      r'   Ú_python_versionr?   >   sŽ   € åÔ& yÑ1Ô1€GåŒLÐ+­S°©\¬\Ñ:Ô:€EØ€}Ý•IÔ,¨WÑ5Ô5Ñ6Ô6ˆÝ”ÐGÈÑOÔOˆØ-2ÐL�C��a”‰MŒM�3˜u Qœx™=œ=Ð)Ð)½Ô8HÈÈ!ÈÔ8LÐLr7   Úboolc                 ój   — t          j        d¦  «        } | �| dk    S t          j        d¦  «        dk    S )NÚSIZEOF_VOID_Pé   ÚP)r0   r1   ÚstructÚcalcsize)Úsizes    r'   Ú_is_32bit_interpreterrH   I   s7   € ÝÔ# OÑ4Ô4€DØÐØ�qŠyÐÝŒ?˜3ÑÔ 1Ò$Ð$r7   F©ÚwarnrJ   c                óö   — t          t          d¦  «        }t          j        d¦  «        }t	          |t
          ¦  «        r*|                     d¦  «        r|                     d¦  «        }t          d|| ¬¦  «        S )NÚgettotalrefcountÚ
EXT_SUFFIXz.pydÚ_dÚPy_DEBUGrI   )	Úhasattrr=   r0   r1   Ú
isinstancer   Úendswithr3   Úget_flag)rJ   ÚfallbackÚsuffixs      r'   Ú	_is_debugrV   P   so   € Ý•sÐ.Ñ/Ô/€HÝÔ% lÑ3Ô3€FÝ�&�#ÑÔð + 6§?¢?°6Ñ#:Ô#:ð +Ø×$Ò$ TÑ*Ô*ˆÝ�J ¨tÐ4Ñ4Ô4Ð4r7   c                 ó0   — dt          ¦   «         d         › �S )NÚpyr   )r?   © r7   r'   Ú
python_tagrZ   X   s   € Ø&•Ñ!Ô! !Ô$Ð&Ð&Ð&r7   Úarchive_rootú
str | Nonec                óæ   — t          j        ¦   «         }|                     d¦  «        r| �ddlm}  || |¦  «        }nt          ¦   «         r|dk    rd}n|dk    rd}|                     d	d
¦  «        S )z0Return our platform name 'win32', 'linux_x86_64'ÚmacosxNr   )Úcalculate_macosx_platform_tagúlinux-x86_64z
linux-i686úlinux-aarch64zlinux-armv7lr   Ú_)r0   Úget_platformr3   Úwheel.macosx_libfiler_   rH   r#   )r[   Úresultr_   s      r'   rc   rc   \   s—   € åÔ#Ñ%Ô%€FØ×Ò˜Ñ"Ô"ð $ |Ð'?ØFÐFÐFÐFÐFÐFà.Ð.¨|¸VÑDÔDˆˆÝ	Ñ	 Ô	 ð $Ø�^Ò#Ð#à!ˆFˆFØ�Ò&Ð&ð $ˆFà�>Š>˜#˜sÑ#Ô#Ð#r7   TÚvarrT   Úexpectedc                ó‚   — t          j        | ¦  «        }|€$|r t          j        d| › d�t          d¬¦  «         |S ||k    S )zfUse a fallback value for determining SOABI flags if the needed config
    var is unset or unavailable.NzConfig variable 'z+' is unset, Python ABI tag may be incorrectr   ©Ú
stacklevel)r0   r1   ÚwarningsrJ   ÚRuntimeWarning)rf   rT   rg   rJ   Úvals        r'   rS   rS   p   s_   € õ
 Ô
" 3Ñ
'Ô
'€CØ
€{Øð 	ÝŒMØT CÐTÐTÐTÝØðñ ô ð ð
 ˆØ�(Š?Ðr7   c                 óZ  — t          j        d¦  «        } t          ¦   «         }| ss|dv rot          t          d¦  «        rZd}d}t          |dk    ¬¦  «        rd}d                     t          t          t          ¦   «         ¦  «        ¦  «        }|› |› |› |› �}�n“| r;|dk    r5|  
                    d¦  «        r d|                      d	¦  «        d
         z   }�nV| r_|dk    rY|  
                    d¦  «        rD|                      d	¦  «        d         }t          ¦   «         r|                     d¦  «        s|dz  }nõ| ra|dk    r[d	                     |                      d	¦  «        dd…         ¦  «        }|                     dd¦  «                             d	d¦  «        }n’| ra|dk    r[d	                     |                      d	¦  «        dd…         ¦  «        }|                     dd¦  «                             d	d¦  «        }n/| r+|                      dd¦  «                             d	d¦  «        }nd}|S )zJReturn the ABI tag based on SOABI (if available) or emulate SOABI (PyPy2).r*   )r,   r.   Ú
maxunicoder+   r,   rI   ÚdÚcpythonr   r   r   r.   Nr   r   rb   r/   é   )r0   r1   r6   rP   r=   rV   ÚjoinÚmapr   r?   r3   ÚsplitrR   r#   )r5   Úimplrp   ÚuÚimpl_verÚabis         r'   Úget_abi_tagrz   �   s0  € åÔ)¨'Ñ2Ô2€EÝÑÔ€DØð �T˜\Ð)Ð)­gµc¸<Ñ.HÔ.HÐ)ØˆØˆÝ˜4 4š<Ð)Ñ)Ô)ð 	ØˆAà—7’7�3�s¥OÑ$5Ô$5Ñ6Ô6Ñ7Ô7ˆØÐ'�xÐ' Ð' AÐ'Ð'ˆ‰Ø	ð �4˜4’<�< E×$4Ò$4°YÑ$?Ô$?�<à�U—[’[ Ñ%Ô% aÔ(Ñ(ˆ‰Ø	ð �4˜4’<�< E×$4Ò$4°TÑ$:Ô$:�<à�kŠk˜#ÑÔ˜qÔ!ˆÝ‰;Œ;ð 	˜sŸ|š|¨CÑ0Ô0ð 	à�3‰JˆCøØ	ð 
�4˜4’<�<à�hŠh�u—{’{ 3Ñ'Ô'¨¨¨Ô+Ñ,Ô,ˆØ�kŠk˜#˜sÑ#Ô#×+Ò+¨C°Ñ5Ô5ˆˆØ	ð �4˜9Ò$Ð$Ø�hŠh�u—{’{ 3Ñ'Ô'¨¨¨Ô+Ñ,Ô,ˆØ�kŠk˜#˜sÑ#Ô#×+Ò+¨C°Ñ5Ô5ˆˆØ	ð Ø�mŠm˜C Ñ%Ô%×-Ò-¨c°3Ñ7Ô7ˆˆàˆà€Jr7   c                óH   — t          | ¦  «                             dd¦  «        S )Nr   rb   )r(   r#   r&   s    r'   Úsafer_versionr|   ¥   s    € Ý˜Ñ Ô ×(Ò(¨¨cÑ2Ô2Ð2r7   c                ó`   — d }| dk    r%|d         dk    rt          j        d¦  «        rd}nd}|S )Nr,   r   Ú3ÚPy_GIL_DISABLEDz
abi3.abi3tÚabi3)r0   r1   )Ú	impl_nameÚimpl_versionÚabi_tags      r'   Ústable_abi_tagr„   ©   sG   € Ø€GØ�DÒÐ˜\¨!œ_°Ò3Ð3ÝÔ#Ð$5Ñ6Ô6ð 	ð #ˆGˆGàˆGØ€Nr7   c                  óx  — e Zd ZU dZeedœZded<   dddd ed	¦  «        › d
�fddddddddd	dd 	                    e¦  «        › d�fdd	d e
¦   «         › d�fdddgZded<   g d¢Zded <   d<d#„Zd<d$„Zd<d%„Zed=d'„¦   «         Zed=d(„¦   «         Zd>d*„Zd?d,„Zd-„ Zd.e› d/�fd@d2„ZdAd4„ZedBd6„¦   «         ZdCd9„ZdDd;„Zd	S )EÚbdist_wheelzcreate a wheel distribution)ÚstoredÚdeflatedzClassVar[dict[str, int]]Úsupported_compressions)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=rp   z-directory to put final built distributions in)ú
skip-buildNz2skip rebuilding everything (for testing/debugging))ÚrelativeNz7build the archive using relative paths [default: false])zowner=rw   z@Owner name used when creating a tar file [default: current user])zgroup=ÚgzAGroup name used when creating a tar file [default: current group])Ú	universalNz4*DEPRECATED* make a universal wheel [default: false]zcompression=zzipfile compression (one of: z, z) [default: 'deflated']zpython-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])zpy-limited-api=NzBPython tag (cp32|cp33|cpNN) for abi3 or abi3t ABI [default: false])zdist-info-dir=Nz‰directory where a pre-generated dist-info can be found (e.g. as a result of calling the PEP517 'prepare_metadata_for_build_wheel' method)zHClassVar[list[tuple[str, str, str]] | list[tuple[str, str | None, str]]]Úuser_options)r�   r�   r�   r’   zClassVar[list[str]]Úboolean_optionsr   ÚNonec                ó6  — d | _         d| _        d | _        d | _        d| _        d| _        d | _        d | _        d | _        d | _	        d| _
        d| _        d | _        d | _        d| _        d| _        t!          ¦   «         | _        d | _        d| _        d| _        d S )Nr+   ÚzipFrˆ   )Ú	bdist_dirÚdata_dirÚ	plat_nameÚplat_tagÚformatÚ	keep_tempÚdist_dirÚdist_info_dirÚegginfo_dirÚroot_is_pureÚ
skip_buildr�   ÚownerÚgroupr’   ÚcompressionrZ   Úbuild_numberÚpy_limited_apiÚplat_name_supplied©Úselfs    r'   Úinitialize_optionszbdist_wheel.initialize_options  sŸ   € Ø%)ˆŒØˆŒØ%)ˆŒØ$(ˆŒØˆŒØˆŒØ$(ˆŒØ!ˆÔØ'+ˆÔØ)-ˆÔØˆŒØˆŒØˆŒ
ØˆŒ
ØˆŒØ&0ˆÔÝ$™,œ,ˆŒØ(,ˆÔØ49ˆÔØ"'ˆÔÐÐr7   c                óÒ  — | j         s?|                      d¦  «        j        }t          j                             |d¦  «        | _         | j        €At          t          | j	         
                    d¦  «        ¦  «        }|                     ¦   «          | j        dz   | _        t          | j        ¦  «        | _        d} | j        dgt%          ||¦  «        ¢R Ž  | j	                             ¦   «         p| j	                             ¦   «          | _        |                      ¦   «          | j	                             d¦  «        }d|v rQt1          j        d¦  «         |d         d                              ¦   «         }|                     ¦   «         d	v rd
| _        | j        rt;          j        ddd¬¦  «         | j        �0| j        d d…                               ¦   «         stC          d¦  «        ‚d S d S )NÚbdistÚwheelr   z.data)rž   rš   r¢   r’   z=The [wheel] section is deprecated. Use [bdist_wheel] instead.r   )Ú1ÚtrueÚyesTz#bdist_wheel.universal is deprecatedaj  
                With Python 2.7 end-of-life, support for building universal wheels
                (i.e., wheels that support both Python 2 and Python 3)
                is being obviated.
                Please discontinue using this option, or if you still need it,
                file an issue with pypa/setuptools describing your use case.
                )ié  é   é   )Údue_datez1Build tag (build-number) must start with a digit.)"r˜   Úget_finalized_commandÚ
bdist_baseÚosÚpathrs   rŸ   r
   Úegg_info_clsÚdistributionÚget_command_objÚensure_finalizedÚwheel_dist_namer™   r@   rš   r¨   Úset_undefined_optionsr—   Úhas_ext_modulesÚhas_c_librariesr¡   Ú_validate_py_limited_apiÚget_option_dictr   rJ   ÚstripÚlowerr’   r   Úemitr¦   ÚisdigitÚ
ValueError)rª   r¶   r   Úneed_optionsr®   rm   s         r'   Úfinalize_optionszbdist_wheel.finalize_options#  så  € ØŒ~ð 	?Ø×3Ò3°GÑ<Ô<ÔGˆJÝœWŸ\š\¨*°gÑ>Ô>ˆDŒNàÔÐ%Ý�L¨$Ô*;×*KÒ*KÈJÑ*WÔ*WÑXÔXˆHØ×%Ò%Ñ'Ô'Ð'àÔ,¨wÑ6ˆŒÝ"& t¤~Ñ"6Ô"6ˆÔà>ˆà"ˆÔ" 7ÐM­S°¸|Ñ-LÔ-LÐMÐMÐMÐMð Ô×-Ò-Ñ/Ô/ÐV°4Ô3D×3TÒ3TÑ3VÔ3Vð
ˆÔð 	×%Ò%Ñ'Ô'Ð'ð Ô!×1Ò1°'Ñ:Ô:ˆØ˜%ÐÐåŒHÐTÑUÔUÐUØ˜Ô$ QÔ'×-Ò-Ñ/Ô/ˆCØ�yŠy‰{Œ{Ð2Ð2Ð2Ø!%�”àŒ>ð 	Ý(Ô-Ø5ðð 'ð
ñ 
ô 
ð 
ð ÔÐ(°Ô1BÀ2ÀAÀ2Ô1F×1NÒ1NÑ1PÔ1PÐ(ÝÐPÑQÔQÐQð )Ð(Ð(Ð(r7   c                ó  — | j         sd S t          j        t          | j         ¦  «        st	          dt          › d�¦  «        ‚t          j        d¦  «        r*t          ¦   «         dk     rt	          d| j         ›d�¦  «        ‚d S d S )Nzpy-limited-api must match 'ú'r   )rr   é   z`py_limited_api=z—` not supported. `Py_LIMITED_API` is incompatible with `Py_GIL_DISABLED` on Python 3.14 and older. See https://github.com/python/cpython/issues/111506.)r§   r$   r2   ÚPY_LIMITED_API_PATTERNrÇ   r0   r1   r?   r©   s    r'   rÁ   z$bdist_wheel._validate_py_limited_apiR  s©   € ØÔ"ð 	ØˆFåŒxÕ.°Ô0CÑDÔDð 	VÝÐTÕ;QÐTÐTÐTÑUÔUÐUåÔ#Ð$5Ñ6Ô6ð 	½?Ñ;LÔ;LÈwÒ;VÐ;VÝðG 4Ô#6ð Gð Gð Gñô ð ð	ð 	Ð;VÐ;Vr7   r   c                ó  — t          | j                             ¦   «         ¦  «        t          | j                             ¦   «         ¦  «        g}| j        r|                     | j        ¦  «         d                     |¦  «        S )z4Return distribution full name with - replaced with _r   )r   rº   Úget_namer|   Úget_versionr¦   Úappendrs   )rª   Ú
componentss     r'   r½   zbdist_wheel.wheel_dist_namea  su   € õ �tÔ(×1Ò1Ñ3Ô3Ñ4Ô4Ý˜$Ô+×7Ò7Ñ9Ô9Ñ:Ô:ð
ˆ
ð Ôð 	1Ø×Ò˜dÔ/Ñ0Ô0Ð0Ø�xŠx˜
Ñ#Ô#Ð#r7   c                ó  — t          ¦   «         }d                     t          t          t	          ¦   «         ¦  «        ¦  «        }d }| j        rt          ||¦  «        }|€-t          t          ¦   «         ¦  «                             ¦   «         }|S )Nr+   )	r6   rs   rt   r   r?   r§   r„   rz   rÄ   )rª   r�   rx   Útags       r'   rƒ   zbdist_wheel.abi_tagl  st   € å%Ñ'Ô'ˆ	Ø—7’7�3�s¥OÑ$5Ô$5Ñ6Ô6Ñ7Ô7ˆØˆØÔð 	6Ý  ¨HÑ5Ô5ˆCØˆ;å•k‘m”mÑ$Ô$×*Ò*Ñ,Ô,ˆCØˆ
r7   útuple[str, str, str]c                óÐ  — | j         r| j        r| j        }na| j        rd}nW| j        r"| j                             d¦  «        s| j        }nt	          | j        ¦  «        }t          ¦   «         r|dv rd}|dv rd}|                     ¦   «                              dd¦  «                             d	d¦  «                             d
d¦  «        }| j        r| j	        rd}n| j
        }|d|f}n€t          ¦   «         }t          ¦   «         }d                     t          t          |¦  «        ¦  «        }||z   }| j        }d|v r| j        dusJ ‚| j        }|||f}|                      |¦  «         |S )NÚanyr^   )r`   Úlinux_x86_64Ú
linux_i686)ra   Úlinux_aarch64Úlinux_armv7lr   rb   r   r   zpy2.py3Únoner+   r€   F)r¨   rš   r¡   r3   rc   r˜   rH   rÄ   r#   r’   rZ   r6   r?   rs   rt   r   rƒ   r§   Ú_validate_tag)rª   rš   rv   rÔ   r�   Úpython_versionrx   rƒ   s           r'   Úget_tagzbdist_wheel.get_tagx  s§  € ð Ô"ð 	/ t¤~ð 	/ØœˆIˆIØÔð 	/ØˆIˆIð Œ~ð 	9 d¤n×&?Ò&?ÀÑ&IÔ&Ið 	9Ø œN�	�	õ )¨¬Ñ8Ô8�	å$Ñ&Ô&ð /ØÐ @Ð@Ð@Ø ,�IØÐ BÐBÐBð !/�Ið �OŠOÑÔ×%Ò% c¨3Ñ/Ô/×7Ò7¸¸SÑAÔA×IÒIÈ#ÈsÑSÔSð 	ð Ôð 	$ØŒ~ð 'Ø ��à”�Ø˜ Ð+ˆCˆCå)Ñ+Ô+ˆIÝ,Ñ.Ô.ˆNØ—w’w�s¥3¨Ñ7Ô7Ñ8Ô8ˆHØ˜xÑ'ˆDØ”lˆGØ˜Ð Ð ØÔ*°%Ð7Ð7Ð7Ð7ØÔ*�Ø˜ )Ð,ˆCØ×Ò˜sÑ#Ô#Ð#Øˆ
r7   rÔ   c                óº  — t          ¦   «         }t          ¦   «         }t          t          ¦   «         ¦  «                             ¦   «         g}|dk    rt          j        |||d         g¬¦  «        }n$t          j        |d         ||d         g¬¦  «        }t          j        d 	                    |¦  «        ¦  «         
                    |¦  «        rJ d|› �¦   «         ‚d S )Nr,   r   )rÞ   ÚabisÚ	platformsr   )Úinterpreterrá   râ   r   z'would build wheel with unsupported tag )r6   r?   r   rz   rÄ   r   Úcpython_tagsÚgeneric_tagsÚ	parse_tagrs   Ú
isdisjoint)rª   rÔ   r�   rÞ   rá   Úsupported_tagss         r'   rÝ   zbdist_wheel._validate_tag«  sæ   € Ý%Ñ'Ô'ˆ	Ý(Ñ*Ô*ˆÝ•K‘M”MÑ"Ô"×(Ò(Ñ*Ô*Ð+ˆà˜ÒÐÝ!Ô.Ø-°DÀSÈÄVÀHðñ ô ˆNˆNõ "Ô.Ø œF¨¸#¸a¼&¸ðñ ô ˆNõ ”> #§(¢(¨3¡-¤-Ñ0Ô0×;Ò;¸NÑKÔKð 	
ð 	
Ø;°cÐ;Ð;ñ	
ô 	
ÐKð 	
ð 	
r7   c           
     óò  — |                       d¦  «        }d|_        d|_        |                       d¦  «        }d|_        | j        s|                      d¦  «         |                       dd¬¦  «        }| j        |_        d|_        | j        |_        d|_	        |                       d	¦  «        }d|_
        d
D ]9}t          |d|z   t          j                             | j        |¦  «        ¦  «         Œ:d}t          j        dk    rPt          j                             t          j                             | j        d¦  «        ¦  «        }|x| _        | _        t          || j        rdnd|¦  «         t+          j        d| j        › �¦  «         |                      d¦  «         |                      ¦   «         \  }}}	| j        › d|› d|› d|	› �}
| j        s| j        }n=t          j                             | j        |                      |j        ¦  «        ¦  «        }|                      dd¦  «         t;          | j                             ¦   «         ¦  «        › dtA          | j         !                    ¦   «         ¦  «        › d�}t          j                             | j        |¦  «        }| j"        rPt+          j#        d| j"        › �¦  «         tI          j%        | j"        |¦  «         tM          j'        | j(        ¦  «         n|  )                    | j(        |¦  «         |  *                    |¦  «         t          j         +                    | j,        ¦  «        st          j-        | j,        ¦  «         t          j                             | j,        |
dz   ¦  «        }t]          |d|  /                    ¦   «         ¦  «        5 }| 0                    |¦  «         d d d ¦  «         n# 1 swxY w Y   tc          | j        dg ¦  «         2                    dd                     tg          th          tk          ¦   «         ¦  «        ¦  «        |f¦  «         | j6        s7t+          j        d| j        › �¦  «         tM          j'        | j        ¦  «         d S d S )NÚbuild_scriptsÚpythonTÚ	build_extFÚbuildÚinstall)Úreinit_subcommandsÚinstall_scripts)ÚheadersÚscriptsÚdataÚpurelibÚplatlibÚinstall_r+   Úntz..Úinstall_purelibÚinstall_platlibzinstalling to r   Úinstall_egg_info)Útargetr    z
.dist-infozreusing z.whlÚwÚ
dist_filesr†   r   z	removing )7Úreinitialize_commandÚ
executableÚforceÚinplacer¢   Úrun_commandr˜   ÚrootÚcompileÚwarn_dirÚno_epÚsetattrr·   r¸   rs   r™   ÚnameÚnormpathÚinstall_libbaseÚinstall_libr¡   r   Úinforß   r½   r�   Ú_ensure_relativeÚinstall_baser¾   r   rº   rÏ   r|   rÐ   rŸ   ÚdebugÚshutilÚcopytreer   Úrmtreer    Úegg2distÚwrite_wheelfileÚexistsrž   Úmakedirsr   Ú_zip_compressionÚwrite_filesÚgetattrrÑ   rt   r   r?   r�   )rª   rê   rì   rî   rð   ÚkeyÚbasedir_observedÚimpl_tagrƒ   r›   Úarchive_basenamer[   Údistinfo_dirnameÚdistinfo_dirÚ
wheel_pathÚwfs                   r'   Úrunzbdist_wheel.run½  sŠ  € Ø×1Ò1°/ÑBÔBˆØ#+ˆÔ Ø"ˆÔà×-Ò-¨kÑ:Ô:ˆ	Ø!ˆ	ÔàŒð 	&Ø×Ò˜WÑ%Ô%Ð%à×+Ò+¨IÈ$Ð+ÑOÔOˆØ”~ˆŒØˆŒØ!œ_ˆÔØ ˆÔð
 ×3Ò3Ð4EÑFÔFˆØ $ˆÔð Hð 	Qð 	QˆCÝ�G˜Z¨#Ñ-­r¬w¯|ª|¸D¼MÈ3Ñ/OÔ/OÑPÔPÐPÐPàÐåŒ7�dŠ?ˆ?õ  "œw×/Ò/µ´·²¸T¼]ÈDÑ0QÔ0QÑRÔRÐØ6FÐFˆDÔ  4Ô#3åØØ!%Ô!2ÐIÐÐÐ8IØñ	
ô 	
ð 	
õ 	ŒÐ2 $¤.Ð2Ð2Ñ3Ô3Ð3à×Ò˜Ñ#Ô#Ð#à&*§l¢l¡n¤nÑ#ˆ�'˜8Ø"Ô2ÐTÐT°XÐTÐTÀÐTÐTÈ(ÐTÐTÐØŒ}ð 	Øœ>ˆLˆLåœ7Ÿ<š<Ø” × 5Ò 5°gÔ6JÑ KÔ Kñô ˆLð 	×"Ò"Ð#5Ð7PÑQÔQÐQå˜$Ô+×4Ò4Ñ6Ô6Ñ7Ô7ð Jð JÝ˜TÔ.×:Ò:Ñ<Ô<Ñ=Ô=ðJð Jð Jð 	õ ”w—|’| D¤NÐ4DÑEÔEˆØÔð 		:åŒIÐ5 Ô!3Ð5Ð5Ñ6Ô6Ð6ÝŒO˜DÔ.°Ñ=Ô=Ð=õ ŒN˜4Ô+Ñ,Ô,Ð,Ð,ð �MŠM˜$Ô*¨LÑ9Ô9Ð9à×Ò˜\Ñ*Ô*Ð*õ Œw�~Š~˜dœmÑ,Ô,ð 	'ÝŒK˜œÑ&Ô&Ð&å”W—\’\ $¤-Ð1AÀFÑ1JÑKÔKˆ
Ý�z 3¨×(=Ò(=Ñ(?Ô(?Ñ@Ô@ð 	)ÀBØ�NŠN˜<Ñ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ 	�Ô! <°Ñ4Ô4×;Ò;ØØ�HŠH•S��oÑ/Ô/Ñ0Ô0Ñ1Ô1Øð=
ñ 	ô 	ð 	ð Œ~ð 	+ÝŒHÐ1 ¤Ð1Ð1Ñ2Ô2Ð2ÝŒN˜4œ>Ñ*Ô*Ð*Ð*Ð*ð	+ð 	+s   Î.OÏOÏOzsetuptools (ú)Úwheelfile_baseÚ	generatorc                ó�  — ddl m}  |¦   «         }d|d<   ||d<   t          | j        ¦  «                             ¦   «         |d<   | j        �
| j        |d<   |                      ¦   «         \  }}}|                     d¦  «        D ]?}|                     d¦  «        D ]'}	|                     d¦  «        D ]}
|› d	|	› d	|
› �|d
<   ŒŒ(Œ@t          j	         
                    |d¦  «        }t          j        d|› �¦  «         t          |d¦  «        5 }t          |d¬¦  «                             |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   )ÚMessagez1.0zWheel-VersionÚ	GeneratorzRoot-Is-PurelibÚBuildr   r   ÚTagÚWHEELz	creating Úwb)Úmaxheaderlen)Úemail.messager'  r   r¡   rÄ   r¦   rß   ru   r·   r¸   rs   r   r  Úopenr   Úflatten)rª   r$  r%  r'  Úmsgr  rƒ   r›   rv   ry   ÚplatÚwheelfile_pathÚfs                r'   r  zbdist_wheel.write_wheelfile  sÀ  € ð 	*Ð)Ð)Ð)Ð)Ð)àˆg‰iŒiˆØ$ˆˆOÑØ$ˆˆKÑÝ!$ TÔ%6Ñ!7Ô!7×!=Ò!=Ñ!?Ô!?ˆÐÑØÔÐ(ØÔ,ˆC�‰Lð '+§l¢l¡n¤nÑ#ˆ�'˜8Ø—N’N 3Ñ'Ô'ð 	8ð 	8ˆDØ—}’} SÑ)Ô)ð 8ð 8�Ø$ŸNšN¨3Ñ/Ô/ð 8ð 8�DØ$(Ð!7Ð!7¨3Ð!7Ð!7°Ð!7Ð!7�C˜‘J�Jð8ð8õ œŸš n°gÑ>Ô>ˆÝŒÐ-˜^Ð-Ð-Ñ.Ô.Ð.Ý�. $Ñ'Ô'ð 	;¨1Ý˜1¨1Ð-Ñ-Ô-×5Ò5°cÑ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;s   Ä	%D;Ä;D?ÅD?r¸   c                ó”   — t           j                             |¦  «        \  }}|dd…         t           j        k    r||dd …         z   }|S )Nr   r   )r·   r¸   Ú
splitdriveÚsep)rª   r¸   Údrives      r'   r  zbdist_wheel._ensure_relative2  sG   € å”g×(Ò(¨Ñ.Ô.‰ˆˆtØ��!�Œ9�œÒÐØ˜4   œ8Ñ#ˆDØˆr7   úIterable[str]c           	     óT  — t           dk    r| j        j        j        pdS t	          t
                   ¦   «         }| j                             d¦  «        }t           dk    r0t          t          t
                   | j        j        j        ¦  «        }n'd|v r!|d         d          	                    ¦   «         }nd}d|v r=t          j        dt          d	¬
¦  «         |                     |d         d         ¦  «         |s|st          |t          ¦  «        sd}|D ]•}t!          |¦  «        D ]ƒ}|                     d¦  «        rt%          j        d|› d�¦  «         Œ0||vrOt(          j                             |¦  «        r0t%          j        d|› d|› d�¦  «         |                     |¦  «         Œ„Œ–|S )Né9   rY   Úmetadataé*   Úlicense_filesr   Úlicense_filezEThe "license_file" option is deprecated. Use "license_files" instead.r   ri   )zLICEN[CS]E*zCOPYING*zNOTICE*zAUTHORS*ú~zignoring license file "z" as it looks like a backupzadding license file "z" (matched pattern "z"))Úsetuptools_major_versionrº   r<  r>  Úsetr   rÂ   r
   r   ru   rk   rJ   ÚDeprecationWarningÚaddrQ   Úlistr   rR   r   r  r·   r¸   Úisfiler  )rª   Úfilesr<  ÚpatternsÚpatternr¸   s         r'   Úlicense_pathszbdist_wheel.license_paths9  sÔ  € å# rÒ)Ð)àÔ$Ô-Ô;ÐA¸rÐAå•C”‘
”
ˆØÔ$×4Ò4°ZÑ@Ô@ˆÝ# rÒ)Ð)å�H¥SœM¨4Ô+<Ô+EÔ+SÑTÔTˆHˆHð  (Ð*Ð*Ø# OÔ4°QÔ7×=Ò=Ñ?Ô?��à�à˜XÐ%Ð%ÝŒMØWÝ"Øðñ ô ð ð
 �IŠI�h˜~Ô.¨qÔ1Ñ2Ô2Ð2àð 	J˜Xð 	J­j¸Å4Ñ.HÔ.Hð 	JØIˆHàð 	$ð 	$ˆGÝ˜g™œð $ð $�Ø—=’= Ñ%Ô%ð Ý”IØS°$ÐSÐSÐSñô ð ð à˜uÐ$Ð$­¬¯ª¸Ñ)=Ô)=Ð$Ý”HØU°ÐUÐUÈ'ÐUÐUÐUñô ð ð —I’I˜d‘O”O�Oøð$ð ˆr7   Úegginfo_pathÚdistinfo_pathc                óÂ  — dd„} ||¦  «         t           j                             |¦  «        s›ddl}t           j                             t           j                             |¦  «        d¦  «        }|                     |¦  «        }d	|› d
�}|r.t           j                             |d         ¦  «        }|d|› d�z  }t          |¦  «        ‚t           j                             |d¦  «        }	t          j	        ||d„ ¬¦  «         t           j                             |d¦  «        }
t          |
d¬¦  «        5 }|                     ¦   «                              ¦   «         }ddd¦  «         n# 1 swxY w Y   |s ||
¦  «         t           j                             |d¦  «        }t          j        |	|¦  «         t           j                             |d¦  «        }| j        D ]y}t          |¦  «        }t           j                             ||¦  «        }t          j        t           j                             |¦  «        d¬¦  «         t          j        ||¦  «         Œz ||¦  «         dS )z:Convert an .egg-info directory into a .dist-info directoryr‹   r   r   r•   c                óV  — t           j                             | ¦  «        rTt           j                             | ¦  «        s5t           j                             | ¦  «        rt          j        | ¦  «         dS t           j                             | ¦  «        rt          j        | ¦  «         dS dS )z-Appropriately delete directory, file or link.N)r·   r¸   r  ÚislinkÚisdirr   r  Úunlink)r‹   s    r'   Úadiosz#bdist_wheel.egg2dist.<locals>.adiosi  s‰   € åŒw�~Š~˜aÑ Ô ð ­¬¯ª¸Ñ):Ô):ð ½r¼w¿}º}ÈQÑ?OÔ?Oð Ý”˜qÑ!Ô!Ð!Ð!Ð!Ý”—’ Ñ"Ô"ð Ý”	˜!‘”���ðð r7   r   Nz
*.egg-infozEgg metadata expected at z but not foundz (z) found - possible misnamed archive file?)úPKG-INFOc                ó
   — h d£S )N>   úSOURCES.txtúnot-zip-safeúrequires.txtrS  rY   )ÚxÚys     r'   ú<lambda>z&bdist_wheel.egg2dist.<locals>.<lambda>‰  s   € ð !ð !ð !€ r7   )Úignorezdependency_links.txtzutf-8)ÚencodingÚMETADATAÚlicensesT)Úexist_ok)r‹   r   r   r•   )r·   r¸   r  Úglobrs   ÚdirnameÚbasenamerÇ   r  r  r/  ÚreadrÃ   ÚcopyrJ  r   r  )rª   rK  rL  rR  r`  ÚpatÚpossibleÚerrÚaltÚpkginfo_pathÚdependency_links_pathÚdependency_links_fileÚdependency_linksÚmetadata_pathÚlicenses_folder_pathÚlicense_pathÚ	safe_pathÚdist_info_license_paths                     r'   r  zbdist_wheel.egg2distf  s›  € ð	ð 	ð 	ð 	ð 	ˆˆmÑÔÐåŒw�~Š~˜lÑ+Ô+ð 	"ð
 ˆKˆKˆKå”'—,’,�rœwŸš¨|Ñ<Ô<¸lÑKÔKˆCØ—y’y ‘~”~ˆHØJ¨lÐJÐJÐJˆCØð KÝ”g×&Ò& x°¤{Ñ3Ô3�ØÐJ˜CÐJÐJÐJÑJ�å˜S‘/”/Ð!õ ”w—|’| L°*Ñ=Ô=ˆõ 	ŒØØðð ð		
ñ 		
ô 		
ð 		
õ !#¤§¢¨]Ð<RÑ SÔ SÐÝÐ'°'Ð:Ñ:Ô:ð 	DÐ>SØ4×9Ò9Ñ;Ô;×AÒAÑCÔCÐð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dàð 	)ØˆEÐ'Ñ(Ô(Ð(åœŸš ]°JÑ?Ô?ˆÝŒ�L -Ñ0Ô0Ð0å!œwŸ|š|¨M¸:ÑFÔFÐØ Ô.ð 	>ð 	>ˆLÝ*¨<Ñ8Ô8ˆIÝ%'¤W§\¢\Ð2FÈ	Ñ%RÔ%RÐ"ÝŒK�œŸšÐ(>Ñ?Ô?È$ÐOÑOÔOÐOÝŒK˜Ð&<Ñ=Ô=Ð=Ð=àˆˆlÑÔÐÐÐs   Ä3'E&Å&E*Å-E*r<   c                ó  — t          | j        t          ¦  «        r'| j        | j                             ¦   «         v r| j        S | j                             t          | j        ¦  «        ¦  «        }|�|S t          d| j        ›�¦  «        ‚)NzUnsupported compression: )rQ   r¥   r<   r‰   ÚvaluesÚgetr   rÇ   )rª   r¥   s     r'   r  zbdist_wheel._zip_compression¤  s„   € å�tÔ'­Ñ-Ô-ð	$àÔ  DÔ$?×$FÒ$FÑ$HÔ$HÐHÐHàÔ#Ð#àÔ1×5Ò5µc¸$Ô:JÑ6KÔ6KÑLÔLˆØÐ"ØÐåÐI°TÔ5EÐIÐIÑJÔJÐJr7   )r   r•   ©r   r   )r   rÕ   )rÔ   rÕ   r   r•   )r$  r   r%  r   r   r•   )r¸   r   r   r   )r   r9  )rK  r   rL  r   r   r•   )r   r<   )Ú__name__Ú
__module__Ú__qualname__Údescriptionr   r   r‰   Ú__annotations__rc   rs   rZ   r“   r”   r«   rÉ   rÁ   Úpropertyr½   rƒ   rß   rÝ   r"  r   r  r  rJ  r  r  rY   r7   r'   r†   r†   µ   s„  € € € € € € Ø/€Kð Ø ð8ð 8Ðð ð ð ñ ð 	QàØð3Ø)˜\¨$Ñ/Ô/ð3ð 3ð 3ð		
ð	
ð 	LØRð	
ð
	
ð
	
ð
 	TàØØf¨D¯IªIÐ6LÑ,MÔ,MÐfÐfÐfð	
ð ØØRÀ*À*Á,Ä,ÐRÐRÐRð	
ð
	
ð	
ð
	
ðyE	ð ð Gð Gð Gñ GðR,ð ,ð ,€Oð ð ð ñ ð(ð (ð (ð (ð,-Rð -Rð -Rð -Rð^ð ð ð ð ð$ð $ð $ñ „Xð$ð ð	ð 	ð 	ñ „Xð	ð1ð 1ð 1ð 1ðf
ð 
ð 
ð 
ð$[+ð [+ð [+ð| 5RÀ;Ð4QÐ4QÐ4Qð;ð ;ð ;ð ;ð ;ð0ð ð ð ð ð*ð *ð *ñ „Xð*ðX<ð <ð <ð <ð|Kð Kð Kð Kð Kð Kr7   r†   )r   r   r   r   ru  )r   r8   )r   r@   )rJ   r@   r   r@   )r[   r\   r   r   )TT)
rf   r   rT   r@   rg   r@   rJ   r@   r   r@   )r   r\   );Ú__doc__Ú
__future__r   r·   r$   r  rE   r=   r0   rk   Úcollections.abcr   r   Úemail.generatorr   r`  r   Útypingr   r	   r
   Úzipfiler   r   Ú	packagingr   r   r    Úwheel.wheelfiler   r+   r   r   r   Ú_core_metadatar   Ú_normalizationr   r   r   r¹   Ú	distutilsr   r(   r<   ru   rA  rÍ   r6   r?   rH   rV   rZ   rc   rS   rz   r|   r„   r†   rY   r7   r'   ú<module>r‡     sã  ððð ð #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø 
€
€
€
Ø Ð Ð Ð Ø €€€Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø %Ð %Ð %Ð %Ð %Ð %à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø /Ð /Ð /Ð /Ð /Ð /Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø .Ð .Ð .Ð .Ð .Ð .à Ð Ð Ð Ð Ð ð	6ð 	6ð 	6ð 	6ð ˜3Ð0˜{Ô0°Ñ5Ô5°aÔ8Ñ9Ô9Ð à!Ð ð#ð #ð #ð #ðMð Mð Mð Mð%ð %ð %ð %ð $ð 5ð 5ð 5ð 5ð 5ð 5ð'ð 'ð 'ð 'ð$ð $ð $ð $ð* CGðð ð ð ð ð"!ð !ð !ð !ðH3ð 3ð 3ð 3ð	ð 	ð 	ðzKð zKð zKð zKð zK�'ñ zKô zKð zKð zKð zKr7   