
     f                         d dl Z d dlmZ d dlm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 ddlmZ dd	lmZ dd
lmZmZ  e j        de j                  Z e j        d          Z G d de
          Ze	e         Zeegef         Zeeegef         Z  e j        d          j!        fdede defdZ"dedeee#ee         ee         f                  fdZ$	 	 	 d#dedeeef         de%dee         def
dZ&e'dk    rOg dZ(d dl)m*Z* d dl+m,Z,  e,dd d!"          Z-e(D ]!Z.e-/                     ee.          e.           " e*e-           dS dS )$    N)literal_eval)
attrgetter)CallableIterableListMatch
NamedTupleOptionalTupleUnion   )_emoji_replace)EmojiVariant)MarkupError)Style)SpanTextz((\\*)\[([a-z#/@][^[]*?)])z^([\w.]*?)(\(.*?\))?$c                   `    e Zd ZU dZeed<   	 ee         ed<   	 defdZedefd            Z	dS )TagzA tag in console markup.name
parametersreturnc                 @    | j         | j        n| j         d| j          S )N r   r   selfs    Z/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/pip/_vendor/rich/markup.py__str__zTag.__str__   s)    0DII6V6VT_6V6V	
    c                 L    | j         d| j         dnd| j         d| j          dS )z*Get the string representation of this tag.N[]=r   r   s    r   markupz
Tag.markup!   s@    
 & 	3TY33333	
r    N)
__name__
__module____qualname____doc__str__annotations__r
   r   propertyr%    r    r   r   r      s}         ""
III$3
 
 
 
 

 
 
 
 
 X
 
 
r    r   z(\\*)(\[[a-z#/@][^[]*?])r%   _escaper   c                 X    dt           t                   dt          fd} |||           } | S )zEscapes text so that it won't be interpreted as markup.

    Args:
        markup (str): Content to be inserted in to markup.

    Returns:
        str: Markup with square brackets escaped.
    matchr   c                 B    |                                  \  }}| | d| S )z!Called by re.sub replace matches.\)groups)r0   backslashestexts      r   escape_backslashesz"escape.<locals>.escape_backslashes=   s-    !LLNNT4{44d444r    )r   r*   )r%   r.   r6   s      r   escaper7   0   sA    5%* 5 5 5 5 5
 W'00FMr    c              #   :  K   d}t           }t          }t                              |           D ]}|                                \  }}}|                                \  }}	||k    r|| ||         dfV  |rQ |t          |          d          \  }
}|
r|d|
z  dfV  ||
dz  z  }|r||t          |          d         dfV  |	}|                    d          \  }}}|d |||r|nd          fV  |	}|t          |           k     r|| |d         dfV  dS dS )zParse markup in to an iterable of tuples of (position, text, tag).

    Args:
        markup (str): A string containing console markup

    r   N   r2   r$   )divmodr   RE_TAGSfinditerr3   spanlen	partition)r%   position_divmod_Tagr0   	full_textescapestag_textstartendr4   escapedr5   equalsr   s                  r   _parserJ   F   s      HGD!!&))  ',||~~$	7HZZ\\
s8/5555 
	#*73w<<#;#; K )TK/5555q( Ys7||~~6<<<<#+#5#5c#:#: fjT44F&DjjEEEEEE#f++xyy)4////// r     Tstyleemojiemoji_variantc                    t           }d| vr t          |r || |          n| |          S t          |          }|j        }t          j        }g j        g }|j        }	t          }
t          }dt          dt          t          t          f         ffd}t          |           D ]\  }}}|/|                    dd          } ||r ||          n|           8|g|j                            d	          r	|j        d
d                                         }|rE ||          }	  ||          \  }}n[# t           $ r t#          d|j         d| d          dw xY w	              \  }}n"# t&          $ r t#          d| d          dw xY w|j                            d          r#|j        rd}|j                                        }t*                              |          }||                                \  }}|dn|}	 t1          |          }n\# t2          $ r'}t#          d|d|j        d|j                   d}~wt6          $ r }t#          d|j        d|           dd}~ww xY w|r|t9          |t:                    r|n|ff}nd} |	 |
|t=          |          t          |j        |i                               - |	 |
|t=          |          t          |                               _ | ||j                  |j                  }                    t=          |          |f           t=          |          }r@                                \  }}t          |          }|r |	 |
|||                     @t?          |ddd         tA          d                    |_!        |S )a9  Render console markup in to a Text instance.

    Args:
        markup (str): A string containing console markup.
        emoji (bool, optional): Also render emoji code. Defaults to True.

    Raises:
        MarkupError: If there is a syntax error in the markup.

    Returns:
        Text: A test instance.
    r"   )default_variant)rL   
