+
     hn  c                   s,   R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	H
t
HtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHtHtHtHtHt ^ R	IHt ^ R
IHtHt ^ RI H!t! ^ RI"H#t# ^ RI$H%t% ^ RI&H't'H(t( ^ RI)H*t*H+t+ ^ RI,H-t- ^ RI.H/t/ ^ RI0H1t1 ^ RI2H3t3 ^ RI4H5t5H6t6 ^ RI7H8t8H9t9 ^ RI:H;t; ^ RI<H=t=H>t>H?t?H@t@ ^ RIAHBtB ^ RICHDtD ^ RIEHFtF ]3! ]G4      tHR R ltIR R ltJ] ! R R 4      4       tKR+R! R" lltLR+R# R$ lltMR+R% R& lltNR,R' R( lltO ! R) R*4      tPR# )-z(Prepares a distribution for installationN)	dataclass)Path)DictIterableListOptional)canonicalize_name))make_distribution_for_install_requirement)InstalledDistribution)DirectoryUrlHashUnsupportedHashMismatchHashUnpinnedInstallationErrorMetadataInconsistentNetworkConnectionErrorVcsHashUnsupported)PackageFinder)BaseDistributionget_metadata_distribution)ArchiveInfo)Link)Wheel)BatchDownloader
Downloader)HTTPRangeRequestUnsupporteddist_from_wheel_url)
PipSession)BuildTrackerInstallRequirement)	getLogger)direct_url_for_editabledirect_url_from_link)HashesMissingHashes)
indent_log)display_path	hash_filehide_urlredact_auth_from_requirement)TempDirectory)unpack_file)vcsc                s`    V ^8  d   QhR\         R\        R\        R\        R\        R\        /# )   reqbuild_trackerfinderbuild_isolationcheck_build_depsreturn)r   r   r   boolr   format   "E/usr/lib/python3.14/site-packages/pip/_internal/operations/prepare.py__annotate__r7   ;   sD     5 5	55 5 	5
 5 5    c                s$   \        V 4      pVP                  pVeE   VP                  W4      ;_uu_ 4        VP                  W#V4       RRR4       VP	                  4       # VP	                  4       #   + '       g   i     TP	                  4       # ; i)z(Prepare a distribution for installation.N)r   Zbuild_tracker_idZtrackZprepare_distribution_metadatar   )r,   r-   r.   r/   r0   Zabstract_distZ
tracker_ids   &&&&&  r6   _get_prepared_distributionr9   ;   s     >cBM//J  1177)9 2 2244=2244	 21 2244s   A00B	c                s@    V ^8  d   QhR\         R\        R\        RR/# )r+   linklocation	verbosityr1   N)r   strintr3   r5   r6   r7   r7   M   s.     N N$ N# N# N$ Nr8   c                 s    \         P                  ! V P                  4      pVf   Q hVP                  V\	        V P
                  4      VR7       R # )N)urlr<   )r*   Zget_backend_for_schemeZschemeunpackr&   r?   )r:   r;   r<   Zvcs_backends   &&& r6   unpack_vcs_linkrA   M   s@    ,,T[[9K"""xXdhh%79Mr8   c                   sB   a  ] tR t^St o RtV 3R lR ltV 3R ltRtV tR# )FileNc                s   < V ^8  d   QhRR/# )r+   r1   N r4   __classdict__   "r6   r7   File.__annotate__X   s      t r8   c                s    V P                   f0    \        P                  ! V P                  4      ^ ,          V n         R # R #   \         d     R # i ; i)N)content_type	mimetypesZ
guess_typepathZOSError)selfs   &r6   __post_init__ZFile.__post_init__X   sH    $$-$8$8$CA$F!	 %
  s   ,A   AAc                sB   < V ^8  d   Qh/ S[ ;R&   S[S[ ,          ;R&   # )r+   rJ   rH   )r=   r   rD   rF   r6   r7   rG   S   s      
I  3-& r8   rH   )	__name__
__module____qualname____firstlineno__rH   rL   Z__annotate_func____static_attributes____classdictcell__)rE   s   @r6   rB   rB   S   s      #'L   r8   rB   c          
      s    V ^8  d   QhR\         R\        R\        \        ,          R\        \        ,          R\
        /# )r+   r:   downloaddownload_dirhashesr1   )r   r   r   r=   r!   rB   r3   r5   r6   r7   r7   b   sC     ) )
)) 3-) V	)
 
)r8   c                 s    \        R RR7      pRpV'       d   \        WV4      pV'       d   TpRpM-V! WP                  4      w  rgV'       d   VP                  V4       \	        Wg4      # )r@   TZkindZglobally_managedN)r(   _check_download_dirrJ   check_against_pathrB   )r:   rT   rU   rV   temp_diralready_downloaded_path	from_pathrH   s   &&&&    r6   get_http_urlr]   b   sb     (TBH""5d&"Q+	 #+4"?	%%i0	((r8   c                st    V ^8  d   QhR\         R\        \        ,          R\        \        ,          R\        /# )r+   r:   rU   rV   r1   )r   r   r=   r!   rB   r3   r5   r6   r7   r7   z   s5     ! !
!&sm!<DV<L!	!r8   c                s    RpV'       d   \        WV4      pV'       d   TpMV P                  pV'       d   VP                  V4       \        VR4      # )z'Get file and optionally check its hash.N)rX   	file_pathrY   rB   )r:   rU   rV   r[   r\   s   &&&  r6   get_file_urlr_   z   sK    
 #"5d&"Q+	NN	 !!),	4  r8   c                s    V ^8  d   QhR\         R\        R\        R\        R\        \        ,          R\        \
        ,          R\        \        ,          /# )r+   r:   r;   rT   r<   rU   rV   r1   )r   r=   r   r>   r   r!   rB   r3   r5   r6   r7   r7      s[     ( (
(( ( 	(
 3-( V( d^(r8   c                s:   V P                   '       d   \        WVR7       R# V P                  4       '       d   Q hV P                  '       d   \	        WVR7      pM\        V VVVR7      pV P                  '       g!   \        VP                  WP                  4       V# )aK  Unpack link into location, downloading if required.

:param hashes: A Hashes object, one of whose embedded hashes must match,
    or HashMismatch will be raised. If the Hashes is empty, no matches are
    required, and unhashable types of requirements (like VCS ones, which
    would ordinarily raise HashUnsupported) are allowed.
)r<   NrV   )
is_vcsrA   is_existing_diris_filer_   r]   is_wheelr)   rJ   rH   )r:   r;   rT   r<   rU   rV   Zfiles   &&&&&& r6   
unpack_urlre      s      {{{)<##%%%% |||Dv> 	
 ===DIIx):):;Kr8   c                s    V ^8  d   QhR\         R\        R\        \        ,          R\        R\        \        ,          /# )r+   r:   rU   rV   warn_on_hash_mismatchr1   )r   r=   r   r!   r2   r3   r5   r6   r7   r7      sC      
 V  	
 c]r8   c                s   \         P                  P                  WP                  4      p\         P                  P	                  V4      '       g   R# \
        P                  RV4       V'       d    VP                  V4       V# V#   \         d9    T'       d   \
        P                  RT4       \         P                  ! T4        R# i ; i)zyCheck download_dir for previously downloaded file with correct hash
If a correct file is found return its path else None
NzFile was already downloaded %sz;Previously-downloaded file %s has bad hash. Re-downloading.)osrJ   joinfilenameexistsloggerinforY   r
   warningZunlink)r:   rU   rV   rf   download_paths   &&&& r6   rX   rX      s     GGLL}}=M77>>-(( KK0-@		%%m4 =  	$Q! IIm$	s   0B C,CCc                   s8  a a ] tR t^t oRtV3R lV 3R lltV3R lR ltV3R lR ltV3R lR	 ltV3R
 lR lt	V3R lR lt
V3R lR ltRV3R lR lltRV3R lR lltRV3R lR lltV3R lR ltV3R lR ltV3R lR ltV3R lR ltRtVtV ;t# ) RequirementPreparerzPrepares a Requirementc                 s   < V ^8  d   QhRS[ RS[S[ ,          RS[ RS[RS[RS[RS[RS[ R	S[R
S[RS[RS[RS[RS[RS[RR/# )r+   	build_dirrU   src_dirr/   r0   r-   sessionprogress_barr.   require_hashesuse_user_site
lazy_wheelr<   legacy_resolverresume_retriesr1   N)r=   r   r2   r   r   r   r>   rD   rF   r6   r7    RequirementPreparer.__annotate__   s     95 9595 sm95 	95
 95 95 $95 95 95 95 95 95 95 95 95  !95" 
#95r8   c                s   < \         SV `  4        W0n        Wn        W`n        Wpn        \        WxV4      V n        \        WxV4      V n	        Wn
        W n        W@n        WPn        Wn        Wn        Wn        Wn        Wn        / V n        RV n        R# ) N)rz   rz   )Zsuper__init__rq   rp   r-   _sessionr   	_downloadr   _batch_downloadr.   rU   r/   r0   rt   ru   use_lazy_wheelr<   rw   _downloaded_previous_requirement_header)rK   rp   rU   rq   r/   r0   r-   rr   rs   r.   rt   ru   rv   r<   rw   rx   	__class__s   &&&&&&&&&&&&&&&&r6   r{   ZRequirementPreparer.__init__   s    $ 	"*#G>J.wnU )  / !1 - + ) #  / ,. -5)r8   c                $   < V ^8  d   QhRS[ RR/# r+   r,   r1   Nr   rD   rF   r6   r7   ry     s      B B'9 Bd Br8   c                sX   VP                   P                  '       d>   VP                  '       g,   Rp\        \	        VP                   P
                  4      4      pM4RpVP                  '       d   \        VP                  4      M
\        V4      pVP                  '       do   VP                  '       d]   \        VP                  \        4      '       d   VP                  pMVP                  P                  4       pV'       d   VRV R2,          pW#3V P                  8w  d   W#3V n        \        P                  W#4       VP                  '       dH   \        4       ;_uu_ 4        \        P                  RVP                   P                  4       RRR4       R# R#   + '       g   i     R# ; i)z3Provide context for the requirement being prepared.zProcessing %szCollecting %sz (from Z)zUsing cached %sN)r:   rc   is_wheel_from_cacher=   r$   r^   r,   r'   
comes_from
isinstancer\   r   rk   rl   r#   ri   )rK   r,   ZmessageZinformationr      &&   r6   _log_preparing_linkZ'RequirementPreparer._log_preparing_link  s   88C$;$;$;%Gl388+=+=>?K%GCF7776sww?PSTWPXK 777s~~~#..#..,/NN
 ^^557
A66!T%F%FF180FD-KK-"""-sxx/@/@A  #s   !+FF)	c                s*   < V ^8  d   QhRS[ RS[RR/# )r+   r,   parallel_buildsr1   N)r   r2   rD   rF   r6   r7   ry   4  s%     . .%.8<.	.r8   c                s8   VP                   P                  '       d   R# VP                  e   Q hVP                   P                  4       '       d   VP                   P                  Vn        R# VP                  V P                  RVR7       VP                  4        R# )z1Ensure source_dir of a linked InstallRequirement.NT)Z
autodeleter   )r:   rd   
source_dirrb   r^   ensure_has_source_dirrp   Zensure_pristine_source_checkout)rK   r,   r      &&&r6   _ensure_link_req_src_dirZ,RequirementPreparer._ensure_link_req_src_dir4  s    
 88 ~~%%%88##%% XX//CN 	!!NN+ 	" 	

 	++-r8   c                &   < V ^8  d   QhRS[ RS[/# r+   r,   r1   )r   r!   rD   rF   r6   r7   ry   K  s      C C*< C Cr8   c                s   V P                   '       g   VP                  R R7      # VP                  P                  '       d   \	        4       hVP                  P                  4       '       d   \        4       hVP                  '       g   VP                  '       g   \        4       hVP                  RR7      ;'       g    \        4       # )T)Ztrust_internetF)rt   rV   r:   ra   r   rb   r	   Z	is_directZ	is_pinnedr   r"   rK   r,      &&r6   _get_linked_req_hashesZ*RequirementPreparer._get_linked_req_hashesK  s     """::T:22 88???$&&88##%%-// }}}S]]].  zzz/BB=?Br8   c                6   < V ^8  d   QhRS[ RS[S[,          /# r   r   r   r   rD   rF   r6   r7   ry   k  s%     = == 
"	#=r8   c                s   V P                   '       d   \        P                  R 4       R# V P                  '       d   \        P                  R4       R# V P	                  V4      ;'       g    V P                  VP                  4      # )z9Metadata-only fetching is not used in the legacy resolverNz?Metadata-only fetching is not used as hash checking is required)rw   rk   debugrt   $_fetch_metadata_using_link_data_attr _fetch_metadata_using_lazy_wheelr:   r   r   r6   _fetch_metadata_onlyZ(RequirementPreparer._fetch_metadata_onlyk  sv     LLK LLQ 88
 = =22388<	=r8   c                r   r   r   rD   rF   r6   r7   ry   ~  s%     ' '' 
"	#'r8   c                s   VP                   P                  4       pVf   R# VP                  f   Q h\        P	                  RVP                  V4       \        VV P                  VP                  4       R7      p\        VP                  R4      ;_uu_ 4       pVP                  4       pRRR4       \        XVP                   P                  VP                  P                  4      p\        VP                  4      \        VP                  P                  4      8w  d-   \!        VRVP                  P                  VP                  4      hV#   + '       g   i     L; i)zGFetch metadata from the data-dist-info-metadata attribute, if possible.Nz/Obtaining dependency information for %s from %sr`   ZrbZName)r:   metadata_linkr,   rk   Zverboser]   r}   Z	as_hashesZopenrJ   Zreadr   ri   namer   Zraw_namer   )rK   r,   r   Zmetadata_fileZfZmetadata_contentsmetadata_dists   &&     r6   r   Z8RequirementPreparer._fetch_metadata_using_link_data_attr~  s    ..0 ww"""=GG	
 %NN **,

 -$$d++q ! , 2HHGGLL
 ]3348I#'',,8WW&VSWW\\=+A+A  % ,+s   E		E	c                r   )r+   r:   r1   )r   r   r   rD   rF   r6   r7   ry     s%       
"	#r8   c                s   V P                   '       g   R# VP                  '       g   VP                  '       g   \        P	                  RV4       R# \        VP                  4      p\        VP                  4      p\        P                  RVVP                  4       VP                  P                  R^4      ^ ,          p \        W4V P                  4      #   \         d    \        P	                  RT4        R# i ; i)z-Fetch metadata using lazy wheel, if possible.Nz=Lazy wheel is not used as %r does not point to a remote wheelz+Obtaining dependency information from %s %sZ#z"%s does not support range requests)r   rc   rd   rk   r   r   ri   r   r   rl   versionr?   Zsplitr   r|   r   )rK   r:   Zwheelr   r?   r   r6   r   Z4RequirementPreparer._fetch_metadata_using_lazy_wheel  s     """<<<t}}}LLO dmm$ ,9MM	

 hhnnS!$Q'	&t$--@@* 	LL=sC	s    C !C;:C;c                :   < V ^8  d   QhRS[ S[,          RS[RR/# )r+   partially_downloaded_reqsr   r1   Nr   r   r2   rD   rF   r6   r7   ry     s4     *C *C#+,>#?*C *C 
	*Cr8   c                s   \        RRR7      P                  p/ pV F%  pVP                  '       g   Q hWTVP                  &   K'  	  V P                  VP	                  4       V4      pV F|  w  pw  r\
        P                  RWx4       WG,          pWn        WP                  VP                  P                  &   VP                  '       d   Kb  VP                  \        V4      4       K~  	  V F  pV P                  WR4       K  	  R# )z>Download any requirements which were only fetched by metadata.r@   TrW   zDownloading link %s to %sN)r(   rJ   r:   r~   Zkeysrk   r   local_file_pathr   r?   rd   Zneeds_unpacked_archiver   _prepare_linked_requirement)
