Ë
    »ÿæi~&  ã                  óh  — d dl mZ d dlZd dlZd dl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 d dl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  ej@                  e!«      Z" G d„ de«      Z#	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z$dd„Z%dd„Z& e
d¬«       G d„ d«      «       Z'y)é    )ÚannotationsN)Ú	ContainerÚ	GeneratorÚIterable)Ú	dataclassÚfield)Ú
NamedTuple)ÚNormalizedNameÚcanonicalize_name)ÚInvalidVersion)Ú
BadCommandÚInstallationError)ÚBaseDistributionÚget_environment)Úinstall_req_from_editableÚinstall_req_from_line)Ú
COMMENT_RE)Ú%direct_url_as_pep440_direct_referencec                  ó"   — e Zd ZU ded<   ded<   y)Ú_EditableInfoÚstrÚrequirementz	list[str]ÚcommentsN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    út/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/pip/_internal/operations/freeze.pyr   r      s   … ØÓØÔr   r   c              #  ó  K  — i }t        |«      j                  |d|¬«      }|D ]5  }	t        j                  |	«      }
|r|
j                  rŒ'|
||
j
                  <   Œ7 | �rÊt        «       }t        j                  t        «      }| D �]>  }t        |«      5 }|D �]   }|j                  «       r0|j                  «       j                  d«      s|j                  d«      r*|j                  «       }||vr|j                  |«       |–— Œn|j                  d«      r^|j                  d«      r|dd  j                  «       }n+|t        d«      d  j                  «       j!                  d	«      }t#        ||¬
«      }n/t%        t'        j(                  d|«      j                  «       |¬
«      }|j*                  s<t,        j/                  d||j                  «       «       t,        j/                  d«       �ŒTt1        |j*                  «      }||vru||j*                     sFt,        j3                  d|t'        j(                  d|«      j                  «       |j*                  «       �ŒÂ||j*                     j5                  |«       �Œât7        ||   «      j                  «       –— ||= ||j*                     j5                  |«       �Œ# 	 d d d «       �ŒA |j9                  «       D ]L  \  }}t        |«      dkD  sŒt,        j3                  d|dj;                  t=        t        |«      «      «      «       ŒN d–— t=        |j?                  «       d„ ¬«      D ],  }|j
                  |vsŒt7        |«      j                  «       –— Œ. y # 1 sw Y   �ŒûxY w­w)Nr   )Ú
