§
    u”j2#  ã                  ó²  — 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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 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$ ddl%m&Z&m'Z' ddl(m)Z) ddl*m+Z+  ej,        e-¦  «        Z. ej/        dej0        ¦  «        Z1e2e3e"         e3e"         f         Z4d.d„Z5d/d„Z6d0d „Z7d1d#„Z8d2d(„Z9d3d)„Z:d4d-„Z;dS )5z:Orchestrator for building wheels from InstallRequirements.é    )ÚannotationsN)ÚIterable)ÚTemporaryDirectory)Úcanonicalize_nameÚcanonicalize_version)ÚInvalidVersionÚVersion)Ú
WheelCache)ÚInvalidWheelFilenameÚUnsupportedWheel)ÚFilesystemWheelÚget_wheel_distribution)ÚLink)ÚWheel)Úbuild_wheel_pep517)Úbuild_wheel_editable)ÚInstallRequirement)Ú
indent_log)Ú
ensure_dirÚ	hash_file)Úpath_to_url)Úvcsz([a-z0-9_.]+)-([a-z0-9_.!+-]+)ÚsÚstrÚreturnÚboolc                óP   — t          t                               | ¦  «        ¦  «        S )zjDetermine whether the string looks like an egg_info.

    :param s: The string to parse. E.g. foo-2.1
    )r   Ú_egg_info_reÚsearch)r   s    új/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pip/_internal/wheel_builder.pyÚ_contains_egg_infor!   "   s    € õ
 •×#Ò# AÑ&Ô&Ñ'Ô'Ð'ó    Úreqr   úbool | Nonec                ór  — | j         s| j        sdS | j        ri| j        j        r]| j         rJ ‚| j        sJ ‚t	          j        | j        j        ¦  «        }|sJ ‚|                     | j        j        | j        ¦  «        rdS dS | j        sJ ‚| j         	                    ¦   «         \  }}t          |¦  «        rdS dS )z‹
    Return whether a built InstallRequirement can be stored in the persistent
    wheel cache, assuming the wheel cache is available.
    FT)ÚeditableÚ
source_dirÚlinkÚis_vcsr   Úget_backend_for_schemeÚschemeÚis_immutable_rev_checkoutÚurlÚsplitextr!   )r#   Úvcs_backendÚbaseÚexts       r    Ú_should_cacher2   *   sÕ   € ð „|ð ˜3œ>ð àˆuà
„xð 	�C”H”Oð 	ð ”<ÐÐÐØŒ~ÐÐÐÝÔ0°´´ÑAÔAˆØÐÐÐØ×0Ò0°´´¸s¼~ÑNÔNð 	Ø�4ØˆuàŒ8€O€O€OØ”×!Ò!Ñ#Ô#�I€Dˆ#Ý˜$ÑÔð Øˆtð ˆ5r"   Úwheel_cacher
   c                óÌ   — t          |j        ¦  «        }| j        sJ ‚|r*t          | ¦  «        r|                     | j        ¦  «        }n|                     | j        ¦  «        }|S )zdReturn the persistent or temporary cache directory where the built
    wheel need to be stored.
    )r   Ú	cache_dirr(   r2   Úget_path_for_linkÚget_ephem_path_for_link)r#   r3   Úcache_availabler5   s       r    Ú_get_cache_dirr9   I   sj   € õ ˜;Ô0Ñ1Ô1€OØŒ8€O€O€OØð B�=¨Ñ-Ô-ð BØ×1Ò1°#´(Ñ;Ô;ˆ	ˆ	à×7Ò7¸¼ÑAÔAˆ	ØÐr"   Ú
