
    Kxh                        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
 ddlmZ ddlmZ ddlmZ dd	lmZ  G d
 de          Zedk    r{d dlZd dlmZ 	 ej        d         Zn# e$ r dZY nw xY w e            Ze                     ee                      e            Ze                     ed          d           dS dS )    )Union   )AlignMethod)cell_lenset_cell_size)ConsoleConsoleOptionsRenderResult)JupyterMixinMeasurement)Style)Textc                       e Zd ZdZ	 dddddddeeef         d	ed
eeef         dededdfdZ	defdZ
dededefdZdededefdZdededefdZdS )Ruleu  A console renderable to draw a horizontal rule (line).

    Args:
        title (Union[str, Text], optional): Text to render in the rule. Defaults to "".
        characters (str, optional): Character(s) used to draw the line. Defaults to "─".
        style (StyleType, optional): Style of Rule. Defaults to "rule.line".
        end (str, optional): Character at end of Rule. defaults to "\\n"
        align (str, optional): How to align the title, one of "left", "center", or "right". Defaults to "center".
     u   ─z	rule.line
center)
charactersstyleendaligntitler   r   r   r   returnNc                    t          |          dk     rt          d          |dvrt          d|d          || _        || _        || _        || _        || _        d S )Nr   z:'characters' argument must have a cell width of at least 1)leftr   rightzAinvalid value for align, expected "left", "center", "right" (not ))r   
ValueErrorr   r   r   r   r   )selfr   r   r   r   r   s         H/var/www/html/what/lib/python3.11/site-packages/pip/_vendor/rich/rule.py__init__zRule.__init__   s     J!##L   333^TY^^^   
$



    c                 (    d| j         d| j        dS )NzRule(z, r   )r   r   )r    s    r!   __repr__zRule.__repr__.   s    ;tz;;t;;;;r#   consoleoptionsc              #     K   |j         }t          t          dd           pd }|j        r || j                  sdn| j        }t          |          }| j        s|                     ||          V  d S t          | j        t                    r| j        }n|
                    | j        d          }|j                            dd          |_        |                                 | j        dk    rd	nd
}t          d||z
            }	|	s|                     ||          V  d S t          | j                  }
| j        dk    r|                    |	d           |t          |j                  z
  d
z  }t          |||z  dz   z            }|                    |dz
             |t          |j                  z
  t          |j                  z
  }t          |||z  dz   z            }|                    |           |
                    |j        dz   | j                   |
                    |           |
                    d|j        z   | j                   n| j        dk    rh|                    |	d           |
                    |           |
                    d           |
                    |||
j        z
  z  | j                   nu| j        dk    rj|                    |	d           |
                    |||j        z
  dz
  z  | j                   |
                    d           |
                    |           t)          |
j        |          |
_        |
V  d S )Nisasciic                 4    t          d | D                       S )Nc              3   <   K   | ]}t          |          d k     V  dS )   N)ord).0cs     r!   	<genexpr>z:Rule.__rich_console__.<locals>.<lambda>.<locals>.<genexpr>8   s,      221#a&&3,222222r#   )all)ss    r!   <lambda>z'Rule.__rich_console__.<locals>.<lambda>8   s    c2222222 r#   -z	rule.text)r   r    r         r   )r   ellipsis)overflowr   r   r   )	max_widthgetattrstr
ascii_onlyr   r   r   
_rule_line
isinstancer   
render_strplainreplaceexpand_tabsr   maxr   truncateappendr   r   )r    r&   r'   widthr)   r   	chars_len
title_textrequired_spacetruncate_width	rule_text
side_widthr   right_lengthr   s                  r!   __rich_console__zRule.__rich_console__1   s      ! #y$// 
22 	
 "!+274?+C+C!CC 	 Z((	z 	//)U33333Fdj$'' 	KJJ ++DJk+JJJ%+33D#>>
   "jH44!Q 677 	//)U33333FTX&&&	:!!DDD(:+;"<"<<BJ
jI&=&ABCCDMM*q.))) 8DJ#7#77(:CS:T:TTLzY'>'BCDDENN<(((TZ#-tz:::Z(((S5;.
;;;;Z6!!DDDZ(((S!!!Z593E+EF
SSSSZ7""DDDZ5:3F+F+JKTZXXXS!!!Z((('	??	r#   rH   rG   c                     t          | j        ||z  dz   z  | j                  }|                    |           t	          |j        |          |_        |S Nr   )r   r   r   rE   r   rA   )r    rH   rG   rL   s       r!   r>   zRule._rule_linem   sQ    Ui-?1,DEtzRR	5!!!'	??	r#   c                 "    t          dd          S rQ   r   )r    r&   r'   s      r!   __rich_measure__zRule.__rich_measure__s   s     1a   r#   )r   )__name__
__module____qualname____doc__r   r<   r   r   r   r"   r%   r   r	   r
   rO   intr>   r   rS    r#   r!   r   r      s=         #%  #.%  S$Y 	
 S%Z    
   .<# < < < <::)7:	: : : :xC      !!)7!	! ! ! ! ! !r#   r   __main__N)r   zHello, World)r   foor6   )rG   )typingr   r   r   cellsr   r   r&   r   r	   r
   jupyterr   measurer   r   r   textr   r   rT   syspip._vendor.rich.consoleargv
IndexErrorprintrY   r#   r!   <module>rf      s               * * * * * * * * : : : : : : : : : : ! ! ! ! ! !                        j! j! j! j! j!< j! j! j!Z zJJJ000000x{   giiGMM$$T"""###giiGMM$$u++QM''''' s   A$ $A.-A.