rK   r   r   rZ   Zlinks_to_fully_downloadr,   Zbatch_downloadr:   ZfilepathZ_
   &&&       r6   _complete_partial_requirementsZ2RequirementPreparer._complete_partial_requirements  s     !hFKK
 CE,C888O803CHH- - --#((*
 $2D-8LL4dE)/C #+ .6SXX\\* <<<**4>: $2& -C,,SB -r8   c                ,   < V ^8  d   QhRS[ RS[RS[/# r+   r,   r   r1   r   r2   r   rD   rF   r6   r7   ry     s*     $J $J%$J8<$J	$Jr8   c           	     sL   VP                   '       g   Q hV P                  V4       \        4       ;_uu_ 4        RpV P                  e`   VP                   P                  '       dD   V P                  V4      p\        VP                   V P                  VVP                  '       * R7      pVe$   W0P                  VP                   P                  &   M(V P                  V4      pVe   RVn        VuuRRR4       # V P                  W4      uuRRR4       #   + '       g   i     R# ; i)z3Prepare a requirement to be obtained from req.link.N)rf   T)r:   r   r#   rU   rd   r   rX   r   r   r?   r   needs_more_preparationr   )rK   r,   r   r^   rV   r   s   &&&   r6   prepare_linked_requirementZ.RequirementPreparer.prepare_linked_requirement  s     xxxx  %\\ I  ,1B1B1B44S9/HH%% /2.E.E*E	 $1:  . !% 9 9# > ,15C.(7 \< 33CI= \\\s   ,D%BD7DD#	c                r   )r+   reqsr   r1   Nr   rD   rF   r6   r7   ry     s+     
 
