+
    :1j>"                       R t ^ RIHt ^ RIt^ RIHtHt ^ RIHt ^ RI	H
t
Ht ^ RIHt ^ RIHt ^RIHt ^R	IHt ^R
IHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RI H!t!H"t"H#t#H$t$ ]'       d   ^ RI%H&t& ^ RIH't' ^RIH(t(  ! R R]"4      t) ! R R]"4      t* ! R R]$4      t+ ! R R]$4      t, ! R R]#4      t-]! RR7      R  4       t.R# )!ze
Defines a "console" reporter backend.

This reporter backend provides the default output for conda.
)annotationsN)EPIPE	ESHUTDOWN)cycle)EventThread)sleep)TYPE_CHECKING) DEFAULT_CONSOLE_REPORTER_BACKEND)context)swallow_broken_pipe)paths_equal)
PrefixData)
CondaError)human_bytes)hookimpl)CondaReporterBackendProgressBarBaseReporterRendererBaseSpinnerBase)Iterable)Any)PathTypec                  >    ] tR t^*tRtR R ltR R ltR R ltRtR	# )
QuietProgressBarz:
Progress bar class used when no output should be printed
c                   V ^8  d   QhRR/#    returnNone )formats   "Glib/python3.14/site-packages/conda/plugins/reporter_backends/console.py__annotate__QuietProgressBar.__annotate__/   s      T     c                	    R # Nr    )selffractions   &&r"   	update_toQuietProgressBar.update_to/       r%   c                   V ^8  d   QhRR/# r   r    )r!   s   "r"   r#   r$   2   s       r%   c                	    R # r'   r    r(   s   &r"   refreshQuietProgressBar.refresh2   r,   r%   c                   V ^8  d   QhRR/# r   r    )r!   s   "r"   r#   r$   5   s      t r%   c                	    R # r'   r    r/   s   &r"   closeQuietProgressBar.close5   r,   r%   r    N)	__name__
__module____qualname____firstlineno____doc__r*   r0   r4   __static_attributes__r    r%   r"   r   r   *   s     r%   r   c                  t   a  ] tR t^9tRtRR V 3R llltR R lt]R R l4       tR R	 lt	]
R
 4       tRtV ;t# )TQDMProgressBarz0
