+
    BiL/                       ^ RI Ht ^ RIt^ RIt^ RI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 ^ RIHtHt ^ RIHtHtHtHtHtHt ^ R	IHt ^ R
IHt ^ RIHt ^ RI H!t! ^ RI"H#t#H$t$ ^ RI%H&t& ^ RI'H(t( ^ RI)H*t* ]PV                  ! 4       t,Rs-Rt.]$! R4      t/ ! R R]04      t1R R lt2]Pf                  R.R R ll4       t4R R lt5 ! R R]Pl                  4      t7] ! R R4      4       t8 ! R R]4      t9R R!/R" R# llt: ! R$ R%]4      t; ! R& R']Px                  Pz                  4      t> ! R( R)]4      t? ! R* R+]4      t@R, R- ltAR# )/    )annotationsN)	Generator)	dataclass)TextIOWrapper)Filter)AnyClassVar)ConsoleConsoleOptionsConsoleRenderableRenderableTypeRenderResultRichCast)NullHighlighter)RichHandler)Segment)Style)VERBOSE	getLogger)WINDOWS)DEPRECATION_MSG_PREFIX)
ensure_dirzpip.subprocessorc                      ] tR t^(tRtRtR# )BrokenStdoutLoggingErrorzG
Raised if BrokenPipeError occurs for the stdout stream while logging.
 N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       @/usr/lib/python3.14/site-packages/pip/_internal/utils/logging.pyr   r   (   s    r"   r   c               $    V ^8  d   QhRRRRRR/# )   	exc_classztype[BaseException]excBaseExceptionreturnboolr   )formats   "r#   __annotate__r,   .   s(     
Q 
Q%8 
Q} 
QQU 
Qr"   c                    V \         J d   R # \        '       g   R# \        V\        4      ;'       d.    VP                  \        P
                  \        P                  39   # )TF)BrokenPipeErrorr   
isinstanceOSErrorerrnoEINVALEPIPE)r&   r'   s   &&r#   _is_broken_pipe_errorr4   .   sB    O#
 7c7#PP		ellEKK5P(PPr"   c                    V ^8  d   QhRRRR/# )r%   numintr)   zGenerator[None, None, None]r   )r+   s   "r#   r,   r,   <   s     & &C & ; &r"   c              #     "   \        4       \        n        \        ;P                  V ,          un         Rx  \        ;P                  V ,          un        R#   \        ;P                  T ,          un        i ; i5i)zj
A context manager which will cause the log output to be indented for any
log messages emitted inside it.
N)get_indentation
_log_stateindentation)r6   s   &r#   
indent_logr<   ;   sM      -.Jc!&#%
#%s   1A9A A9A66A9c                   V ^8  d   QhRR/# )r%   r)   r7   r   )r+   s   "r#   r,   r,   J   s     1 1 1r"   c                 $    \        \        R ^ 4      # )r;   )getattrr:   r   r"   r#   r9   r9   J   s    :}a00r"   c                  X   a  ] tR t^NtRtRR/R V 3R llltR R ltR V 3R	 lltR
tV ;t	# )IndentingFormatterz%Y-%m-%dT%H:%M:%Sadd_timestampFc               (    V ^8  d   QhRRRRRRRR/# )r%   argsr   rB   r*   kwargsr)   Noner   )r+   s   "r#   r,   IndentingFormatter.__annotate__Q   s2     * ** * 	*
 
*r"   c               4   < Wn         \        SV `  ! V/ VB  R# )z
A logging.Formatter that obeys the indent_log() context manager.

:param add_timestamp: A bool indicating output lines should be prefixed
    with their record's timestamp.
N)rB   super__init__)selfrB   rD   rE   	__class__s   &$*,r#   rJ   IndentingFormatter.__init__Q   s     +$)&)r"   c               $    V ^8  d   QhRRRRRR/# )r%   	formattedstrlevelnor7   r)   r   )r+   s   "r#   r,   rG   `   s!      3   r"   c                    V\         P                  8  d   R# VP                  \        4      '       d   R# V\         P                  8  d   R# R# )z^
Return the start of the formatted log message (not counting the
prefix to add to each line).
 z	WARNING: zERROR: )loggingWARNING
startswithr   ERROR)rK   rO   rQ   s   &&&r#   get_message_start$IndentingFormatter.get_message_start`   s<    
 W__$ 677 W]]"r"   c                    V ^8  d   QhRRRR/# )r%   recordlogging.LogRecordr)   rP   r   )r+   s   "r#   r,   rG   p   s      . 3 r"   c                b  < \         SV `  V4      pV P                  W!P                  4      pW2,           pRpV P                  '       d   V P                  V4       R2pVR\        4       ,          ,          pRP                  VP                  R4       Uu. uF  qTV,           NK  	  up4      pV# u upi )zn