/0
CG
	
r8   c                s0   V Uu. uF  q3P                   '       g   K  VNK  	  ppV F  pV P                  f   K  VP                  P                  '       g   K1  V P	                  V4      p\        VP                  V P                  V4      pVf   Ki  WPP                  VP                  P                  &   RVn         K  	  . pV F9  pVP                   '       d   VP                  V4       K(  V P                  W24       K;  	  V P                  VVR7       R# u upi )z,Prepare linked requirements more, if needed.NF)r   )r   rU   r:   rd   r   rX   r   r?   Zappendr   r   )rK   r   r   r,   rV   r^   r   s   &&&    r6    prepare_linked_requirements_moreZ4RequirementPreparer.prepare_linked_requirements_more  s      $Bt'A'AtBC  ,1B1B1B44S9/$:K:KVT	(5>$$SXX\\216C.  ?A!C))))00500F	  	++%+ 	, 	
+ Cs
   DDc                r   r   r   rD   rF   r6   r7   ry   4  s*     Z Z%Z8<Z	Zr8   c           	     s   VP                   '       g   Q hVP                   pV P                  V4      pV'       Ed   VP                  '       d   VP                  f   Q hVP                  '       g   Q hVP
                  '       g   Q h\        VP                  P                  \        4      '       d_   VP                  P                  P                  '       d9   VP                  VP                  P                  P                  4      '       d   R pM2\        P                  R4       VP                  Vn         VP                   pV P                  W4       VP                  4       '       d   R pMVP                   V P"                  9  d;    \%        VVP&                  V P(                  V P*                  V P,                  V4      pMCV P"                  VP                   ,          pV'       d   VP3                  V4       \5        VR R7      pVP                  f   VP6                  '       d   Q h\9        W1P&                  4      Vn        \        VP                  P                  \        4      '       dw   VP                  P                  P                  '       gQ   V'       dI   \;        VP<                  4      ^ ,          P?                  4       pRV 2VP                  P                  n         V'       d   VP<                  Vn!        \E        VV PF                  V PH                  V PJ                  V PL                  4      p	V	#   \.         d   p\1        RT RT RT 24      hR p?ii ; i)NzyThe hashes of the source archive found in cache entry don't match, ignoring cached built wheel and re-downloading source.zCould not install requirement z because of HTTP error z	 for URL rM   zsha256=)'r:   r   r   download_inford   rc   r   rl   r   rV   Z
