
     c               	          d dl Z d dlZd dlmZ d dlmZ d dlmZ d dl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 d dlmZ d dlmZ d dlmZ  G d d          ZdefdZe dk    r e	 ej!                    d          Z" e            Z# e            Z$e"%                    e#            e& e            e$z
  dz  d          Z' ej!                    e"_(         e            Z$e"%                    e#            e& e            e$z
  dz  d          Z) e	d          Z*e*%                    e#            e%de' d            e%de) d           d dl+m,Z,  e	            Z" ej-        d          Z.e./                    dd           e./                    d            e.0                    d!d"           e.0                    d#d$            ej1        d%          Z2 ej-        d&          Z3e3/                                 e3/                    d            e30                    e2e.           e"%                     e,j4        e3ej5        d'd(d)*          d+,           dS dS )-    N)process_time)box)Color)ConsoleConsoleOptionsGroupRenderableTypeRenderResult)Markdown)Measurement)Pretty)Segment)Style)Syntax)Table)Textc                   6    e Zd ZdededefdZdddedefdZdS )ColorBoxconsoleoptionsreturnc           	   #     K   t          dd          D ]}t          |j                  D ]}||j        z  }d|dz  dz  z   }t          j        ||d          \  }}}	t          j        ||dz   d          \  }
}}t	          j        |dz  |dz  |	dz            }t	          j        |
dz  |dz  |dz            }t          dt          ||	                    V  t          j                    V  d S )
Nr      g?gffffff?g      ?gQ?   u   ▄)colorbgcolor)	range	max_widthcolorsys
hls_to_rgbr   from_rgbr   r   line)selfr   r   yxhlr1g1b1r2g2b2r   r   s                  //usr/lib/python3/dist-packages/rich/__main__.py__rich_console__zColorBox.__rich_console__   s      q! 		! 		!A7,-- J J))AES=)%0As;;
B%0AL#FF
B.c28R#XFFrCxc28DDeU%H%H%HIIIIII,..    		! 		!    r   c                 ,    t          d|j                  S )N   )r   r   )r#   r   r   s      r.   __rich_measure__zColorBox.__rich_measure__!   s     1g/000r0   N)	__name__
__module____qualname__r   r   r
   r/   r   r3    r0   r.   r   r      sl        !!)7!	! ! ! !1 1+91	1 1 1 1 1 1r0   r   r   c                  X   t          j        dd          } d| _        |                     dddd           |                     d	           t          d
dddd          }|                    dt                                 |                     d|           |                     dd           d}t          j        dd          }d|_        |                    t          |dd          t          |dd          t          |dd          t          |dd                     |                     dt          t          j	        d          |                     dt          dt          dt           fd }|                     d!d"           d#}|                     d$|           t          dddd%d&gt          j        '          }|                    d(dd)           |                    d*d+           |                    d,d-dd.           |                    d/d0dd.           |                    d1d2d3d4           |                    d5d6d3d7           |                    d8d9d:d;           |                    d<d=d>d?           |                     d@|           dA}dBdCgdDdE}|                     dF |t          |dGddH          t          |dI                               dJ}	|                     dK |dL|	z   t          |	                               |                     dMdN           | S )Oz8Get a renderable that demonstrates a number of features.r2   T)paddingpad_edgezRich featuresFeaturecenterzbold red)no_wrapjustifystyleDemonstrationNF)r   expandshow_header	show_edger:   u   ✓ [bold green]4-bit color[/]
✓ [bold blue]8-bit color[/]
✓ [bold magenta]Truecolor (16.7 million)[/]
✓ [bold yellow]Dumb terminals[/]
✓ [bold cyan]Automatic color conversionColorsStyleszAll ansi styles: [bold]bold[/], [dim]dim[/], [italic]italic[/italic], [underline]underline[/], [strike]strikethrough[/], [reverse]reverse[/], and even [blink]blink[/].zLorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque in metus sed sapien ultricies pretium a at justo. Maecenas luctus velit et auctor maximus.)r9   collapse_paddingleftgreen)r>   r?   yellowrightbluefullredr   z[Word wrap text. Justify [green]left[/], [yellow]center[/], [blue]right[/] or [red]full[/].
renderable1renderable2r   c                     t          ddd d          }|                    dd           |                    dd           |                    | |           |S )NFT)rB   r:   r   rA   1r2   )ratio2)r   
add_columnadd_row)rN   rO   tables      r.   
comparisonz"make_test_card.<locals>.comparisonZ   sc    %%T$OOOA&&&A&&&k;///r0   zAsian
language
supportu!  :flag_for_china:  该库支持中文，日文和韩文文本！
:flag_for_japan:  ライブラリは中国語、日本語、韓国語のテキストをサポートしています
:flag_for_south_korea:  이 라이브러리는 중국어, 일본어 및 한국어 텍스트를 지원합니다z[bold magenta]Rich[/] supports a simple [i]bbcode[/i]-like [b]markup[/b] for [yellow]color[/], [underline]style[/], and emoji! :+1: :apple: :ant: :bear: :baguette_bread: :bus: Markupnonedim)rC   rB   rA   
row_stylesr   z[green]Date)r?   r=   z[blue]Title)r?   z[cyan]Production Budgetcyan)r?   r>   r=   z[magenta]Box OfficemagentazDec 20, 2019z Star Wars: The Rise of Skywalkerz$275,000,000z$375,126,118zMay 25, 2018z[b]Solo[/]: A Star Wars Storyz$393,151,347zDec 15, 2017z!Star Wars Ep. VIII: The Last Jediz$262,000,000z[bold]$1,332,539,889[/bold]zMay 19, 1999z-Star Wars Ep. [b]I[/b]: [i]The phantom Menacez$115,000,000z$1,027,044,677Tablesa~  def iter_last(values: Iterable[T]) -> Iterable[Tuple[bool, T]]:
    """Iterate and generate a tuple with a flag for last value."""
    iter_values = iter(values)
    try:
        previous_value = next(iter_values)
    except StopIteration:
        return
    for value in iter_values:
        yield False, previous_value
        previous_value = value
    yield True, previous_valueg?$	@)zPaul AtreideszVladimir HarkonnenzThufir Hawat)FTN)fooatomicz%Syntax
