ó
    Þ j.  ã                   óð  • S r SSKrSSKrSSKrSSKrSSKJrJrJ	r	J
r
  SSKJrJr  SSKJrJr  SSKJr  SSKJrJr  SSKJrJr  SS	KJr  SS
KJr  SSKJr  SSKJ r   SSK!J"r"  SSK#J$r$  SSK%J&r&  SSK'J(r(J)r)  SSK*J+r+  SSK,J-r-  SSK.J/r/  SSK0J1r1  SSK2J3r3  \Rh                  " \55      r6\Rn                  " S\Rp                  5      r9\
\\$   \\$   4   r:S\;S\<4S jr=S\$S\<S\<4S jr>S\$S\<4S jr?S\$S\<4S jr@S\$S\	\<   4S jrAS\$S \S\;4S! jrBS\$S"\;SS4S# jrCS\$S$\;S%\<S&\\;   S'\\;   S(\<S\	\;   4S) jrDS\$S$\;S&\\;   S'\\;   S(\<S\	\;   4S* jrES\$S'\\;   S\<4S+ jrFS,\\$   S \S%\<S&\\;   S'\\;   S\:4S- jrGg).z;Orchestrator for building wheels from InstallRequirements.
é    N)ÚIterableÚListÚOptionalÚTuple)Úcanonicalize_nameÚcanonicalize_version)ÚInvalidVersionÚVersion)Ú
WheelCache)ÚInvalidWheelFilenameÚUnsupportedWheel)ÚFilesystemWheelÚget_wheel_distribution)ÚLink)ÚWheel)Úbuild_wheel_pep517)Úbuild_wheel_editable)Úbuild_wheel_legacy)ÚInstallRequirement)Ú
indent_log)Ú
ensure_dirÚ	hash_file)Úmake_setuptools_clean_args)Úcall_subprocess)ÚTempDirectory)Úpath_to_url)Úvcsz([a-z0-9_.]+)-([a-z0-9_.!+-]+)ÚsÚreturnc                 ó>   • [        [        R                  U 5      5      $ )zbDetermine whether the string looks like an egg_info.

:param s: The string to parse. E.g. foo-2.1
)ÚboolÚ_egg_info_reÚsearch)r   s    ÚU/var/www/html/gaurav/venv/lib/python3.13/site-packages/pip/_internal/wheel_builder.pyÚ_contains_egg_infor%   %   s   € ô
 ”×#Ñ# AÓ&Ó'Ð'ó    ÚreqÚ