local_onlyÚskipÚ	user_onlyÚ#)z-rz--requirementz-fz--find-linksz-iz--index-urlz--prez--trusted-hostz--process-dependency-linksz--extra-index-urlz--use-feature)ú-eú
--editabler&   é   r'   Ú=)ÚisolatedÚ zWSkipping line in requirement file [%s] because it's not clear what it would install: %sz9  (add #egg=PackageName to the URL to avoid this warning)zBRequirement file [%s] contains %s, but package %r is not installedé   z+Requirement %s included multiple times [%s]z, z7## The following requirements were added by pip freeze:c                ó6   — | j                   j                  «       S ©N)ÚnameÚlower)Úxs    r    Ú<lambda>zfreeze.<locals>.<lambda>’   s   € ÀQÇVÁVÇ\Á\Ä^r   )Úkey) r   Úiter_installed_distributionsÚFrozenRequirementÚ	from_distÚeditableÚcanonical_nameÚsetÚcollectionsÚdefaultdictÚlistÚopenÚstripÚ
startswithÚrstripÚaddÚlenÚlstripr   r   r   Úsubr/   ÚloggerÚinfor   ÚwarningÚappendr   ÚitemsÚjoinÚsortedÚvalues)r   r"   r$   Úpathsr*   Úexclude_editabler#   ÚinstallationsÚdistsÚdistÚreqÚemitted_optionsÚ	req_filesÚreq_file_pathÚreq_fileÚlineÚline_reqÚline_req_canonical_namer/   ÚfilesÚinstallations                        r    Úfreezer\      s  è ø€ ð 35€Mä˜EÓ"×?Ñ?ØØØð @ó €Eó
 ˆÜ×)Ñ)¨$Ó/ˆÙ §¢ØØ,/ˆ�c×(Ñ(Ò)ð	 ò ô
 %(£Eˆô +6×*AÑ*AÄ$Ó*Gˆ	Ü(ˆMÜ�mÔ$¨Ü$�Dà ŸJ™JœLØŸ:™:›<×2Ñ2°3Ô7ØŸ?™?ðôð   $Ÿ{™{›}˜Ø Ñ6Ø+×/Ñ/°Ô5Ø"&šJØ à—‘Ð';Ô<ØŸ?™?¨4Ô0Ø#'¨¨ 8§>¡>Ó#3™Dà#'¬¨LÓ(9Ð(;Ð#<×#BÑ#BÓ#D×#KÑ#KÈCÓ#P˜DÜ#<Ø Ø%-ô$™ô
 $9Ü&ŸN™N¨2¨tÓ4×:Ñ:Ó<Ø%-ô$˜ð
 $Ÿ=š=ÜŸ™ðGà)Ø ŸJ™J›Lô	ô Ÿ™ð-öô
 3DÀHÇMÁMÓ2RÐ/Ø2¸-ÑGð $-¨X¯]©]Ò#;Ü &§¡ð%Bà$1Ü$.§N¡N°2°tÓ$<×$BÑ$BÓ$DØ$,§M¡Mö!"ð !*¨(¯-©-Ñ 8× ?Ñ ?ÀÖ Nä"% mÐ4KÑ&LÓ"M×"TÑ"TÓ"VÒVØ -Ð.EÐ FØ% h§m¡mÑ4×;Ñ;¸MÖJñM %÷ %Ñ$ð )ðX %Ÿ?™?Ö,‰KˆD�%Ü�5‹z˜A‹~Ü—‘ØAØØ—I‘Iœf¤S¨£ZÓ0Ó1õð -ð IÒIÜ˜}×3Ñ3Ó5Ñ;S×TˆØ×&Ñ&¨dÒ2Ü�lÓ#×*Ñ*Ó,Ó,ñ U÷i %Ñ$üs,   ‚BNÂH'M5Ê;/NË+A+NÍNÍ5M?	Í:Nc                ó’   — 	 | j                   }| j                  › d|› �S # t        $ r | j                  › d| j                  › �cY S w xY w)Nz==z===)ÚversionÚraw_namer   Úraw_version)rQ   Údist_versions     r    Ú_format_as_name_versionrb   —   sT   € ð2Ø—|‘|ˆð
 —-‘-�  < .Ð1Ð1øô	 ò 7à—-‘-�  D×$4Ñ$4Ð#5Ð6Ò6ð7ús   ‚ Ÿ$AÁAc           	     óŽ  — | j                   }|sJ ‚t        j                  j                  t        j                  j	                  |«      «      }ddlm}m}m} |j                  |«      }|€4t        | «      }t        j                  d||«       t        |d|› d�g¬«      S t        |«      j                  }	 |j!                  || j"                  «      }	t        |	g ¬«      S # |$ r# t        | «      }t        |d|› d	|› d�g¬«      cY S |$ r9}
t        | «      }t        |d|› d
|› d�d|
j$                  › d�g¬«      cY d}
~
S d}
~
wt&        $ r1 t        j)                  d||j*                  «       t        |g ¬«      cY S t,        $ r }t        j)                  d|«       Y d}~nd}~ww xY wt        j)                  d|«       t        |dg¬«      S )za
    Compute and return values (req, comments) for use in
    FrozenRequirement.from_dist().
    r   )ÚRemoteNotFoundErrorÚRemoteNotValidErrorÚvcsNz1No VCS found for editable requirement "%s" in: %rz,# Editable install with no version control (Ú))r   r   z# Editable z install with no remote (z
 install (z4) with either a deleted local remote or invalid URI:z# 'Ú'zPcannot determine version of editable source in %s (%s command not found in path)z6Error when trying to get requirement for VCS system %sz-Could not determine repository location of %sz-## !! Could not determine repository location)Úeditable_project_locationÚosÚpathÚnormcaseÚabspathÚpip._internal.vcsrd   re   rf   Úget_backend_for_dirrb   rE   Údebugr   Útyper   Úget_src_requirementr_   Úurlr   rG   r/   r   )rQ   ri   Úlocationrd   re   rf   Úvcs_backendÚdisplayÚvcs_namerR   ÚexÚexcs               r    Ú_get_editable_inforz   ¡   sà  € ð
 !%× >Ñ >ÐÙ$Ð$Ð$Ü�w‰w×Ñ¤§¡§¡Ð0IÓ JÓK€HçOÑOà×)Ñ)¨(Ó3€KàÐÜ)¨$Ó/ˆÜ�‰Ø?ØØô	
