+
    i                       ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ]P                  ! ]4      t]P"                  R R l4       t]P"                  R	 R
 l4       t ! R R]4      t ! R R4      tR# )    )annotationsN)	Generator)TracebackType)InstallRequirement)TempDirectoryc                    V ^8  d   QhRRRR/# )   changesstrreturnGenerator[None, None, None] )formats   "r/Users/ahmad/.openclaw/workspace/venv/lib/python3.14/site-packages/pip/_internal/operations/build/build_tracker.py__annotate__r      s     . .# .2M .    c               +    "   \         P                  p\        4       p/ pV P                  4        F  w  rE W,          W4&   WQV&   K  	   R x  VP                  4        F*  w  rFWbJ d   W K  \        V\        4      '       g   Q hWaV&   K,  	  R #   \         d    Y#T&    L^i ; i  TP                  4        F*  w  rFYbJ d   Y K  \        T\        4      '       g   Q hYaT&   K,  	  i ; i5iN)osenvironobjectitemsKeyError
isinstancer   )r
   targetnon_existent_markersaved_valuesname	new_valueoriginal_values   ,      r   update_env_context_managerr!      s     ZZF !(,.L"==?	5!'L !t +	. %1$6$6$8 D4L!.#6666-t %9  	5!4	5 %1$6$6$8 D4L!.#6666-t %9sA   2C$
BC$B! A C$BC$BC$!A C!!C$c                   V ^8  d   QhRR/# )r	   r   z#Generator[BuildTracker, None, None]r   )r   s   "r   r   r   +   s     	 	> 	r   c            	   #    "   \         P                  P                  R 4      p \        P                  ! 4       ;_uu_ 4       pV fW   VP                  \        RR7      4      P                  p VP                  \        V R7      4       \        P                  RV 4       \        V 4      ;_uu_ 4       pVx  RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i5i)PIP_BUILD_TRACKERNzbuild-tracker)kind)r$   z Initialized build tracking at %s)r   r   get
contextlib	ExitStackenter_contextr   pathr!   loggerdebugBuildTracker)rootctxtrackers      r   get_build_trackerr1   *   s     ::>>-.D					3<$$]%HINND84PQLL;TB$7M   
 	   
 		s5   =C+A.C-C	2C:
C+CCC(	"	C+c                      ] tR t^7tRtRtR# )	TrackerIdz:Uniquely identifying string provided to the build tracker.r   N)__name__
__module____qualname____firstlineno____doc____static_attributes__r   r   r   r3   r3   7   s    Dr   r3   c                      ] tR t^;tRtR R ltR R ltR R ltR R	 ltR
 R lt	R R lt
R R lt]P                  R R l4       tRtR# )r-   a'  Ensure that an sdist cannot request itself as a setup requirement.

When an sdist is prepared, it identifies its setup requirements in the
context of ``BuildTracker.track()``. If a requirement shows up recursively, this
raises an exception.

This stops fork bombs embedded in malicious packages.c                    V ^8  d   QhRRRR/# )r	   r.   r   r   Noner   )r   s   "r   r   BuildTracker.__annotate__D   s     > >S >T >r   c                	`    Wn         / V n        \        P                  R V P                   4       R# )zCreated build tracker: %sN)_root_entriesr+   r,   )selfr.   s   &&r   __init__BuildTracker.__init__D   s!    
=?0$**=r   c                   V ^8  d   QhRR/# )r	   r   r-   r   )r   s   "r   r   r=   I   s      < r   c                	F    \         P                  R V P                  4       V # )zEntered build tracker: %s)r+   r,   r?   )rA   s   &r   	__enter__BuildTracker.__enter__I   s    0$**=r   c               (    V ^8  d   QhRRRRRRRR/# )	r	   exc_typeztype[BaseException] | Noneexc_valzBaseException | Noneexc_tbzTracebackType | Noner   r<   r   )r   s   "r   r   r=   M   s2      , & %	
 