Calls the standard formatter, but will indent all of the log message
lines by our current indentation level.
rS    T)	rI   r+   rX   rQ   rB   
formatTimer9   join
splitlines)rK   r[   rO   message_startprefixlinerL   s   &&    r#   r+   IndentingFormatter.formatp   s    
 GN6*	..y..I!-	/02F#)))GGy7K7KD7QR7Qtd]]7QRS	 Ss   B,)rB   )
r   r   r   r   default_time_formatrJ   rX   r+   r!   __classcell__rL   s   @r#   rA   rA   N   s,    -* $* *  r"   rA   c                  8    ] tR t^t$ R]R&   R]R&   R R ltRtR# )	IndentedRenderabler   
renderabler7   indentc               $    V ^8  d   QhRRRRRR/# )r%   consoler
   optionsr   r)   r   r   )r+   s   "r#   r,   IndentedRenderable.__annotate__   s$         )7 	 r"   c              #  	   "   VP                  V P                  V4      p\        P                  ! V4      pV F8  p\        R V P                  ,          4      x  T Rj  xL
  \        R4      x  K:  	  R#  L5i)r^   N
)renderrk   r   split_linesrl   )rK   rn   ro   segmentslinesrd   s   &&&   r#   __rich_console__#IndentedRenderable.__rich_console__   s]      >>$//7;##H-D#+,,OO$- s   AA7A5A7r   N)r   r   r   r   __annotations__rw   r!   r   r"   r#   rj   rj      s    K   r"   rj   c                  "    ] tR t^tR R ltRtR# )
PipConsolec                   V ^8  d   QhRR/# )r%   r)   rF   r   )r+   s   "r#   r,   PipConsole.__annotate__   s     * * *r"   c                	    \        4       R hN)r.   )rK   s   &r#   on_broken_pipePipConsole.on_broken_pipe   s     T)r"   r   N)r   r   r   r   r   r!   r   r"   r#   r{   r{      s    * *r"   r{   stderrFc                    V ^8  d   QhRRRR/# )r%   r   r*   r)   r
   r   )r+   s   "r#   r,   r,      s      4 G r"   c                f    V '       d   \         f   Q R4       h\         # \        f   Q R4       h\        # )Nzstderr rich console is missing!zstdout rich console is missing!)_stderr_console_stdout_console)r   s   $r#   get_consoler      s5    *M,MM**M,MM*r"   c                  \   a  ] tR t^t$ . tR]R&   R V 3R lltR R ltR V 3R lltR	t	V ;t
# )
RichPipStreamHandlerzClassVar[list[str] | None]KEYWORDSc                    V ^8  d   QhRRRR/# )r%   rn   r
   r)   rF   r   )r+   s   "r#   r,   !RichPipStreamHandler.__annotate__   s     
 
 
D 
r"   c                	@   < \         SV `  VR R R \        4       R7       R# )F)rn   	show_time
show_level	show_pathhighlighterN)rI   rJ   r   )rK   rn   rL   s   &&r#   rJ   RichPipStreamHandler.__init__   s'    ') 	 	
r"   c                    V ^8  d   QhRRRR/# r%   r[   r\   r)   rF   r   )r+   s   "r#   r,   r      s     % %, % %r"   c                	   R p\        VRR4      '       dr   \        VP                  \        4      '       g   Q hVP                  w  p\        V\        \
        \        34      '       g   Q V R24       h\        V\        4       R7      pMV P                  V4      pV P                  W4      pVP                  eX   VP                  \        P                  8  d   \        RR7      pM+VP                  \        P                  8  d   \        RR7      p V P                   P#                  VRRVR	7       R #   \$         d    T P'                  T4        R # i ; i)
