
     fy                         d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
 e
r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  e	d          Z G d	 d
          Z G d d          ZdS )    )zip_longest)IteratorIterableListOptionalUnionoverloadTypeVarTYPE_CHECKING   )ConsoleConsoleOptionsJustifyMethodOverflowMethodRenderResultRenderableTypeText)cell_len)MeasurementTc                       e Zd ZdZ	 ddeed                  ddfdZ	 	 	 	 	 	 ddZ	 	 	 	 	 	 ddZddZ	ded         fdZ
dS )Renderablesz:A list subclass which renders its contents to the console.Nrenderablesr   returnc                 6    |t          |          ng | _        d S N)list_renderables)selfr   s     ^/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/pip/_vendor/rich/containers.py__init__zRenderables.__init__!   s'     "-!8Db 	    consoler   optionsr   r   c              #   $   K   | j         E d{V  dS z,Console render method to insert line-breaks.N)r   r    r$   r%   s      r!   __rich_console__zRenderables.__rich_console__(   s)       $$$$$$$$$$r#   r   c                     fd| j         D             }|st          dd          S t          d |D                       }t          d |D                       }t          ||          S )Nc                 <    g | ]}t          j        |          S  )r   get).0
renderabler$   r%   s     r!   
<listcomp>z0Renderables.__rich_measure__.<locals>.<listcomp>1   s7     
 
 
 OGWj99
 
 
r#   r   c              3   $   K   | ]}|j         V  d S r   )minimumr.   	dimensions     r!   	<genexpr>z/Renderables.__rich_measure__.<locals>.<genexpr>7   %      AA9$AAAAAAr#   c              3   $   K   | ]}|j         V  d S r   )maximumr3   s     r!   r5   z/Renderables.__rich_measure__.<locals>.<genexpr>8   r6   r#   )r   r   max)r    r$   r%   
dimensions_min_maxs    ``   r!   __rich_measure__zRenderables.__rich_measure__.   s    
 
 
 
 
"/
 
 

  	%q!$$$AAjAAAAAAAjAAAAA4&&&r#   r/   c                 :    | j                             |           d S r   )r   append)r    r/   s     r!   r?   zRenderables.append;   s      ,,,,,r#   c                 *    t          | j                  S r   )iterr   r    s    r!   __iter__zRenderables.__iter__>   s    D%&&&r#   r   r$   r   r%   r   r   r   )r$   r   r%   r   r   r   )r/   r   r   N)__name__
__module____qualname____doc__r   r   r"   r)   r=   r?   rC   r,   r#   r!   r   r      s        DD CG
 
#H-=$>?
	
 
 
 
% %+;%	% % % %' '+;'	' ' ' '- - - -'(#34 ' ' ' ' ' 'r#   r   c                   h   e Zd ZdZd$ded         ddfdZdefdZded         fd	Z	e
d
eddfd            Ze
d
eded         fd            Zd
eeef         deded         f         fdZd
edddd fdZdefdZ	 	 	 	 	 	 d%dZd&dZded         ddfdZd'd
eddfdZ	 	 d(dddedd d!d"ddf
d#ZdS ))Linesz0A list subclass which can render to the console.r,   linesr   r   Nc                 .    t          |          | _        d S r   )r   _linesr    rK   s     r!   r"   zLines.__init__E   s    $(KKr#   c                     d| j         dS )NzLines()rM   rB   s    r!   __repr__zLines.__repr__H   s    (((((r#   c                 *    t          | j                  S r   )rA   rM   rB   s    r!   rC   zLines.__iter__K   s    DK   r#   indexc                     d S r   r,   r    rT   s     r!   __getitem__zLines.__getitem__N       r#   c                     d S r   r,   rV   s     r!   rW   zLines.__getitem__R   rX   r#   c                     | j         |         S r   rQ   rV   s     r!   rW   zLines.__getitem__V   s    {5!!r#   valuec                     || j         |<   | S r   rQ   )r    rT   r[   s      r!   __setitem__zLines.__setitem__Y   s    "Er#   c                 4    | j                                         S r   )rM   __len__rB   s    r!   r_   zLines.__len__]   s    {""$$$r#   r$   r   r%   r   r   c              #   $   K   | j         E d{V  dS r'   rQ   r(   s      r!   r)   zLines.__rich_console__`   s(       ;r#   linec                 :    | j                             |           d S r   )rM   r?   )r    ra   s     r!   r?   zLines.appendf   s    4     r#   c                 :    | j                             |           d S r   )rM   extendrN   s     r!   rd   zLines.extendi   s    5!!!!!r#   c                 6    | j                             |          S r   )rM   poprV   s     r!   rg   z	Lines.popl   s    {u%%%r#   leftfoldwidthjustifyr   overflowr   c           	         ddl m} |dk    r$| j        D ]}|                    ||d           dS |dk    r| j        D ]}|                                 |                    ||           |                    |t          |j                  z
  dz             |                    |t          |j                  z
             dS |d	k    ra| j        D ]W}|                                 |                    ||           |                    |t          |j                  z
             XdS |d
