
    WhL/                       d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZmZ d dlmZmZmZmZmZmZ d d	lmZ d d
lmZ d dlmZ d dl m!Z! d dl"m#Z#m$Z$ d dl%m&Z& d dl'm(Z( d dl)m*Z*  ej+                    Z,da-dZ. e$d          Z/ G d de0          Z1d9dZ2ej3        d:d;d            Z4d<d Z5 G d! d"ej6                  Z7e G d# d$                      Z8 G d% d&e          Z9d'd(d=d+Z: G d, d-e          Z; G d. d/ej<        j=                  Z> G d0 d1e          Z? G d2 d3e          Z@d>d8ZAdS )?    )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                      e Zd ZdZdS )BrokenStdoutLoggingErrorzO
    Raised if BrokenPipeError occurs for the stdout stream while logging.
    N)__name__
__module____qualname____doc__     m/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/pip/_internal/utils/logging.pyr   r   (   s           r    r   	exc_classtype[BaseException]excBaseExceptionreturnboolc                    | t           u rdS t          sdS t          |t                    o|j        t          j        t          j        fv S )NTF)BrokenPipeErrorr   
isinstanceOSErrorerrnoEINVALEPIPE)r"   r$   s     r!   _is_broken_pipe_errorr/   .   sF    O##t
  uc7##P	elEK5P(PPr       numintGenerator[None, None, None]c              #     K   t                      t          _        t          xj        | z  c_        	 dV  t          xj        | z  c_        dS # t          xj        | z  c_        w xY w)zv
    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)r1   s    r!   