wheel_pathÚNonec                óÎ  — t          | j        pd¦  «        }t          t          j                             |¦  «        ¦  «        }|j        |k    rt          d|›d|j        ›�¦  «        ‚t          t          |¦  «        |¦  «        }t          |j
        ¦  «        }t          |¦  «        t          |j
        ¦  «        k    rt          d|›d|j
        ›�¦  «        ‚|j        }|€t          d¦  «        ‚	 t          |¦  «        }n"# t          $ r d|› �}t          |¦  «        ‚w xY w|t          d¦  «        k    r-t!          |j
        t          ¦  «        st          d|›d�¦  «        ‚d S d S )	NÚ z)Wheel has unexpected file name: expected z, got zMissing Metadata-VersionzInvalid Metadata-Version: z1.2z+Metadata 1.2 mandates PEP 440 version, but z is not)r   Únamer   ÚosÚpathÚbasenamer   r   r   r   Úversionr   Úmetadata_versionr   r	   r   Ú
isinstance)	r#   r:   Úcanonical_nameÚwÚdistÚdist_verstrÚmetadata_version_valuerC   Úmsgs	            r    Ú_verify_onerK   Y   s©  € Ý& s¤x ~°2Ñ6Ô6€NÝ�bŒg×Ò˜zÑ*Ô*Ñ+Ô+€AØ„v�ÒÐÝ"ð¸ð ð Ø”6ðð ñ
ô 
ð 	
õ "¥/°*Ñ"=Ô"=¸~ÑNÔN€DÝ�d”lÑ#Ô#€KÝ˜KÑ(Ô(Õ,@ÀÄÑ,KÔ,KÒKÐKÝ"ð!¸ð !ð !Ø”9ð!ð !ñ
ô 
ð 	
ð "Ô2ÐØÐ%ÝÐ9Ñ:Ô:Ð:ð$Ý"Ð#9Ñ:Ô:ÐÐøÝð $ð $ð $ØCÐ+AÐCÐCˆÝ˜sÑ#Ô#Ð#ð$øøøð �7 5™>œ>Ò)Ð)µ*¸T¼\Í7Ñ2SÔ2SÐ)ÝØP¸+ÐPÐPÐPñ
ô 
ð 	
ð *Ð)Ð)Ð)s   Ã1D ÄD Ú
output_dirÚverifyr&   ú
str | Nonec                ó¶  — |rdnd}	 t          |¦  «         n:# t          $ r-}t                               d|| j        |¦  «         Y d}~dS d}~ww xY w| j        5  t          | ||¦  «        }ddd¦  «         n# 1 swxY w Y   |rU|rS	 t          | |¦  «         nA# t          t          f$ r-}t                               d|| j        |¦  «         Y d}~dS d}~ww xY w|S )zaBuild one wheel.

    :return: The filename of the built wheel, or None if the build failed.
    r&   ÚwheelzBuilding %s for %s failed: %sNzBuilt %s for %s is invalid: %s)
r   ÚOSErrorÚloggerÚwarningr>   Ú	build_envÚ_build_one_inside_envrK   r   r   )r#   rL   rM   r&   ÚartifactÚer:   s          r    Ú
_build_onerX   v   sx  € ð &Ð2ˆzˆz¨7€Hð	Ý�:ÑÔÐÐøÝð ð ð Ý�ŠØ+ØØŒHØñ		
ô 	
ð 	
ð ˆtˆtˆtˆtˆtøøøøðøøøð 
Œð Fð FÝ*¨3°
¸HÑEÔEˆ
ðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fàð �fð ð	Ý˜˜ZÑ(Ô(Ð(Ð(øÝ$Õ&6Ð7ð 	ð 	ð 	Ý�NŠNÐ;¸XÀsÄxÐQRÑSÔSÐSØ�4�4�4�4�4øøøøð	øøøð Ðs>   ˆ ˜
A¢"A
Á
AÁA7Á7A;Á>A;ÂB ÂCÂ)"CÃCc           	     ó  — t          |¬¦  «        5 }| j        sJ ‚| j        sJ ‚| j        sJ ‚|r#t	          | j        | j        | j        |¬¦  «        }n"t          | j        | j        | j        |¬¦  «        }|�ýt          j                             |¦  «        }t          j         	                    ||¦  «        }	 t          |¦  «        \  }}t          j        ||¦  «         t                               d| j        |||                     ¦   «         ¦  «         t                               d|¦  «         |cd d d ¦  «         S # t          $ r+}	t                               d| j        |	¦  «         Y d }	~	nd }	~	ww xY w	 d d d ¦  «         d S # 1 swxY w Y   d S )N)Údir)r>   ÚbackendÚmetadata_directoryÚwheel_directoryz3Created wheel for %s: filename=%s size=%d sha256=%szStored in directory: %sz Building wheel for %s failed: %s)r   r>   r\   Úpep517_backendr   r   r?   r@   rA   Újoinr   ÚreplacerR   ÚinfoÚ	hexdigestÚ	ExceptionrS   )
r#   rL   r&   r]   r:   Ú
wheel_nameÚ	dest_pathÚ
wheel_hashÚlengthrW   s
             r    rU   rU   ˜   s0  € õ
 
 