Progress bar class used for tqdm progress bars
c                    V ^8  d   QhRRRR/# )r   descriptionstrr   r   r    )r!   s   "r"   r#   TQDMProgressBar.__annotate__>   s       
r%   c           
     	  < \         SV `  V4       R V n        Rp V P                  VVR ^\        P
                  VVR7      V n        R#   \         d/   pTP                  \        \        39   d   RT n         Rp?R# h Rp?ii ; i)Tz!{desc}{bar} | {percentage:3.0f}% )desc
bar_formatasciitotalfilepositionleaveFN)super__init__enabled_tqdmsysstdoutpbarOSErrorerrnor   r   )r(   r?   rH   rI   kwargsrD   e	__class__s   &&&&,  r"   rK   TQDMProgressBar.__init__>   s     	%8
	

 %ZZ! # DI  	ww5),,$		s   +A B"A<;A<<Bc                   V ^8  d   QhRR/# r   r    )r!   s   "r"   r#   rA   [   s      T r%   c                	    V P                   '       d8   V P                  P                  WP                  P                  ,
          4       R# R#   \         d/   pTP
                  \        \        39   d   R T n          Rp?R# h Rp?ii ; iFN)rL   rP   updatenrQ   rR   r   r   )r(   r)   rT   s   && r"   r*   TQDMProgressBar.update_to[   s_    	|||		  IIKK!78  	ww5),,$		s"   A 5A B"B BBc                   V ^8  d   QhRR/# r   r    )r!   s   "r"   r#   rA   f   s      t r%   c                	b    V P                   '       d   V P                  P                  4        R # R # r'   )rL   rP   r4   r/   s   &r"   r4   TQDMProgressBar.closee   s    <<<IIOO r%   c                   V ^8  d   QhRR/# r   r    )r!   s   "r"   r#   rA   j   s          r%   c                	b    V P                   '       d   V P                  P                  4        R # R # r'   )rL   rP   r0   r/   s   &r"   r0   TQDMProgressBar.refreshj   s     <<<II r%   c                     ^ RI Hp V! V / VB # )z=Deferred import so it doesn't hit the `conda activate` paths.)tqdm)	tqdm.autord   )argsrS   rd   s   *, r"   rM   TQDMProgressBar._tqdmn   s     	#T$V$$r%   )rL   rP   )NT)r6   r7   r8   r9   r:   rK   r*   r   r4   r0   staticmethodrM   r;   __classcell__rU   s   @r"   r=   r=   9   sD     :    % %r%   r=   c                  d   a  ] tR t^vt]! R4      tR	V 3R lltR tR tR t	]
R 4       tR tRtV ;t# )
Spinnerz/-\|c                	  < \         SV `  W4       R V n        \        4       V n        \        V P                  R7      V n        \        \        V P                  4      4      ^,           V n        \        P                  V n        R# )T)targetN)rJ   rK   	show_spinr   _stop_runningr   _start_spinning_spinner_threadlennextspinner_cycle_indicator_lengthrN   rO   fh)r(   messagefail_messagerU   s   &&&r"   rK   Spinner.__init__y   s\    /#"W%T-A-AB!$T$*<*<%=!>!B**r%   c                	:    V P                   P                  4        R # r'   )rr   startr/   s   &r"   r|   Spinner.start   s    ""$r%   c                	|    V P                   P                  4        V P                  P                  4        R V n        R# rY   )rp   setrr   joinro   r/   s   &r"   stopSpinner.stop   s-     !!#r%   c                	    V P                   P                  4       '       g   V P                  P                  \	        V P
                  4      R ,           4       V P                  P                  4        \        R4       V P                  P                  RV P                  ,          4       K  R#   \         d8   pTP                  \        \        39   d   T P                  4         Rp?R# h Rp?ii ; i) g?N)rp   is_setrw   writert   ru   flushr   rv   rQ   rR   r   r   r   )r(   rT   s   & r"   rq   Spinner._start_spinning   s    
	((//11d4#5#56<=ddT%;%;;<	 2
  	ww5),,				s#   B, BB, ,C.7+C)(C))C.c                	    \         P                  P                  V P                   R 24       \         P                  P	                  4        V P                  4        R# ): N)rN   rO   r   rx   r   r|   r/   s   &r"   	__enter__Spinner.__enter__   s8    

DLL>,-



r%   c                	j   V P                  4        \        ;_uu_ 4        V'       g	   V'       d+   \        P                  P	                  V P
                  4       M\        P                  P	                  R 4       \        P                  P                  4        RRR4       R#   + '       g   i     R# ; izdone
N)r   r   rN   rO   r   ry   r   r(   exc_typeexc_valexc_tbs   &&&&r"   __exit__Spinner.__exit__   s_    		  7

  !2!23

  *JJ !   s   B!A'B!!B2	)rv   rr   rp   rw   ro   zfailed
)r6   r7   r8   r9   r   ru   rK   r|   r   rq   r   r   r   r;   ri   rj   s   @r"   rl   rl   v   s>    'NM%
  
 r%   rl   c                  "    ] tR t^tR tR tRtR# )QuietSpinnerc                	   \         P                  P                  V P                   R 24       \         P                  P	                  4        \         P                  P                  R4       \         P                  P	                  4        R# )r   z...working... N)rN   rO   r   rx   r   r/   s   &r"   r   QuietSpinner.__enter__   sR    

DLL>,-



)*

r%   c                	J   \         ;_uu_ 4        V'       g	   V'       d+   \        P                  P                  V P                  4       M\        P                  P                  R 4       \        P                  P                  4        RRR4       R#   + '       g   i     R# ; ir   )r   rN   rO   r   ry   r   r   s   &&&&r"   r   QuietSpinner.__exit__   sV      7

  !2!23

  *JJ !   s   BA'BB"	r    N)r6   r7   r8   r9   r   r   r;   r    r%   r"   r   r      s    r%   r   c                     a  ] tR t^tRtR V 3R lltR R lt]R R l4       tR R	 lt	RR
 R llt