has_one_ofrk   rm   Zcached_wheel_source_linkr   rb   r?   r   re   r   r}   r<   rU   r   r   rY   rB   editabler    r%   rJ   Z	hexdigesthashr   r9   r-   r.   r/   r0   )
rK   r,   r   r:   rV   Z
local_fileZexcr^   r   distr   r6   r   Z/RequirementPreparer._prepare_linked_requirement4  s    xxxxxx,,S16c---$$000=== =<<<< 3,,11;??%%**111%%c&7&7&<&<&C&CDD 1
 77xx%%c;!!JXXT---'NNNNNN%%
 ((2I)))4id;J $ |||## 4T>> JC 3,,11;??))..555 1!4>>@ 18v.>!!&&+ ",//C)KK  !!
 W * '4SE : E4&2 s   8L/ /M:MMc                r   r   r   rD   rF   r6   r7   ry     s     3 3+= 3$ 3r8   c                s   V P                   f   Q hVP                  f   Q hVP                  pVP                  '       g)   VP                  4       '       d0   VP                  '       d   VP                  V P                   4       R # VP                  4       '       d   \        P                  RV4       R # VP                  f   R # \        P                  P                  V P                   VP                  4      p\        P                  P                  V4      '       gE   \        P                  ! VP                  V4       \!        V4      p\        P#                  RV4       R # R # )NzENot copying link to destination directory since it is a directory: %szSaved %s)rU   r:   ra   rb   r   Zarchiverk   r   r   rg   rJ   rh   ri   rj   shutilZcopyr$   rl   )rK   r,   r:   Zdownload_locationrn   r   r6   save_linked_requirementZ+RequirementPreparer.save_linked_requirement  s      ,,,xx###xx;;;4//11clllKK))*!!LL.
 &GGLL):):DMMJww~~/00KK++->?():;MKK