ô
 Ø ØDÀWÀIÈQÐOÐPô
ð 	
ô
 �KÓ ×)Ñ)€Hð;Ø×-Ñ-¨h¸¿¹ÓFˆô8 ¨°rÔ:Ð:øð7 ò 
Ü)¨$Ó/ˆÜØ Ø# H :Ð-FÀwÀiÈqÐQÐRô
ò 	
ð ò 	
Ü)¨$Ó/ˆÜØ à˜h˜Z z°'°ð ;/ð 0à�b—f‘f�X˜Q�ðô
õ 	
ûô ò @Ü�‰ð-àØ×Ñô		
ô ¨¸BÔ?Ò?Üò VÜ�‰ÐOÐQT×UÑUûðVúô
 ‡N�NÐBÀHÔMäØØAÐBôð s6   Â4C Ã%F ÄF Ä.D<Ä6F Ä<:F Å8F Æ FÆF T)Úfrozenc                  ót   — e Zd ZU ded<   ded<   ded<    ee¬«      Zded<   edd	„«       Ze	dd
„«       Z
dd„Zy)r5   r   r/   rR   Úboolr7   )Údefault_factoryzIterable[str]r   c                ó,   — t        | j                  «      S r.   )r   r/   )Úselfs    r    r8   z FrozenRequirement.canonical_nameê   s   € ä  §¡Ó+Ð+r   c                óÌ   — |j                   }|rt        |«      \  }}n2g }|j                  }|rt        ||j                  «      }nt        |«      } | |j                  |||¬«      S )N)r   )r7   rz   Ú
direct_urlr   r_   rb   )ÚclsrQ   r7   rR   r   r‚   s         r    r6   zFrozenRequirement.from_distî   s^   € à—=‘=ˆÙÜ.¨tÓ4‰MˆC‘àˆHØŸ™ˆJÙä;¸JÈÏÉÓV‘ô .¨dÓ3�á�4—=‘= # x¸(ÔCÐCr   c                ó¤   — | j                   }| j                  rd|› �}dj                  t        | j                  «      t        |«      gz   «      dz   S )Nz-e Ú
)rR   r7   rJ   r<   r   r   )r€   rR   s     r    Ú__str__zFrozenRequirement.__str__ÿ   sE   € Ø�h‰hˆØ�=Š=Ø˜�u�+ˆCØ�y‰yœ˜dŸm™mÓ,´°C³¨zÑ9Ó:¸TÑAÐAr   N)Úreturnr
   )rQ   r   r‡   r5   )r‡   r   )r   r   r   r   r   Útupler   Úpropertyr8   Úclassmethodr6   r†   r   r   r    r5   r5   ã   sN   … à
ƒIØ	ƒHØƒNÙ#°EÔ:€HˆmÓ:àò,ó ð,ð òDó ðDô Br   r5   )NFFNFFr   )r   úlist[str] | Noner"   r}   r$   r}   rM   r‹   r*   r}   rN   r}   r#   zContainer[str]r‡   zGenerator[str, None, None])rQ   r   r‡   r   )rQ   r   r‡   r   )(Ú
__future__r   r:   Úloggingrj   Úcollections.abcr   r   r   Údataclassesr   r   Útypingr	   Úpip._vendor.packaging.utilsr
   r   Úpip._vendor.packaging.versionr   Úpip._internal.exceptionsr   r   Úpip._internal.metadatar   r   Úpip._internal.req.constructorsr   r   Úpip._internal.req.req_filer   Ú&pip._internal.utils.direct_url_helpersr   Ú	getLoggerr   rE   r   r\   rb   rz   r5   r   r   r    Ú<module>r™      sò   ðÝ "ã Û Û 	ß :Ñ :ß (Ý ç IÝ 8ç Bß D÷õ 2Ý Xà	ˆ×	Ñ	˜8Ó	$€ô�Jô ð %)ØØØ"ØØ"Øðv-Ø!ðv-àðv-ð ðv-ð ð	v-ð
 ðv-ð ðv-ð ðv-ð  óv-ór2ó?ñD �$Ô÷Bð Bó ñBr   