RR R lltRtV ;t# )ConsoleReporterRendererz7
Default implementation for console reporting in conda
c                    V ^8  d   QhRRRR/# )r   datar   r   r@   r    )r!   s   "r"   r#   $ConsoleReporterRenderer.__annotate__   s     < <3 <S <r%   c                	b   < \         SV `  ! V3/ VB pVP                  R 4      '       d   V# V R 2# )
)rJ   renderendswith)r(   r   rS   textrU   s   &&, r"   r   ConsoleReporterRenderer.render   s5    w~d-f-}}T**t;4&;r%   c                    V ^8  d   QhRRRR/# )r   r   zdict[str, str | int | bool]r   r@   r    )r!   s   "r"   r#   r      s     6 6 ; 6# 6r%   c                	    . p\        \        \        VP                  4       4      4      pVP	                  4        F   w  rVVP                  R VRV 2 RV 24       K"  	  RRP                  V4      ,           R,           # )r   >z : r   

)maxmaprs   keysitemsappendr   )r(   r   rS   table_partslongest_headerheadervalues   &&,    r"   detail_view#ConsoleReporterRenderer.detail_view   sq    Sdiik23!ZZ\MF6!N+;);"<CwGH * dii,,v55r%   c                    V ^8  d   QhRRRR/# )r   prefixeszIterable[PathType | PrefixData]r   r@   r    )r!   s   "r"   r#   r      s     1 1; 1# 1r%   c                	  a VP                  R R4      o. ROpR V3R llpV  F;  p\        V\        4      '       g   \        V4      pVP                  V! V4      4       K=  	  RRP	                  V4      ,           R,           # )	show_sizeFc                    V ^8  d   QhRRRR/# )r   prefixr   r   r@   r    )r!   s   "r"   r#   7ConsoleReporterRenderer.envs_list.<locals>.__annotate__   s     	R 	RZ 	RC 	Rr%   c           	       < \         P                  '       d-   \        V P                  \         P                  4      '       d   R MRpV P	                  4       '       d   RMRpS'       d@   \        V P                  4       4      pV P                  R RV RV RVR RV P                   2	# V P                  R RV RV RV P                   2# )*r   +20z>10)r   active_prefixr   prefix_path	is_frozenr   sizename)r   activefrozensize_strr   s   &   r"   disp_env3ConsoleReporterRenderer.envs_list.<locals>.disp_env   s     ((( 2 2G4I4IJJ  	  #,,..SCF&v{{}5 ++b)6(!F81XcN!FL^L^K_`` ++b)6(!F81V=O=O<PQQr%   r   r   )z# conda environments:#z# * -> activez# + -> frozen)get
isinstancer   r   r   )r   rS   outputr   
env_prefixr   s   &,   @r"   	envs_list!ConsoleReporterRenderer.envs_list   su    JJ{E2	
	R 	R #Jj*55'
3
MM(:./ # dii''&00r%   c                    V ^8  d   QhRRRR/# )r   r?   r@   r   r   r    )r!   s   "r"   r#   r      s     : :: 
	:r%   c                ^    \         P                  '       d   \        V3/ VB # \        V3/ VB # )zD
Determines whether to return a TQDMProgressBar or QuietProgressBar
)r   quietr   r=   )r(   r?   rS   s   &&,r"   progress_bar$ConsoleReporterRenderer.progress_bar   s-     ===#K:6::";9&99r%   c               $    V ^8  d   QhRRRRRR/# )r   rx   r@   ry   r   r   r    )r!   s   "r"   r#   r      s!     2 2s 2# 2{ 2r%   c                Z    \         P                  '       d   \        W4      # \        W4      # )z8
Determines whether to return a Spinner or QuietSpinner
)r   r   r   rl   )r(   rx   ry   s   &&&r"   spinnerConsoleReporterRenderer.spinner   s#     ===66711r%   c                   V ^8  d   QhRR/# )r   r   r@   r    )r!   s   "r"   r#   r     s     , ,QT ,r%   c                B   W29  d   \        RV R24      h. pV F?  pWS8X  d   VP                  RV^ ,           R24       K'  VP                  V^ ,          4       KA  	  RP                  VRP                  V4      4      pV UUu/ uF  qfV^ ,          3 F  qwVbK  	  K  	  pppW2R&    \        P
                  P                  V4       \        P
                  P                  4         \        P                  P                  4       P                  4       P                  4       pY9  d   \        R
T 24       K  \        P
                  P                  R4       \        P
                  P                  4        Y(,          # u uppi   \         d   p	\        RT	 24      hR	p	?	ii ; i)z#
Implementation of a prompt dialog
zDefault value 'z' must be part of `choices`[]z	{} ({})? / zcannot read from stdin: NzInvalid choice: r   )
ValueErrorr   r!   r   rN   rO   r   r   stdinreadlinestriplowerrQ   r   print)
r(   rx   choicesdefaultoptionsoptionchoicealtuser_choicerT   s
   &&&&      r"   promptConsoleReporterRenderer.prompt  sg    !wi7RSTTF 6!9+Q/0vay)	  $$Wchhw.?@-4TW6PQ@S;@S3WTJJW%JJA!ii00288:@@B )(67

  &

  "++ U  A #;A3!?@@As   E:%:F   FFFr    r   )Proceed)yesnor   )r6   r7   r8   r9   r:   r   r   rh   r   r   r   r   r;   ri   rj   s   @r"   r   r      s@    < <
6 1 1@:2, ,r%   r   T)tryfirstc               #  >   "   \        \        R\        R7      x  R# 5i)z
Reporter backend for console
z5Default implementation for console reporting in conda)r   r?   rendererN)r   r
   r   r    r%   r"   conda_reporter_backendsr   $  s      -K( s   )/r:   
__future__r   rN   rR   r   r   	itertoolsr   	threadingr   r   timer   typingr	   base.constantsr
   base.contextr   	common.ior   common.pathr   core.prefix_datar   
exceptionsr   utilsr   r   r   typesr   r   r   r   collections.abcr   r   r   r   r=   rl   r   r   r   r    r%   r"   <module>r     s    # 
 "  #    $ , & * $     (' :%o :%z.k .b; "i,2 i,X 
r%   