M2 1r8   c                r   r   )r   r   rD   rF   r6   r7   ry     s       
r8   c           	     sZ   VP                   '       g   Q R4       h\        P                  RV4       \        4       ;_uu_ 4        V P                  '       d   \        RV R24      hVP                  V P                  4       VP                  4        VP                  '       g   Q h\        VP                  4      Vn        \        VV P                  V P                  V P                   V P"                  4      pVP%                  V P&                  4       RRR4       V#   + '       g   i     X# ; i)z Prepare an editable requirement.z-cannot prepare a non-editable req as editablezObtaining %szThe editable requirement zT cannot be installed when requiring hashes, because there is no single file to hash.N)r   rk   rl   r#   rt   r   r   rq   Zupdate_editabler   r   Zunpacked_source_directoryr   r9   r-   r.   r/   r0   Zcheck_if_existsru   )rK   r,   r   s   && r6   prepare_editable_requirementZ0RequirementPreparer.prepare_editable_requirement  s    
 |||LLL|NC(\\"""'/u 5  
 %%dll3!>>>!> 78U8U VC-""$$%%D  2 23) , - \, s   AD!A.DD*	c                r   )r+   r,   skip_reasonr1   )r   r=   r   rD   rF   r6   r7   ry     s.     J JJ J 
	Jr8   c                s   VP                   '       g   Q R4       hVf   Q RVP                    24       h\        P                  RW!VP                   P                  4       \	        4       ;_uu_ 4        V P
                  '       d   \        P                  R4       \        V4      P                  4       uuRRR4       #   + '       g   i     R# ; i)z)Prepare an already-installed requirement.z(req should have been satisfied but isn'tNz?did not get skip reason skipped but req.satisfied_by is set to zRequirement %s: %s (%s)zSince it is already installed, we are trusting this package without checking its hash. To ensure a completely repeatable environment, install into an empty virtualenv.)	Zsatisfied_byrk   rl   r   r#   rt   r   r   r   )rK   r,   r   r   r6   prepare_installed_requirementZ1RequirementPreparer.prepare_installed_requirement  s     K!KK& 	
))*,	
& 	%{9I9I9Q9Q	
 \\"""( )-GGI \\\s   /A B::C	)r~   r}   r   r   r|   rp   r/   r-   r0   rU   r.   rw   rt   rq   r   ru   r<   )F)rN   rO   rP   rQ   __doc__r{   r   r   r   r   r   r   r   r   r   r   r   r   r   rR   rS   Z__classcell__)r   rE   s   @@r6   ro   ro      s      95 95vB B6. ..C C@= =&' 'R :*C *CX$J $JL
 