indent_logr8   ;   sr       -..Jc!&#%
#%s   A A#c                 .    t          t          dd          S )Nr7   r   )getattrr6   r   r    r!   r5   r5   J   s    :}a000r    c                  >     e Zd ZdZddd fdZddZd fdZ xZS )IndentingFormatterz%Y-%m-%dT%H:%M:%SF)add_timestampargsr   r=   r'   kwargsr&   Nonec               H    || _          t                      j        |i | dS )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)r=   super__init__)selfr=   r>   r?   	__class__s       r!   rC   zIndentingFormatter.__init__Q   s/     +$)&)))))r    	formattedstrlevelnor2   c                    |t           j        k     rdS |                    t                    rdS |t           j        k     rdS dS )zv
        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)rD   rF   rH   s      r!   get_message_startz$IndentingFormatter.get_message_start`   sK    
 W_$$2 677 	 2W]"";yr    recordlogging.LogRecordc                ^   t                                          |          }|                     ||j                  }||z   }d| j        r|                     |           ddt                      z  z  d                    fd|                    d          D                       }|S )z
        Calls the standard formatter, but will indent all of the log message
        lines by our current indentation level.
        rJ    c                    g | ]}|z   S r   r   ).0lineprefixs     r!   
<listcomp>z-IndentingFormatter.format.<locals>.<listcomp>}   s    RRRtVd]RRRr    T)	rB   formatrO   rH   r=   
formatTimer5   join
splitlines)rD   rP   rF   message_startrW   rE   s       @r!   rY   zIndentingFormatter.formatp   s    
 GGNN6**	..y&.II!I-	 	3//222F#))))GGRRRRy7K7KD7Q7QRRRSS	r    )r>   r   r=   r'   r?   r   r&   r@   )rF   rG   rH   r2   r&   rG   )rP   rQ   r&   rG   )r   r   r   default_time_formatrC   rO   rY   __classcell__rE   s   @r!   r<   r<   N   s        -
 $* * * * * * * *             r    r<   c                  ,    e Zd ZU ded<   ded<   ddZdS )IndentedRenderabler   
renderabler2   indentconsoler
   optionsr   r&   r   c              #     K   |                     | j        |          }t          j        |          }|D ]4}t          d| j        z            V  |E d {V  t          d          V  5d S )NrS   
)renderrc   r   split_linesrd   )rD   re   rf   segmentslinesrV   s         r!   __rich_console__z#IndentedRenderable.__rich_console__   s       >>$/7;;#H-- 	  	 D#+,,,,,OOOOOOO$--	  	 r    N)re   r
   rf   r   r&   r   )r   r   r   __annotations__rm   r   r    r!   rb   rb      s?         KKK           r    rb   c                      e Zd ZddZdS )
PipConsoler&   r@   c                     t                      d N)r)   )rD   s    r!   on_broken_pipezPipConsole.on_broken_pipe   s     T)r    N)r&   r@   )r   r   r   rs   r   r    r!   rp   rp      s(        * * * * * *r    rp   Fstderrru   r
   c                f    | rt           
J d            t           S t          
J d            t          S )Nzstderr rich console is missing!zstdout rich console is missing!)_stderr_console_stdout_consolert   s    r!   get_consolery      s@     **,M*****,M***r    c                  D     e Zd ZU g Zded<   d fdZdd
Zd fdZ xZS )RichPipStreamHandlerzClassVar[list[str] | None]KEYWORDSre   r
   r&   r@   c                l    t                                          |dddt                                 d S )NF)re   	show_time
show_level	show_pathhighlighter)rB   rC   r   )rD   re   rE   s     r!   rC   zRichPipStreamHandler.__init__   sC    ')) 	 	
 	
 	
 	
 	
r    rP   rQ   c                   d }t          |dd          rrt          |j        t                    sJ |j        \  }t          |t          t
          t          f          sJ | d            t          |t                                }n}| 	                    |          }| 
                    ||          }|j        K|j        t          j        k    rt          d          }n%|j        t          j        k    rt          d          }	 | j                            |dd|	           d S # t$          $ r |                     |           Y d S w xY w)
NrichFz is not rich-console-renderable)rd   red)coloryellowignore)overflowcropstyle)r:   r*   r>   tupler   r   rG   rb   r5   rY   render_messagerH   rK   rN   r   rL   re   print	ExceptionhandleError)rD   rP   r   rich_renderablerc   messages         r!   emitzRichPipStreamHandler.emit   sy   " 665)) 	2fk511111!'_"3Xs!C  C C!BBBC C C *<(9(9* * *JJ kk&))G,,VW==J~)>W]22!...EE^w66!111E	%LzH5PUVVVVV 	% 	% 	%V$$$$$$	%s   D$ $EEc                    t          j                    dd         \  }}|r8|r6| j        j        t           j        u rt          ||          rt                      t                                          |          S )z1Called when logging is unable to log some output.Nr0   )	sysexc_infore   filestdoutr/   r   rB   r   )rD   rP   r"   r$   rE   s       r!   r   z RichPipStreamHandler.handleError   s{     +	3 	-	- !SZ//%i55 0 +,,,ww""6***r    )re   r
   r&   r@   )rP   rQ   r&   r@   )	r   r   r   r|   rn   rC   r   r   r_   r`   s   @r!   r{   r{      s         +-H----
 
 
 
 
 
% % % %8+ + + + + + + + + +r    r{   c                        e Zd Zd fdZ xZS )BetterRotatingFileHandlerr&   r   c                    t          t          j                            | j                             t                                                      S rr   )r   ospathdirnamebaseFilenamerB   _open)rD   rE   s    r!   r   zBetterRotatingFileHandler._open   s4    27??4#455666ww}}r    )r&   r   )r   r   r   r   r_   r`   s   @r!   r   r      s=                 r    r   c                      e Zd ZddZdd	Zd
S )MaxLevelFilterlevelr2   r&   r@   c                    || _         d S rr   )r   )rD   r   s     r!   rC   zMaxLevelFilter.__init__   s    