style_namer   c                     t          t                    d          D ]!\  }\  }}|j        | k    r |           c S "t          |           )z"Pop tag matching given style name.r   )	enumeratereversedr   KeyError)rQ   index_tagpopstyle_stacks       r   	pop_stylezrender.<locals>.pop_style   sb    (+)>)>BB 	# 	#OE8Asx:%%sE6{{""" &z"""r    Nz\[/r   zclosing tag 'z' at position z doesn't match any open tagzclosing tag '[/]' at position z has nothing to close@rK   z()zerror parsing z in z; r-   )metarF   )key)"r   r   appendr   	normalizerY   r   r   r*   r   intrJ   replacer   
startswithstriprU   r   r%   
IndexErrorr   
RE_HANDLERr0   r3   r   SyntaxErrormsg	Exception
isinstancetupler>   sortedr   spans)r%   rL   rM   rN   emoji_replacer5   ra   rb   ro   append_span_SpanrB   r[   r@   
plain_textrX   rQ   rF   open_taghandler_namer   handler_matchmatch_parametersmeta_paramserrornormalized_tagtext_lengthrY   rZ   s                              @@r   renderr|   g   s   $ #M
&DIUMM&-@@@@v
 
 
 	
 eD[FI)+K
/CE,KED#c #eCHo # # # # # # # &,F^^ D@ D@!*c!#++E377JFE==,,,:FFFF_x""3'' >@ Xabb\//11
 $!*:!6!6J$*3)J*?*?xx# $ $ $)kCJkkhkkk #$$
$*-#%%xx% $ $ $)\X\\\ #$$
 =++C00 'H* )')%-%8%>%>%@%@
(2(8(8(D(D(4=J=Q=Q=S=S:L*:(8(@FV '	(*6z*B*BKK*   "- g g g8CV g g\a\e g g# #   ) ( ( ("- Q1D Q Q% Q Q# ##'((
 (  ,#-k5#A#A!4&1^	+K ')K!3t99e(-9U.V.V.V      KeSYYH F FGGGG "&ii&9&93>!J!J""CII~#>???d))K
 : __&&
sC 	:Ke[%88999	  : dddG)<)<===DJKs<   ,D;;'E"&E44FH
I6'"I		I6I11I6__main__)z[red]Hello World[/red]z[magenta]Hello [b]World[/b]z9[bold]Bold[italic] bold and italic [/bold]italic[/italic]zDClick [link=https://www.willmcgugan.com]here[/link] to visit my Blogz+:warning-emoji: [bold red blink] DANGER![/])print)TableMarkupResult)r   r   )padding)rK   TN)0reastr   operatorr   typingr   r   r   r   r	   r
   r   r   r   rM   r   errorsr   rL   r   r5   r   r   compileVERBOSEr;   rh   r   r*   _ReStringMatch_ReSubCallable_EscapeSubMethodsubr7   rc   rJ   boolr|   r&   MARKUPpip._vendor.richr~   pip._vendor.rich.tabler   gridr%   add_rowr-   r    r   <module>r      s   				             V V V V V V V V V V V V V V V V V V V V * * * * * *                          
"*%J 
 RZ011

 
 
 
 
* 
 
 
. s>*C/0^S1367 
 !+
+F G G K  	   ,03 08E#x}hsm*K$LM 0 0 0 0F  ",0	z zzez z L)	z
 
z z z zz z  F '&&&&&,,,,,,58V444D + +TT&\\6****	E$KKKKK% r    