<Z Zx3 34 BJ J Jr8   ro   )NN)T)Qr   rI   rg   r   Zdataclassesr    Zpathlibr   Ztypingr   r   r   r   Zpip._vendor.packaging.utilsr   Zpip._internal.distributionsr   Z%pip._internal.distributions.installedr   Zpip._internal.exceptionsr	   r
   r   r   r   r   r   Z"pip._internal.index.package_finderr   Zpip._internal.metadatar   r   Zpip._internal.models.direct_urlr   Zpip._internal.models.linkr   Zpip._internal.models.wheelr   Zpip._internal.network.downloadr   r   Z pip._internal.network.lazy_wheelr   r   Zpip._internal.network.sessionr   Z,pip._internal.operations.build.build_trackerr   Zpip._internal.req.req_installr   Zpip._internal.utils._logr   Z&pip._internal.utils.direct_url_helpersr   r    Zpip._internal.utils.hashesr!   r"   Zpip._internal.utils.loggingr#   Zpip._internal.utils.miscr$   r%   r&   r'   Zpip._internal.utils.temp_dirr(   Zpip._internal.utils.unpackingr)   Zpip._internal.vcsr*   rN   rk   r9   rA   rB   r]   r_   re   rX   ro   rC   r8   r6   <module>r      s    .
  	  !  1 1 9 Q G   = N 7 * , F 5 E < . = 2  7 5 !	8	5$N   )0!0(V<FJ FJr8   