§
    
Á³gð#  ã                   óH  — d dl Z d dlZd dlZd dlZd dlmZmZmZmZm	Z	m
Z
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 erd dlmZ e	eeef                  Zd	eeeef         d
efd„Zd	ee	e         ef         d
efd„Zd	ee	e         ef         d
e	e         fd„Z	 	 	 	 	 	 	 	 	 d!dee	e         ef         dedee         dddeee                   dee
eef                  deee                  dee         dee         dee         ded
efd„Z!ded
ed         fd „Z"dS )"é    N)ÚTYPE_CHECKINGÚAnyÚCallableÚIterableÚListÚMappingÚOptionalÚUnion)Úescape)ÚSpinnerInterfaceÚopen_spinner)ÚInstallationSubprocessError)ÚVERBOSEÚsubprocess_logger)Ú
HiddenText)ÚLiteralÚargsÚreturnc                  ó”   — g }| D ]B}t          |t          ¦  «        r|                     |¦  «         Œ-|                     |¦  «         ŒC|S )z&
    Create a CommandArgs object.
    )Ú
isinstanceÚlistÚextendÚappend)r   Úcommand_argsÚargs      ú\/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_internal/utils/subprocess.pyÚmake_commandr       sb   € ð !#€LØð %ð %ˆõ �c�4Ñ Ô ð 	%Ø×Ò Ñ$Ô$Ð$Ð$ð ×Ò Ñ$Ô$Ð$Ð$àÐó    c                 ó@   — d                      d„ | D ¦   «         ¦  «        S )z/
    Format command arguments for display.
    ú c              3   óª   K  — | ]N}t          |t          ¦  «        r!t          j        t	          |¦  «        ¦  «        nt          j        |¦  «        V — ŒOd S )N)r   r   ÚshlexÚquoteÚstr©Ú.0r   s     r   ú	<genexpr>z&format_command_args.<locals>.<genexpr>:   sd   è è € ð ð àõ ",¨CµÑ!<Ô!<ÐR�Œ•C˜‘H”HÑÔÐÅ%Ä+ÈcÑBRÔBRðð ð ð ð ð r   )Újoin©r   s    r   Úformat_command_argsr*   1   s6   € ð �8Š8ð ð àðñ ô ñ ô ð r   c                 ó   — d„ | D ¦   «         S )z=
    Return the arguments in their raw, unredacted form.
    c                 óJ   — g | ] }t          |t          ¦  «        r|j        n|‘Œ!S © )r   r   Úsecretr%   s     r   ú
<listcomp>z'reveal_command_args.<locals>.<listcomp>D   s-   € ÐOÐOÐOÀ3�* S­*Ñ5Ô5Ð>ˆCŒJˆJ¸3ÐOÐOÐOr   r-   r)   s    r   Úreveal_command_argsr0   @   s   € ð PÐOÈ$ÐOÑOÔOÐOr   FÚraiseTÚcmdÚshow_stdoutÚcwdÚon_returncodez"Literal["raise", "warn", "ignore"]Úextra_ok_returncodesÚextra_environÚunset_environÚspinnerÚlog_failed_cmdÚstdout_onlyÚcommand_descc
          	      óÄ  — |€g }|€g }|rt           j        }t          j        }nt           j        }t
          }t          j        ¦   «         |k    }| o|du} |d|
¦  «         t          j         	                    ¦   «         }|r| 
                    |¦  «         |D ]}|                     |d¦  «         Œ	 t          j        t          | ¦  «        t          j        t          j        |	st          j        nt          j        ||d¬¦  «        }n+# t"          $ r}|rt          j        d||