NrichFz is not rich-console-renderable)rl   red)coloryellowignore)overflowcropstyle)r?   r/   rD   tupler   r   rP   rj   r9   r+   render_messagerQ   rT   rW   r   rU   rn   print	ExceptionhandleError)rK   r[   r   rich_renderablerk   messages   &&    r#   emitRichPipStreamHandler.emit   s"   " 665))fkk51111!'_"3Xs!C  C!""ABC  *<(9*J kk&)G,,V=J~~)>>W]]2!.E^^w6!1E	%LLzH5PUV 	%V$	%s   D0 0EEc                    V ^8  d   QhRRRR/# r   r   )r+   s   "r#   r,   r      s     + +"3 + +r"   c                  < \         P                  ! 4       R,          w  r#V'       dL   V'       dD   V P                  P                  \         P                  J d   \        W#4      '       d   \        4       h\        SV `!  V4      # )z1Called when logging is unable to log some output.:Nr%   N)	sysexc_inforn   filestdoutr4   r   rI   r   )rK   r[   r&   r'   rL   s   &&  r#   r    RichPipStreamHandler.handleError   sY     +	 !!SZZ/%i55*,,w"6**r"   r   )r   r   r   r   r   ry   rJ   r   r   r!   rg   rh   s   @r#   r   r      s'    +-H(-
 
%8+ +r"   r   c                  .   a  ] tR t^tR V 3R lltRtV ;t# )BetterRotatingFileHandlerc                   V ^8  d   QhRR/# )r%   r)   r   r   )r+   s   "r#   r,   &BetterRotatingFileHandler.__annotate__   s      } r"   c                	   < \        \        P                  P                  V P                  4      4       \
        SV `  4       # r   )r   ospathdirnamebaseFilenamerI   _open)rK   rL   s   &r#   r   BetterRotatingFileHandler._open   s*    277??4#4#456w}r"   r   )r   r   r   r   r   r!   rg   rh   s   @r#   r   r      s     r"   r   c                  .    ] tR t^tR R ltR R ltRtR# )MaxLevelFilterc                    V ^8  d   QhRRRR/# )r%   levelr7   r)   rF   r   )r+   s   "r#   r,   MaxLevelFilter.__annotate__   s      c d r"   c                	    Wn         R # r   r   )rK   r   s   &&r#   rJ   MaxLevelFilter.__init__   s    
r"   c                    V ^8  d   QhRRRR/# r%   r[   r\   r)   r*   r   )r+   s   "r#   r,   r      s     + +. +4 +r"   c                	4    VP                   V P                  8  # r   )rQ   r   )rK   r[   s   &&r#   filterMaxLevelFilter.filter   s    ~~

**r"   r   N)r   r   r   r   rJ   r   r!   r   r"   r#   r   r      s    + +r"   r   c                  2   a  ] tR t^tRtR V 3R lltRtV ;t# )ExcludeLoggerFilterzI
A logging Filter that excludes records from a logger (or its children).
c                    V ^8  d   QhRRRR/# r   r   )r+   s   "r#   r,    ExcludeLoggerFilter.__annotate__   s     * *. *4 *r"   c                	,   < \         SV `  V4      '       * # r   )rI   r   )rK   r[   rL   s   &&r#   r   ExcludeLoggerFilter.filter   s     7>&)))r"   r   )r   r   r   r   r    r   r!   rg   rh   s   @r#   r   r      s    * *r"   r   c               (    V ^8  d   QhRRRRRRRR/# )r%   	verbosityr7   no_colorr*   user_log_filez
str | Noner)   r   )r+   s   "r#   r,   r,      s/     v vS vD v vPS vr"   c                   V ^8  d   \         P                  pMfV ^8X  d   \        pMXV R,8X  d   \         P                  pM@V R-8X  d   \         P                  pM(V R.8:  d   \         P
                  pM\         P                  p\         P                  ! V4      pVRJpV'       d   TpRpMRpTpVR/9   d   RMRpRRRR/p	. R0OV'       d   R.M. ,           p
\        \        P                  VRR7      s\        \        P                  VRR7      p\         P                  P                  R^RRRRRRR\         P                  /RRRR\        P                   /RRRR\        P                   //RRR\"        RR/R R\"        RRR!R//R"R	RVR#V	R,          R	\        RRR.R$R/R
RRR#V	R,          R	VRR.R$R/RRVR#V	R,          R	VRR.R$R/RRRR#V	R,          R%VR&R'R(RR$R //R)RVR"V
/R*R+RV///4       V# )1zfConfigures and sets up all of the logging

Returns the requested logging level, as its integer value.
NDEBUGz	/dev/nullrU   streamz0pip._internal.utils.logging.RichPipStreamHandlerr   z5pip._internal.utils.logging.BetterRotatingFileHandlerrn   console_errorsconsole_subprocessuser_logT)r   r   	soft_wrapversiondisable_existing_loggersFfiltersexclude_warningsz()z*pip._internal.utils.logging.MaxLevelFilterr   restrict_to_subprocesszlogging.Filternameexclude_subprocessz/pip._internal.utils.logging.ExcludeLoggerFilter
formattersrl   r+   z%(message)sindent_with_timestamprB   handlersclass	formatterfilenameencodingzutf-8delayrootloggerszpip._vendor)INFOrW   )rn   r   r   )rT   r   r   rU   rW   CRITICALr   getLevelNamer{   r   r   r   r   config
dictConfigsubprocess_loggerr   rA   )r   r   r   level_numberr   include_user_logadditional_log_file
root_levelvendored_log_levelhandler_classesr   r   s   &&&         r#   setup_loggingr      s    A~}}	a	b	b}}	b''||  .E %D0+
)
 ',/@&@g 	DGO C(bH !cjj8tTO cjj8tTONNq&"FW__% )*-22+ %K-22' ,m (,m#T*
 U_X6 46HI !Y_X6 45# %U_X6 89' W_V4 3T!81 B H 1C'DECB	
DL r"   )r%   )B
__future__r   
contextlibr1   rT   logging.handlersr   r   	threadingcollections.abcr   dataclassesr   ior   r   typingr   r	   pip._vendor.rich.consoler
   r   r   r   r   r   pip._vendor.rich.highlighterr   pip._vendor.rich.loggingr   pip._vendor.rich.segmentr   pip._vendor.rich.styler   pip._internal.utils._logr   r   pip._internal.utils.compatr   pip._internal.utils.deprecationr   pip._internal.utils.miscr   localr:   r   r   r   r   r   r4   contextmanagerr<   r9   	FormatterrA   rj   r{   r   r   r   RotatingFileHandlerr   r   r   r   r   r"   r#   <module>r     s*   "     	 
  % !      9 0 , ( 7 . B /__
01 y 
Q & &10** 0f      * *% 9+; 9+x 0 0 D D +V +*& *vr"   