need_wheelc                 ó  • U R                   (       a  gU R                  (       a(  U(       a   [        R                  SU R                  5        gU(       a  gU R
                  (       d  gU R                  (       a  U R                  $ g)zBReturn whether an InstallRequirement should be built into a wheel.Fz(Skipping %s, due to already being wheel.T)Ú
constraintÚis_wheelÚloggerÚinfoÚnameÚ
source_dirÚeditableÚsupports_pyproject_editable)r'   r(   s     r$   Ú_should_buildr2   -   s[   € ð
 ‡~‡~àØ
‡|‡|ÞÜ�K‰KØ:Ø—‘ôð æàð
 �>�>Øà
‡|‡|à×.Ñ.Ð.àr&   c                 ó   • [        U SS9$ )NT©r(   ©r2   ©r'   s    r$   Úshould_build_for_wheel_commandr7   N   s   € ô ˜¨Ñ.Ð.r&   c                 ó   • [        U SS9$ )NFr4   r5   r6   s    r$   Ú should_build_for_install_commandr9   T   s   € ô ˜¨Ñ/Ð/r&   c                 óB  • U R                   (       d  U R                  (       d  gU R                  (       a«  U R                  R                  (       a�  U R                   (       a   eU R                  (       d   e[        R
                  " U R                  R                  5      nU(       d   eUR                  U R                  R                  U R                  5      (       a  ggU R                  (       d   eU R                  R                  5       u  p#[        U5      (       a  gg)z½
Return whether a built InstallRequirement can be stored in the persistent
wheel cache, assuming the wheel cache is available, and _should_build()
has determined a wheel needs to be built.
FT)r0   r/   ÚlinkÚis_vcsr   Úget_backend_for_schemeÚschemeÚis_immutable_rev_checkoutÚurlÚsplitextr%   )r'   Úvcs_backendÚbaseÚexts       r$   Ú_should_cacherE   Z   s·   € ð ‡|‡|˜3Ÿ>Ÿ>àà
‡x‡x�C—H‘H—O—Oð —<—<ÐÐØ�~�~Ðˆ~Ü×0Ò0°·±·±ÓAˆÞÐˆ{Ø×0Ñ0°·±·±¸s¿~¹~×NÑNØØà�8�8€Oˆ8Ø—‘×!Ñ!Ó#�I€DÜ˜$×ÑØð r&   Úwheel_cachec                 óô   • [        UR                  5      nU R                  (       d   eU(       a-  [        U 5      (       a  UR	                  U R                  5      nU$ UR                  U R                  5      nU$ )z\Return the persistent or temporary cache directory where the built
wheel need to be stored.
)r!   Ú	cache_dirr;   rE   Úget_path_for_linkÚget_ephem_path_for_link)r'   rF   Úcache_availablerH   s       r$   Ú_get_cache_dirrL   z   sd   € ô ˜;×0Ñ0Ó1€OØ�8�8€Oˆ8Þœ=¨×-Ñ-Ø×1Ñ1°#·(±(Ó;ˆ	ð Ðð  ×7Ñ7¸¿¹ÓAˆ	ØÐr&   Ú
wheel_pathc                 óÔ  • [        U R                  =(       d    S5      n[        [        R                  R                  U5      5      n[        UR                  5      U:w  a  [        SU< SUR                  < 35      e[        [        U5      U5      n[        UR                  5      n[        U5      [        UR                  5      :w  a  [        SU< SUR                  < 35      eUR                  nUc  [        S5      e [        U5      nU[        S5      :¼  a0  [!        UR                  [        5      (       d  [        SU< S35      eg g ! [         a    SU 3n[        U5      ef = f)	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   r.   r   ÚosÚpathÚbasenamer   r   r   ÚstrÚversionr   Úmetadata_versionr   r
   r	   Ú
isinstance)	r'   rM   Úcanonical_nameÚwÚdistÚdist_verstrÚmetadata_version_valuerU   Úmsgs	            r$   Ú_verify_oner]   Š   sb  € Ü& s§x¡x§~°2Ó6€NÜŒb�g‰g×Ñ˜zÓ*Ó+€AÜ˜Ÿ™Ó  NÓ2Ü"Ø7¸Ñ7Ið JØ—6‘6‘*ðó
ð 	
ô "¤/°*Ó"=¸~ÓN€DÜ�d—l‘lÓ#€KÜ˜KÓ(Ô,@ÀÇÁÓ,KÓKÜ"Ø7¸±ð GØ—9‘9‘-ð!ó
ð 	
ð "×2Ñ2ÐØÑ%ÜÐ9Ó:Ð:ð$Ü"Ð#9Ó:Ðð œ7 5›>Ó)´*¸T¿\¹\Ì7×2SÑ2SÜØ9¸+¹ÈÐPó
ð 	
ð 3TÐ)øô ó $Ø*Ð+AÐ*BÐCˆÜ˜sÓ#Ð#ð$ús   ÄE ÅE'Ú
output_dirÚverifyÚbuild_optionsÚglobal_optionsr0   c                 óÀ  • U(       a  SOSn [        U5        U R
                     [        XX4U5      nSSS5        W(       a  U(       a   [        X5        U$ U$ ! [         a,  n[        R                  SUU R                  U5         SnAgSnAff = f! , (       d  f       Ne= f! [        [        4 a+  n[        R                  SX`R                  U5         SnAgSnAff = f)zYBuild one wheel.

:return: The filename of the built wheel, or None if the build failed.
r0   ÚwheelzBuilding %s for %s failed: %sNzBuilt %s for %s is invalid: %s)
r   ÚOSErrorr,   Úwarningr.   Ú	build_envÚ_build_one_inside_envr]   r   r   )	r'   r^   r_   r`   ra   r0   ÚartifactÚerM   s	            r$   Ú
_build_onerj   §   sÅ   € ö &‰z¨7€Hð	Ü�:Ôð 
�‹Ü*Ø˜]¸Hó
ˆ
÷ 
ö –fð	Ü˜Ô(ð Ðˆ:Ðøô) ó Ü�‰Ø+ØØ�H‰HØô		
ô ûðú÷ 
�ûô %Ô&6Ð7ó 	Ü�N‰NÐ;¸XÇxÁxÐQRÔSÜûð	ús:   �A ¤BÁ	B" Á
BÁ""B	Â	BÂ
BÂ"CÂ2!CÃCc           
      óà  • [        SS9 nU R                  (       d   eU R                  (       aå  U R                  (       d   eU R                  (       d   eU(       a   [
        R                  SU R                  5        U(       a   [
        R                  SU R                  5        U(       a5  [        U R                  U R                  U R                  UR                  S9nOk[        U R                  U R                  U R                  UR                  S9nO6[        U R                  U R                  U R                  UUUR                  S9nUb´  [        R                  R                  U5      n[        R                  R                  X5      n [!        U5      u  pš["        R$                  " Xh5        [
        R'                  SU R                  UU
U	R)                  5       5        [
        R'                  SU5        UsS S S 5        $ U R                  (       d  [-        X5         S S S 5        g ! [*         a+  n[
        R                  S	U R                  U5         S nANVS nAff = f! , (       d  f       g = f)
Nrc   )Úkindz7Ignoring --global-option when building %s using PEP 517z6Ignoring --build-option when building %s using PEP 517)r.   ÚbackendÚmetadata_directoryÚtempd)r.   Úsetup_py_pathr/   ra   r`   ro   z3Created wheel for %s: filename=%s size=%d sha256=%szStored in directory: %sz Building wheel for %s failed: %s)r   r.   Ú
use_pep517rn   Úpep517_backendr,   re   r   rQ   r   r   rp   Úunpacked_source_directoryrP   rR   Újoinr   ÚshutilÚmover-   Ú	hexdigestÚ	ExceptionÚ_clean_one_legacy)r'   r^   r`   ra   r0   Útemp_dirrM   Ú
wheel_nameÚ	dest_pathÚ
wheel_hashÚlengthri   s               r$   rg   rg   Í   sç  € ô 
˜GÒ	$¨Ø�x�xˆˆxØ�>�>Ø×)×)Ð)Ð)Ø×%×%Ð%Ð%ÞÜ—‘ØMÈsÏxÉxôö Ü—‘ØLÈcÏhÉhôö Ü1ØŸ™Ø×.Ñ.Ø'*×'=Ñ'=Ø"Ÿ-™-ñ	‘
ô 0ØŸ™Ø×.Ñ.Ø'*×'=Ñ'=Ø"Ÿ-™-ñ	‘
ô ,Ø—X‘XØ!×/Ñ/Ø×8Ñ8Ø-Ø+Ø—m‘mñˆJð Ñ!ÜŸ™×)Ñ)¨*Ó5ˆJÜŸ™Ÿ™ ZÓ<ˆIðÜ%.¨zÓ%:Ñ"�
Ü—’˜JÔ2Ü—‘ØIØ—H‘HØØØ×(Ñ(Ó*ôô —‘Ð5°zÔBØ ÷g 
%Ñ	$ðv �~�~Ü˜cÔ2Ø÷{ 
%Ð	$øôh ó Ü—‘Ø6Ø—H‘HØ÷ñ ûðú÷i 
%Õ	$ús7   ŠFIÆA+H'ÈIÈ'
IÈ1!IÉIÉIÉIÉ
I-c                 óø   • [        U R                  US9n[        R                  SU R                  5         [        USU R                  S9  g! [         a#    [        R                  SU R                  5         gf = f)N)ra   zRunning setup.py clean for %szpython setup.py clean)Úcommand_descÚcwdTz Failed cleaning build dir for %sF)	r   rp   r,   r-   r.   r   r/   rx   Úerror)r'   ra   Ú
clean_argss      r$   ry   ry     sp   € Ü+Ø×ÑØ%ñ€Jô
 ‡K�KÐ/°·±Ô:ðÜØÐ%<À#Ç.Á.ò	
ð øÜó Ü�‰Ð7¸¿¹ÔBÙðús   ¶A Á*A9Á8A9Úrequirementsc                 óÜ  • U (       d  / / 4$ [         R                  SSR                  S U  5       5      5        [        5          / / peU  Hò  nUR                  (       d   e[        Xq5      n[        UUUUUUR                  =(       a    UR                  5      n	U	(       aŒ  UR                  b  UR                  X‡R                  5        [        [        U	5      5      Ul        UR                  R                  Ul        UR                  R                   (       d   eUR#                  U5        Má  UR#                  U5        Mô     SSS5        W(       a>  [         R                  SSR                  U Vs/ sH  owR                  PM     sn5      5        W(       a>  [         R                  SSR                  U Vs/ sH  owR                  PM     sn5      5        XV4$ ! , (       d  f       N›= fs  snf s  snf )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   ó6   #   • U H  oR                   v •  M     g 7f)N)r.   )Ú.0r'   s     r$   Ú	<genexpr>Úbuild.<locals>.<genexpr>7  s   é € Ð3¡l˜s—(–(¢lùs   ‚NzSuccessfully built %sÚ zFailed to build %s)r,   r-   rt   r   r.   rL   rj   r0   Úpermit_editable_wheelsÚdownload_infoÚrecord_download_originr   r   r;   Ú	file_pathÚlocal_file_pathr+   Úappend)
r„   rF   r_   r`   ra   Úbuild_successesÚbuild_failuresr'   rH   Ú
wheel_files
             r$   Úbuildr”   %  s‰  € ö Ø�2ˆvˆô ‡K�KØ4Ø�	‰	Ñ3¡lÓ3Ó3ôô
 
�Ø*,¨b˜ÛˆCØ—8—8ˆO�8Ü& sÓ8ˆIÜ#ØØØØØØ—‘×; ×!;Ñ!;óˆJö à×$Ñ$Ñ0ð  ×6Ñ6°y×BSÑBSÔTä¤¨JÓ 7Ó8�”Ø&)§h¡h×&8Ñ&8�Ô#Ø—x‘x×(×(Ð(Ð(Ø×&Ñ& sÖ+à×%Ñ% cÖ*ñ1  ÷ 
ö: Ü�‰Ø#Ø�H‰H©/Ó:©/ 3—h”h©/Ñ:Ó;ô	
ö Ü�‰Ø Ø�H‰H©.Ó9©. 3—h”h©.Ñ9Ó:ô	
ð
 Ð*Ð*÷Q 
�üò@ ;ùò
 :s   ÁC<GÅ,G$Æ1G)Ç
G!)HÚ__doc__ÚloggingÚos.pathrP   Úreru   Útypingr   r   r   r   Ú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.operations.build.wheel_legacyr   Úpip._internal.req.req_installr   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r   Ú$pip._internal.utils.setuptools_buildr   Úpip._internal.utils.subprocessr   Úpip._internal.utils.temp_dirr   Úpip._internal.utils.urlsr   Úpip._internal.vcsr   Ú	getLoggerÚ__name__r,   ÚcompileÚ
IGNORECASEr"   ÚBuildResultrS   r!   r%   r2   r7   r9   rE   rL   r]   rj   rg   ry   r”   © r&   r$   Ú<module>r²      sT  ðñó Û Û 	Û ß 2Ó 2ç Oß Aå *ß Kß JÝ *Ý ,Ý CÝ NÝ JÝ <Ý 2ß :Ý KÝ :Ý 6Ý 0Ý !à	×	Ò	˜8Ó	$€à�zŠzÐ;¸R¿]¹]ÓK€à�DÐ+Ñ,¨dÐ3EÑ.FÐFÑG€ð(˜#ð ( $ô (ðØ	ðàðð 
ôðB/Ø	ð/à	ô/ð0Ø	ð0à	ô0ðØ	ðàˆd�^ôð@Ø	ðàðð 	ôð 
Ð'ð 
°Sð 
¸Tô 
ð:#Ø	ð#àð#ð ð#ð ˜‘9ð	#ð
 ˜‘Ið#ð ð#ð ˆc�]ô#ðLDØ	ðDàðDð ˜‘9ðDð ˜‘Ið	Dð
 ðDð ˆc�]ôDðNÐ-ð ¸tÀC¹yð ÈTô ð"=+ØÐ-Ñ.ð=+àð=+ð ð=+ð ˜‘9ð	=+ð
 ˜‘Ið=+ð õ=+r&   