r   c                	&    V P                  4        R # r   )cleanup)rA   rI   rJ   rK   s   &&&&r   __exit__BuildTracker.__exit__M   s     	r   c                    V ^8  d   QhRRRR/# )r	   keyr3   r   r   r   )r   s   "r   r   r=   U   s     0 0y 0S 0r   c                	    \         P                  ! VP                  4       4      P                  4       p\        P
                  P                  V P                  V4      # r   )hashlibsha224encode	hexdigestr   r*   joinr?   )rA   rQ   hasheds   && r   _entry_pathBuildTracker._entry_pathU   s8    

-779ww||DJJ//r   c               $    V ^8  d   QhRRRRRR/# r	   reqr   rQ   r3   r   r<   r   )r   s   "r   r   r=   Y   s'     F F) F	 Fd Fr   c                   V P                  V4      p \        V4      ;_uu_ 4       pVP                  4       pRRR4       VP                   RX 2p\	        V4      h  + '       g   i     L,; i  \
         d     Mi ; iY P                  9  g   Q h\        TRRR7      ;_uu_ 4       pTP                  \        T4      4       RRR4       M  + '       g   i     M; iYP                  T&   \        P                  RYP                  4       R# )z,Add an InstallRequirement to build tracking.Nz is already being built: wzutf-8)encodingzAdded %s to build tracker %r)rY   openreadlinkLookupErrorFileNotFoundErrorr@   writer   r+   r,   r?   )rA   r]   rQ   
entry_pathfpcontentsmessages   &&&    r   addBuildTracker.addY   s     %%c*
	'j!!R779 "
 
";H:FGg&& "!  		 --''' *cG44HHSX 5444 c3S**Es3   A. AA. A+	&A. .A<;A<'CC	c               $    V ^8  d   QhRRRRRR/# r\   r   )r   s   "r   r   r=   t   s'     J J, J9 J Jr   c                    \         P                  ! V P                  V4      4       V P                  V \        P                  RWP                  4       R# )z1Remove an InstallRequirement from build tracking.z Removed %s from build tracker %rN)r   unlinkrY   r@   r+   r,   r?   )rA   r]   rQ   s   &&&r   removeBuildTracker.removet   s:     			$""3'(MM#7jjIr   c                   V ^8  d   QhRR/# )r	   r   r<   r   )r   s   "r   r   r=   }   s     > > >r   c                	    \        V P                  P                  4       4       F  w  rV P                  W!4       K  	  \        P                  R V P                  4       R# )zRemoved build tracker: %rN)listr@   r   rp   r+   r,   r?   )rA   rQ   r]   s   &  r   rM   BuildTracker.cleanup}   sA    T]]0023HCKK! 4 	0$**=r   c               $    V ^8  d   QhRRRRRR/# )r	   r]   r   rQ   r   r   r   r   )r   s   "r   r   r=      s#     % %+ %# %:U %r   c              #  p   "   \        V4      pV P                  W4       Rx  V P                  W4       R# 5i)zEnsure that `key` cannot install itself as a setup requirement.

:raises LookupError: If `key` was already provided in a parent invocation of
                     the context introduced by this method.N)r3   rk   rp   )rA   r]   rQ   
tracker_ids   &&& r   trackBuildTracker.track   s+      s^
!C$s   46)r@   r?   N)r4   r5   r6   r7   r8   rB   rF   rN   rY   rk   rp   rM   r'   contextmanagerry   r9   r   r   r   r-   r-   ;   sF    =>
0F6J> % %r   r-   )
__future__r   r'   rS   loggingr   collections.abcr   typesr   pip._internal.req.req_installr   pip._internal.utils.temp_dirr   	getLoggerr4   r+   r{   r!   r1   r   r3   r-   r   r   r   <module>r      s~    "    	 %  < 6			8	$ . .2 	 	E EQ% Q%r   