Ð	+Ñ	+Ô	+ð ,¨ØŒxˆˆˆØÔ%Ð%Ð%Ð%ØÔ!Ð!Ð!Ð!Øð 	Ý-Ø”XØÔ*Ø#&Ô#9Ø /ð	ñ ô ˆJˆJõ ,Ø”XØÔ*Ø#&Ô#9Ø /ð	ñ ô ˆJð Ð!Ýœ×)Ò)¨*Ñ5Ô5ˆJÝœŸš Z°Ñ<Ô<ˆIðÝ%.¨zÑ%:Ô%:Ñ"�
˜Fõ
 ”
˜: yÑ1Ô1Ð1Ý—’ØIØ”HØØØ×(Ò(Ñ*Ô*ñô ð õ —’Ð5°zÑBÔBÐBØ ðK,ð ,ð ,ð ,ñ ,ô ,ð ,ð ,øõL ð ð ð Ý—’Ø6Ø”HØñô ð ð ð ð ð ð øøøøðøøøð ðY,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s7   ‘B$FÂ6A8D;Ä;
E0Å!E+Å&FÅ+E0Å0FÆFÆFÚrequirementsúIterable[InstallRequirement]ÚBuildResultc                óZ  — | sg g fS t                                dd                     d„ | D ¦   «         ¦  «        ¦  «         t          ¦   «         5  g g }}| D ]È}|j        sJ ‚t          ||¦  «        }t          ||||j        o|j        ¦  «        }|rx|j	        �| 
                    ||j	        ¦  «         t          t          |¦  «        ¦  «        |_        |j        j        |_        |j        j        sJ ‚|                     |¦  «         Œ³|                     |¦  «         ŒÉ	 ddd¦  «         n# 1 swxY w Y   |r8t                                dd                     d„ |D ¦   «         ¦  «        ¦  «         |r8t                                dd                     d	„ |D ¦   «         ¦  «        ¦  «         ||fS )
z˜Build wheels.

    :return: The list of InstallRequirement that succeeded to build and
        the list of InstallRequirement that failed to build.
    z*Building wheels for collected packages: %sz, c              3  ó$   K  — | ]}|j         V — Œd S )N©r>   ©Ú.0r#   s     r    ú	<genexpr>zbuild.<locals>.<genexpr>Ü   s$   è è € Ð3Ð3˜s�#”(Ð3Ð3Ð3Ð3Ð3Ð3r"   NzSuccessfully built %sú c                ó   — g | ]	}|j         ‘Œ
