ó
    Þ j#  ã                   óÄ  • S SK r S SKrS SKrS SKrS SKJrJrJrJrJ	r	J
r
JrJr  S SKJr  S SKJrJr  S SKJr  S SKJrJr  S SKJr  \\\\4      rS\\\\4   S	\4S
 jrS\\\   \4   S	\4S jrS\\\   \4   S	\\   4S jr         SS\\\   \4   S\S\\   SSS\\\      S\\
\\4      S\\\      S\\   S\\   S\\   S\S	\4S jjr S\S	\S   4S jr!g)é    N)ÚAnyÚCallableÚIterableÚListÚLiteralÚMappingÚOptionalÚUnion)Úescape)ÚSpinnerInterfaceÚopen_spinner)ÚInstallationSubprocessError)ÚVERBOSEÚsubprocess_logger)Ú
HiddenTextÚargsÚreturnc                  óŽ   • / nU  H<  n[        U[        5      (       a  UR                  U5        M+  UR                  U5        M>     U$ )z
Create a CommandArgs object.
)Ú
isinstanceÚlistÚextendÚappend)r   Úcommand_argsÚargs      ÚX/var/www/html/gaurav/venv/lib/python3.13/site-packages/pip/_internal/utils/subprocess.pyÚmake_commandr      sH   € ð !#€LÛˆô �cœ4× Ñ Ø×Ñ Ö$ð ×Ñ Ö$ñ ð Ðó    c                 ó2   • SR                  S U  5       5      $ )z'
Format command arguments for display.
Ú c              3   ó´   #   • U HO  n[        U[        5      (       a  [        R                  " [	        U5      5      O[        R                  " U5      v •  MQ     g 7f)N)r   r   ÚshlexÚquoteÚstr)Ú.0r   s     r   Ú	<genexpr>Ú&format_command_args.<locals>.<genexpr>+   s>   é € ð áˆCô ",¨C´×!<Ñ!<Œ�Š”C˜“HÔÄ%Ç+Â+ÈcÓBRÔRÚùs   ‚AA)Újoin)r   s    r   Úformat_command_argsr(   "   s"   € ð �8‰8ñ áóó ð r   c                 ór   • U  Vs/ sH&  n[        U[        5      (       a  UR                  OUPM(     sn$ s  snf )z5
Return the arguments in their raw, unredacted form.
)r   r   Úsecret)r   r   s     r   Úreveal_command_argsr+   1   s3   € ñ KOÓOÉ$À3œ* S¬*×5Ñ5ˆC�JŠJ¸3Ò>É$ÑOÐOùÒOs   …,4Ú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
          
      ó¦  • Uc  / nUc  / nU(       a!  [         R                  n[        R                  nO[         R                  n[
        n[         R                  " 5       U:*  nU(       + =(       a    USLnU" SU
5        [        R                  R                  5       nU(       a  UR                  U5        U H  nUR                  US5        M      [        R                  " [        U 5      [        R                  [        R                  U	(       d  [        R                   O[        R                  UUSS9n/ nU	(       dÿ  UR&                  (       d   eUR(                  (       d   eUR(                  R+                  5          UR&                  R-                  5       nU(       d  ONUR/                  5       nUR1                  US-   5        U" U5        U(       a  U(       d   eUR3                  5         Mp   UR5                  5         UR&                  (       a  UR&                  R+                  5         SR7                  U5      nOuUR9                  5       u  nnUR;                  5        H  nU" U5        M     UR1                  U5        UR;                  5        H  nU" U5        M     UR1                  U5        UnUR<                  =(       a    UR<                  U;  nU(       a3  U(       d   eU(       a  UR?                  S	5        OUR?                  S
5        U(       aÜ  US:X  a“  [A        U
UR<                  U(       d  UOSS9nU(       al  [         RB                  " SUSS0S9  [         R                  " S[E        [G        U 5      5      SS0S9  [         R                  " S[E        U=(       d    S5      SS0S9  UeUS:X  a%  [         RH                  " SU
UR<                  U5        U$ US:X  a   U$ [K        SU< 35      eU$ ! ["         a%  nU(       a  [         R$                  " SUU
5        e SnAff = f! UR&                  (       a  UR&                  R+                  5         f f = f)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Ústderrr.   ÚenvÚerrorsz#Error %s while executing command %sTÚ
Ú ÚerrorÚdoneÚraise)Úcommand_descriptionÚ	exit_codeÚoutput_linesz%sÚrich)Úextraz*[bold magenta]full command[/]: [blue]%s[/]Úmarkupz[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ÚPopenr+   ÚPIPEÚSTDOUTÚ	ExceptionÚcriticalr:   r9   ÚcloseÚreadlineÚrstripr   ÚspinÚwaitr'   ÚcommunicateÚ
splitlinesÚ
returncodeÚfinishr   r@   r   r(   ÚwarningÚ
ValueError)r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   Úlog_subprocessÚ
used_levelÚshowing_subprocessÚuse_spinnerr<   ÚnameÚprocÚexcÚ
all_outputÚlineÚoutputÚoutÚerrÚout_lineÚerr_lineÚproc_had_errorr@   s                               r   Úcall_subprocessru   8   sž  € ð6 Ñ#Ø!ÐØÑØˆö  ä.?×.DÑ.DˆÜ—\‘\‰
ô +×2Ñ2ˆÜˆ
ô +×<Ò<Ó>À*ÑLÐð )Ô(×@¨W¸DÐ-@€KáÐ'¨Ô6Ü
�*‰*�/‰/Ó
€CÞØ�
‰
�=Ô!ÛˆØ�‰��dÖñ ðÜ×Òä Ó$Ü—/‘/Ü—?‘?Þ,7”:×$Ò$¼Z¿_¹_ØØØ%ñ	
ˆð$ €JÞØ�{�{Ðˆ{Ø�z�zÐˆzØ�
‰
×ÑÔàØŸ™×,Ñ,Ó.ˆDÞØØ—;‘;“=ˆDØ×Ñ˜d T™kÔ*ñ ˜4Ô æÞ��wØ—‘”ñ ð	$Ø�I‰IŒKà�{�{Ø—‘×!Ñ!Ô#Ø—‘˜Ó$‰ð ×#Ñ#Ó%‰ˆˆSàŸ™Ö(ˆHÙ˜8Ö$ñ )à×Ñ˜#ÔØŸ™Ö(ˆHÙ˜8Ö$ñ )à×Ñ˜#ÔØˆà—_‘_×T¨¯©Ð@TÑ)T€NÞÞˆˆwÞØ�N‰N˜7Õ#à�N‰N˜6Ô"ÞØ˜GÓ#Ü/Ø$0ØŸ/™/Þ/A™ZÀtñˆEö
 Ü!×'Ò'¨¨e¸FÀD¸>ÒJÜ!×)Ò)Ø@ÜÔ.¨sÓ3Ó4Ø# TÐ*òô
 "×)Ò)Ø.Ü˜3×- +Ó.Ø# TÐ*òð ˆKØ˜fÓ$Ü×%Ò%Ø6ØØ—‘Øô	ð €Mð	 ˜hÓ&Øð €Mô Ð<¸]Ñ<MÐNÓOÐOØ€Møôk ó ÞÜ×&Ò&Ø5ØØôð
 	ûðûð< �{�{Ø—‘×!Ñ!Õ#ð ús%   ÃA$O0 Ç-P" Ï0
PÏ: PÐPÐ".QÚmessage).Nc           
      óŒ   ^ •   SS[         [           S[        [           S[        [        [        [        4      SS4U 4S jjjnU$ )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.
Nr,   r.   r1   r   c           	      ój   >• [        T5       n[        U TUUUS9  S S S 5        g ! , (       d  f       g = f)N)r6   r.   r1   r3   )r   ru   )r,   r.   r1   r3   rv   s       €r   ÚrunnerÚ+runner_with_spinner_message.<locals>.runnerç   s2   ø€ ô
 ˜'Ô" gÜØØ$ØØ+Øò÷ #×"Ö"ús   �$¤
2)NN)r   r#   r	   r   r   )rv   ry   s   ` r   Úrunner_with_spinner_messager{   à   sV   ø€ ð "Ø59ñÜ”#‰Yðä”c‰]ðô  ¤¬¬S¨Ñ 1Ñ2ðð 
÷	ð ð €Mr   )	FNrB   NNNNTF)"rL   rP   r!   rU   Ú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#   ÚCommandArgsr   r(   r+   ÚboolÚintru   r{   © r   r   Ú<module>r†      s   ðÛ Û 	Û Û ß S× SÓ Så *ç EÝ @ß BÝ /à�5˜˜j˜Ñ)Ñ*€ð˜˜c :¨{Ð:Ñ;ð Àô ð"˜e D¨¡I¨{Ð$:Ñ;ð Àô ðP˜e D¨¡I¨{Ð$:Ñ;ð PÀÀSÁ	ô Pð ØØ:AØ48Ø15Ø-1Ø*.Ø%)Ø"'ñ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ðP¨ð °¸)Ñ1Dõ r   