¦  «         ‚ d}~ww xY wg }|	�s|j        sJ ‚|j        sJ ‚|j                             ¦   «          	 |j                             ¦   «         }|snR|                     ¦   «         }|                     |dz   ¦  «          ||¦  «         |r|sJ ‚|                     ¦   «          Œn	 |                     ¦   «          |j        r|j                             ¦   «          n&# |j        r|j                             ¦   «          w w xY wd                     |¦  «        }n‡|                     ¦   «         \  }}|                     ¦   «         D ]} ||¦  «         Œ|                     |¦  «         |                     ¦   «         D ]} ||¦  «         Œ|                     |¦  «         |}|j        o|j        |v}|r1|sJ ‚|r|                     d	¦  «         n|                     d
¦  «         |rÑ|dk    r�tA          |
|j        |s|nd¬¦  «        }|rpt          j!        d|¦  «         t          j        dtE          tG          | ¦  «        ¦  «        ddi¬¦  «         t          j        dtE          |pd¦  «        ddi¬¦  «         |‚|dk    rt          j$        d|
|j        |¦  «         n|dk    rntK          d|›�¦  «        ‚|S )aÍ  
    Args:
      show_stdout: if true, use INFO to log the subprocess's stderr and
        stdout streams.  Otherwise, use DEBUG.  Defaults to False.
      extra_ok_returncodes: an iterable of integer return codes that are
        acceptable, in addition to 0. Defaults to None, which means [].
      unset_environ: an iterable of environment variable names to unset
        prior to calling subprocess.Popen().
      log_failed_cmd: if false, failed commands are not logged, only raised.
      stdout_only: if true, return only stdout, else return both. When true,
        logging of both stdout and stderr occurs when the subprocess has
        terminated, else logging occurs as subprocess output is produced.
    NzRunning command %sÚbackslashreplace)ÚstdinÚstdoutÚstderrr4   ÚenvÚerrorsz#Error %s while executing command %sTú
Ú ÚerrorÚdoner1   )Úcommand_descriptionÚ	exit_codeÚoutput_linesz[present-rich] %sz*[bold magenta]full command[/]: [blue]%s[/]Úmarkup)Úextraz[bold magenta]cwd[/]: %sz	[inherit]Úwarnz$Command "%s" had error code %s in %sÚignorezInvalid value: on_returncode=)&r   ÚinfoÚloggingÚINFOÚverboser   ÚgetEffectiveLevelÚosÚenvironÚcopyÚupdateÚpopÚ
subprocessÚPopenr0   ÚPIPEÚSTDOUTÚ	ExceptionÚcriticalr@   r?   ÚcloseÚreadlineÚrstripr   ÚspinÚwaitr(   ÚcommunicateÚ
splitlinesÚ
returncodeÚfinishr   rF   r   r*   ÚwarningÚ
ValueError)r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   Úlog_subprocessÚ
used_levelÚshowing_subprocessÚuse_spinnerrB   ÚnameÚprocÚexcÚ
all_outputÚlineÚoutputÚoutÚerrÚout_lineÚerr_lineÚproc_had_errorrF   s                               r   Úcall_subprocessry   G   s¹  € ð6 Ð#Ø!ÐØÐØˆð  ð å.?Ô.DˆÝ”\ˆ
ˆ
õ +Ô2ˆÝˆ
õ +Ô<Ñ>Ô>À*ÒLÐð )Ð(Ð@¨W¸DÐ-@€Kà€NÐ'¨Ñ6Ô6Ð6Ý
Œ*�/Š/Ñ
Ô
€CØð "Ø�
Š
�=Ñ!Ô!Ð!Øð ð ˆØ�Š��dÑÔÐÐðÝÔå Ñ$Ô$Ý”/Ý”?Ø,7ÐL•:Ô$Ð$½Z¼_ØØØ%ð	
ñ 	
ô 	
ˆˆøõ ð ð ð Øð 	ÝÔ&Ø5ØØñô ð ð
 	øøøøðøøøð €JØñ #ØŒ{ÐÐÐØŒzÐÐÐØŒ
×ÒÑÔÐð	Øœ×,Ò,Ñ.Ô.ˆDØð ØØ—;’;‘=”=ˆDØ×Ò˜d T™kÑ*Ô*Ð*ð ˆN˜4Ñ Ô Ð àð Ø���Ø—’‘”�ð	ð	$Ø�IŠI‰KŒKˆKàŒ{ð $Ø”×!Ò!Ñ#Ô#Ð#øøð Œ{ð $Ø”×!Ò!Ñ#Ô#Ð#Ð#ð$øøøà—’˜Ñ$Ô$ˆˆð ×#Ò#Ñ%Ô%‰ˆˆSàŸšÑ(Ô(ð 	%ð 	%ˆHØˆN˜8Ñ$Ô$Ð$Ð$Ø×Ò˜#ÑÔÐØŸšÑ(Ô(ð 	%ð 	%ˆHØˆN˜8Ñ$Ô$Ð$Ð$Ø×Ò˜#ÑÔÐØˆà”_ÐT¨¬Ð@TÐ)T€NØð #ØˆˆˆØð 	#Ø�NŠN˜7Ñ#Ô#Ð#Ð#à�NŠN˜6Ñ"Ô"Ð"Øð PØ˜GÒ#Ð#Ý/Ø$0Øœ/Ø/AÐK˜Z˜ZÀtðñ ô ˆEð
 ð Ý!Ô'Ð(;¸UÑCÔCÐCÝ!Ô)Ø@ÝÕ.¨sÑ3Ô3Ñ4Ô4Ø# TÐ*ðñ ô ð õ
 "Ô)Ø.Ý˜3Ð- +Ñ.Ô.Ø# TÐ*ðñ ô ð ð ˆKØ˜fÒ$Ð$ÝÔ%Ø6ØØ”Øñ	ô ð ð ð ˜hÒ&Ð&ØåÐN¸]ÐNÐNÑOÔOÐOØ€Ms%   Â2AD Ä
D/ÄD*Ä*D/ÇH È#H*Úmessage).Nc           
      ó®   ‡ — 	 	 ddt           t                   dt          t                   dt          t          t          t          f                  ddfˆ fd„}|S )zßProvide a subprocess_runner that shows a spinner message.

    Intended for use with for BuildBackendHookCaller. Thus, the runner has
    an API that matches what's expected by BuildBackendHookCaller.subprocess_runner.
    Nr2   r4   r7   r   c                 ó€   •— t          ‰¦  «        5 }t          | ‰|||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r<   r4   r7   r9   )r   ry   )r2   r4   r7   r9   rz   s       €r   Úrunnerz+runner_with_spinner_message.<locals>.runnerö   sš   ø€ õ
 ˜'Ñ"Ô"ð 	 gÝØØ$ØØ+Øðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ‘3³7º7)NN)r   r$   r	   r   r   )rz   r}   s   ` r   Úrunner_with_spinner_messager~   ï   so   ø€ ð "Ø59ðð Ý•#ŒYðå•cŒ]ðõ  ¥­­S¨Ô 1Ô2ðð 