r    rP   rQ   r'   c                "    |j         | j        k     S rr   )rH   r   )rD   rP   s     r!   filterzMaxLevelFilter.filter   s    ~
**r    N)r   r2   r&   r@   rP   rQ   r&   r'   )r   r   r   rC   r   r   r    r!   r   r      s<           + + + + + +r    r   c                  $     e Zd ZdZd fdZ xZS )ExcludeLoggerFilterzQ
    A logging Filter that excludes records from a logger (or its children).
    rP   rQ   r&   r'   c                H    t                                          |           S rr   )rB   r   )rD   rP   rE   s     r!   r   zExcludeLoggerFilter.filter   s     77>>&))))r    r   )r   r   r   r   r   r_   r`   s   @r!   r   r      sG         * * * * * * * * * *r    r   	verbosityno_coloruser_log_file
str | Nonec                   | dk    rt           j        }nS| dk    rt          }nE| dk    rt           j        }n2| dk    rt           j        }n| dk    rt           j        }nt           j        }t          j        |          }|du}|r|}d}nd}|}|d	v rd
nd}ddd}	g d|rdgng z   }
t          t          j
        |d          at          t          j        |d          }t           j                            dddt           j        ddt          j        ddt          j        ddt"          ddt"          dddd||	d         t          ddgd d!d
|	d         |dgd d!||	d         |d"gd d!d|	d#         |d$dd%d&d'||
d(d)d*|iid+           |S ),znConfigures and sets up all of the logging

    Returns the requested logging level, as its integer value.
    r0      NDEBUGz	/dev/null)INFOrN   rL   z0pip._internal.utils.logging.RichPipStreamHandlerz5pip._internal.utils.logging.BetterRotatingFileHandler)streamr   )re   console_errorsconsole_subprocessuser_logT)r   r   	soft_wrapFz*pip._internal.utils.logging.MaxLevelFilter)()r   zlogging.Filter)r   namez/pip._internal.utils.logging.ExcludeLoggerFilter)exclude_warningsrestrict_to_subprocessexclude_subprocessz%(message)s)r   rY   )r   rY   r=   )rd   indent_with_timestampr   r   r   rd   )r   classre   filters	formatterr   r   zutf-8r   )r   r   filenameencodingdelayr   )re   r   r   r   )r   handlerszpip._vendorr   )versiondisable_existing_loggersr   
formattersr   rootloggers)rK   r   r   rL   rN   CRITICALr   getLevelNamerp   r   r   rx   ru   config
dictConfigsubprocess_loggerr   r<   )r   r   r   level_numberr   include_user_logadditional_log_file
root_levelvendored_log_levelhandler_classesr   rw   s               r!   setup_loggingr      s    A~~}	a	b	b}	b'| ..E %D0 +

)
 ',/@&@&@g EG O CBB(0bH !cj8tTTTO cj8tTTTON(- G$_% %
 +-2+ +
 L-2' '   -+ 
 -+%)* *
 
 #,X6. 46HI!)  ',X6. 45!)# # #,X6. 89!)' ' %,V4 3 '!!8 1   D $$  &1C'DECB	
 B	
D D DL r    )r"   r#   r$   r%   r&   r'   )r0   )r1   r2   r&   r3   )r&   r2   )ru   r'   r&   r
   )r   r2   r   r'   r   r   r&   r2   )B
__future__r   
contextlibr,   rK   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   localr6   rx   rw   r   r   r   r/   contextmanagerr8   r5   	Formatterr<   rb   rp   ry   r{   r   RotatingFileHandlerr   r   r   r   r   r    r!   <module>r      s   " " " " " "           				 



     % % % % % % ! ! ! ! ! !                                            9 8 8 8 8 8 0 0 0 0 0 0 , , , , , , ( ( ( ( ( ( 7 7 7 7 7 7 7 7 . . . . . . B B B B B B / / / / / /Y_
I011     y   
Q 
Q 
Q 
Q & & & & &1 1 1 10 0 0 0 0* 0 0 0f                * * * * * * * * #(      9+ 9+ 9+ 9+ 9+; 9+ 9+ 9+x     0 D   + + + + +V + + +* * * * *& * * *v v v v v vr    