k    rt          | j                  D ]\  }}|t          | j                  dz
  k    r dS |                    d          }t          d |D                       }	t          |          dz
  }
d t          |
          D             }d}|rO|	|
z   |k     rF|t          |          |z
  dz
  xx         dz  cc<   |
dz  }
|dz   t          |          z  }|	|
z   |k     Fg }t          t          ||dd                             D ]\  }\  }}|                    |           |t          |          k     rd|                    |d          }|                    |d          }||k    r|n|j        }|                     |d||         z  |                      |d                              |          | |<   dS dS )a  Justify and overflow text to a given width.

        Args:
            console (Console): Console instance.
            width (int): Number of characters per line.
            justify (str, optional): Default justify method for text: "left", "center", "full" or "right". Defaults to "left".
            overflow (str, optional): Default overflow for text: "crop", "fold", or "ellipsis". Defaults to "fold".

        r   r   rh   T)rl   padcenter)rl      rightfull c              3   >   K   | ]}t          |j                  V  d S r   )r   plain)r.   words     r!   r5   z Lines.justify.<locals>.<genexpr>   s,       H H$$*!5!5 H H H H H Hr#   c                     g | ]}d S )r   r,   )r.   _s     r!   r0   z!Lines.justify.<locals>.<listcomp>   s    777!777r#   r   Nre   )style )textr   rM   truncaterstrippad_leftr   ru   	pad_right	enumeratelensplitsumranger   r?   get_style_at_offsetry   join)r    r$   rj   rk   rl   r   ra   
line_indexwords
words_size
num_spacesspacesrT   tokensrv   	next_wordry   
next_stylespace_styles                      r!   rk   zLines.justifyo   sy     	f B BehDAAAAB B   = =eh777ux
';';;ABBBux
';';;<<<<	= =
  < <eh777ehtz&:&::;;;;< < $-dk$:$: 9 9 
DT[!1!1A!555EE

3  H H% H H HHH
 ZZ!^
77U:%6%6777 :$z1E99s6{{U2Q67771<777"a
!&c&kk 9 %z1E99 &(09uQRRy111 1 T T,E,D) MM$'''s6{{** $ 8 8" E E%.%B%B7A%N%N
/4
/B/Bee
dd3+>k&R&R&RSSS#'488==#8#8Z  1 9 9r#   )r,   rD   )ra   r   r   N)re   )rh   ri   )rE   rF   rG   rH   r   r"   strrR   r   rC   r	   intrW   slicer   r   r]   r_   r)   r?   rd   rg   rk   r,   r#   r!   rJ   rJ   B   s=       ::0 0hv. 0 0 0 0 0)# ) ) ) )!(6* ! ! ! !      X  4<    X"ucz!2 "uVT&\=Q7R " " " " V     % % % % % +;	   ! ! ! !"HV, " " " " "& & &f & & & & $*%+89 8989 89 !	89
 #89 
89 89 89 89 89 89r#   rJ   N)	itertoolsr   typingr   r   r   r   r   r	   r
   r   r$   r   r   r   r   r   r   r{   r   cellsr   measurer   r   r   rJ   r,   r#   r!   <module>r      s   ! ! ! ! ! !	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  	                                  GCLL!' !' !' !' !' !' !' !'He9 e9 e9 e9 e9 e9 e9 e9 e9 e9r#   