highlighting
&
pretty
printingpython3)line_numbersindent_guides)rc   z# Markdown

Supports much of the *markdown* __syntax__!

- Headers
- Basic formatting: **bold**, *italic*, `code`
- Block quotes
- Lists, and more...
    r   z[cyan]z+more!zBProgress bars, columns, styled logging handler, tracebacks, etc...)r   gridtitlerT   rU   r   r:   r   r   from_markupr	   r   SIMPLEr   r   r   )
rV   color_tableloremlorem_tablerW   markup_exampleexample_tablecodepretty_datamarkdown_examples
             r.   make_test_cardrp   '   s8   Jq4000E!EK	YhjQQQ	_%%%  K 8 	

	 	 	 
MM(K(((	MM 	r  
 jE*Q>>>K KUF'222UHH555UG6222UF%000	   
MMr  		
 	
   ^ PU     
MM" 	n  	<  
MM(N+++E?J  M ]'4HHH]&999!	     	     *	   '	   +%	   7	   
MM(M***"D 
 &
 
K 
MM3
4TJJJ;d333	
 	
  	 
MMJJx*::HEU<V<VWW   
MMP   Lr0   __main__T)fileforce_terminalg     @@r2   )recordzrendered in zms (cold cache)zms (warm cache))Panel)r9   rH   rJ   )r?   r>   )r=   
TextualizezH[u blue link=https://github.com/textualize]https://github.com/textualizeTwitterzL[u blue link=https://twitter.com/willmcgugan]https://twitter.com/willmcguganzWe hope you enjoy using Rich!

Rich is maintained with [red]:heart:[/] by [link=https://www.textualize.io]Textualize.io[/]

- Will McGugan   )r2   rx   z"[b red]Thanks for trying out Rich!bright_blue)r   r9   re   border_styler<   )r>   )6r   iotimer   richr   
rich.colorr   rich.consoler   r   r   r	   r
   rich.markdownr   rich.measurer   rich.prettyr   rich.segmentr   
rich.styler   rich.syntaxr   
rich.tabler   	rich.textr   r   rp   r4   StringIOr   	test_cardstartprintroundpre_cache_takenrr   takenc
rich.panelru   rd   sponsor_messagerT   rU   rf   intro_messagemessagefitROUNDEDr7   r0   r.   <module>r      s    				                   U U U U U U U U U U U U U U " " " " " " $ $ $ $ $ $                                          1 1 1 1 1 1 1 1*g g g g gT zgR[]]  G   I LNNEMM)e\\^^e3v=qAAO2;==GLLNNEMM)E<<>>E)V3Q77EtAGGI	E
9
9
9
9:::	E
/
/
/
/000      giiG ej+++OWg>>>t,,,R   V  
 %D$	 M ej###Gt$$$OOM?333MM	6&	
 	
 	
   	 	 	 	 	q r0   