S © rm   rn   s     r    ú
<listcomp>zbuild.<locals>.<listcomp>ý   s   € Ð:Ð:Ð: 3�c”hÐ:Ð:Ð:r"   zFailed to build %sc                ó   — g | ]	}|j         ‘Œ
S rs   rm   rn   s     r    rt   zbuild.<locals>.<listcomp>  s   € Ð9Ð9Ð9 3�c”hÐ9Ð9Ð9r"   )rR   ra   r_   r   r>   r9   rX   r&   Úpermit_editable_wheelsÚdownload_infoÚrecord_download_originr   r   r(   Ú	file_pathÚlocal_file_pathÚis_wheelÚappend)rh   r3   rM   Úbuild_successesÚbuild_failuresr#   r5   Ú
wheel_files           r    Úbuildr€   Ì   s+  € ð ð Ø�2ˆvˆõ ‡K‚KØ4Ø�	Š	Ð3Ð3 lÐ3Ñ3Ô3Ñ3Ô3ñô ð õ
 
‰Œð +ð +Ø*,¨b˜ˆØð 	+ð 	+ˆCØ”8ˆOˆOˆOÝ& s¨KÑ8Ô8ˆIÝ#ØØØØ”Ð; Ô!;ñ	ô ˆJð ð +àÔ$Ð0ð  ×6Ò6°yÀ#ÔBSÑTÔTÐTå¥¨JÑ 7Ô 7Ñ8Ô8�”Ø&)¤hÔ&8�Ô#Ø”xÔ(Ð(Ð(Ð(Ø×&Ò& sÑ+Ô+Ð+Ð+à×%Ò% cÑ*Ô*Ð*Ð*ð-	+ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð6 ð 
Ý�ŠØ#Ø�HŠHÐ:Ð:¨/Ð:Ñ:Ô:Ñ;Ô;ñ	
ô 	
ð 	
ð ð 
Ý�ŠØ Ø�HŠHÐ9Ð9¨.Ð9Ñ9Ô9Ñ:Ô:ñ	
ô 	
ð 	
ð
 ˜NÐ*Ð*s   ÁCD*Ä*D.Ä1D.)r   r   r   r   )r#   r   r   r$   )r#   r   r3   r
   r   r   )r#   r   r:   r   r   r;   )
r#   r   rL   r   rM   r   r&   r   r   rN   )r#   r   rL   r   r&   r   r   rN   )rh   ri   r3   r
   rM   r   r   rj   )<Ú__doc__Ú
__future__r   ÚloggingÚos.pathr?   ÚreÚcollections.abcr   Útempfiler   Úpip._vendor.packaging.utilsr   r   Úpip._vendor.packaging.versionr   r	   Úpip._internal.cacher
   Úpip._internal.exceptionsr   r   Úpip._internal.metadatar   r   Úpip._internal.models.linkr   Úpip._internal.models.wheelr   Ú$pip._internal.operations.build.wheelr   Ú-pip._internal.operations.build.wheel_editabler   Úpip._internal.req.req_installr   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r   Úpip._internal.utils.urlsr   Úpip._internal.vcsr   Ú	getLoggerÚ__name__rR   ÚcompileÚ
IGNORECASEr   ÚtupleÚlistrj   r!   r2   r9   rK   rX   rU   r€   rs   r"   r    ú<module>rœ      sQ  ðØ @Ð @à "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø 	€	€	€	Ø $Ð $Ð $Ð $Ð $Ð $Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aà *Ð *Ð *Ð *Ð *Ð *Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ *Ð *Ð *Ð *Ð *Ð *Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø CÐ CÐ CÐ CÐ CÐ CØ NÐ NÐ NÐ NÐ NÐ NØ <Ð <Ð <Ð <Ð <Ð <Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø !Ð !Ð !Ð !Ð !Ð !à	ˆÔ	˜8Ñ	$Ô	$€àˆrŒzÐ;¸R¼]ÑKÔK€à�DÐ+Ô,¨dÐ3EÔ.FÐFÔG€ð(ð (ð (ð (ðð ð ð ð>ð ð ð ð 
ð 
ð 
ð 
ð:ð ð ð ðD1ð 1ð 1ð 1ðh9+ð 9+ð 9+ð 9+ð 9+ð 9+r"   