ð	ð ð ð ð ð ð €Mr   )	FNr1   NNNNTF)#rP   rT   r"   rY   Útypingr   r   r   r   r   r   r	   r
   Úpip._vendor.rich.markupr   Úpip._internal.cli.spinnersr   r   Úpip._internal.exceptionsr   Úpip._internal.utils.loggingr   r   Úpip._internal.utils.miscr   r   r$   ÚCommandArgsr   r*   r0   ÚboolÚintry   r~   r-   r   r   ú<module>rˆ      sì  ðØ €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð +Ð *Ð *Ð *Ð *Ð *à EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ @Ð @Ð @Ð @Ð @Ð @Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ /Ð /Ð /Ð /Ð /Ð /àð ð ÐÐÐÐÐà�5˜˜j˜Ô)Ô*€ð˜˜c :¨{Ð:Ô;ð Àð ð ð ð ð"˜e D¨¤I¨{Ð$:Ô;ð Àð ð ð ð ðP˜e D¨¤I¨{Ð$:Ô;ð PÀÀSÄ	ð Pð Pð Pð Pð ØØ:AØ48Ø15Ø-1Ø*.Ø%)Ø"'ðeð eØ	ˆt�CŒy˜+Ð%Ô	&ðeàðeð 
�#Œðeð 8ð	eð
 # 8¨C¤=Ô1ðeð ˜G C¨ HÔ-Ô.ðeð ˜H SœMÔ*ðeð Ð&Ô'ðeð ˜T”Nðeð ˜$”ðeð ðeð 	ðeð eð eð eðP¨ð °¸)Ô1Dð ð ð ð ð ð r   