
    g{              #       R   d dl Z d dlZd dlZd dlZd dlmZmZ 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mZmZmZmZmZmZmZ d dlmZ 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& ddl'm(Z( ddl)m*Z* ddl+m,Z, ddl-m.Z.m/Z/m0Z0m1Z1m2Z2 ddl3m4Z4 ddl5m6Z6m7Z7 ddl8m9Z9 ddl:m;Z; ddl<m=Z= ddl>m?Z? dd	l@m"Z" ddlAmBZB ej                  dk(  ZDdZEdZFdddddddeEeFdddd dd!d"ee.   d#eeG   d$eeG   d%eGd&eeH   d'eId(eId)eGd*eGd+eId,eeI   d-eId.eeeHef      d/eGd0eeeJ   eJee   gef   fd1ZKe G d2 d3             ZLe G d4 d5             ZMe G d6 d7             ZNe G d8 d9             ZO G d: d;e6      ZP G d< d=      ZQeRd>k(  r) eKd?       d dlZd@ed0dfdAZSd@ed0dfdBZTdDdCZU eU        yy)E    N)	dataclassfield)islice)walk_tb)
ModuleTypeTracebackType)
AnyCallableDictIterableListOptionalSequenceTupleTypeUnion)guess_lexer_for_filename)CommentKeywordNameNumberOperatorString)Text)Token)ClassNotFound   )pretty)	loop_last)Columns)ConsoleConsoleOptionsConsoleRenderableRenderResultgroup)	Constrain)RegexHighlighterReprHighlighter)Panel)render_scope)Style)Syntax)Themewin32
   P   d   X      FT )consolewidth
code_widthextra_linestheme	word_wrapshow_localslocals_max_lengthlocals_max_stringlocals_hide_dunderlocals_hide_sunderindent_guidessuppress
max_framesr5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   returnc                   	
 | t        d      n| j                  r
dn

dt        t           dt        dt        t
           ddf	
fdd	t        ddffd
}	 t               } ||       t        j                  S # t        $ r  t        j                  }t        _	        |cY S w xY w)a  Install a rich traceback handler.

    Once installed, any tracebacks will be printed with syntax highlighting and rich formatting.


    Args:
        console (Optional[Console], optional): Console to write exception to. Default uses internal Console instance.
        width (Optional[int], optional): Width (in characters) of traceback. Defaults to 100.
        code_width (Optional[int], optional): Code width (in characters) of traceback. Defaults to 88.
        extra_lines (int, optional): Extra lines of code. Defaults to 3.
        theme (Optional[str], optional): Pygments theme to use in traceback. Defaults to ``None`` which will pick
            a theme appropriate for the platform.
        word_wrap (bool, optional): Enable word wrapping of long lines. Defaults to False.
        show_locals (bool, optional): Enable display of local variables. Defaults to False.
        locals_max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
            Defaults to 10.
        locals_max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to 80.
        locals_hide_dunder (bool, optional): Hide locals prefixed with double underscore. Defaults to True.
        locals_hide_sunder (bool, optional): Hide locals prefixed with single underscore. Defaults to False.
        indent_guides (bool, optional): Enable indent guides in code and locals. Defaults to True.
        suppress (Sequence[Union[str, ModuleType]]): Optional sequence of modules or paths to exclude from traceback.

    Returns:
        Callable: The previous exception handler that was replaced.

    NT)stderrtype_value	tracebackrC   c                     j                  t        j                  | ||	t              
             y )Nr6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   )print	Tracebackfrom_exceptionbool)rF   rG   rH   r7   r8   r@   r>   r?   r<   r=   rB   r;   rA   r9   traceback_consoler6   r:   s      C/var/www/openai/venv/lib/python3.12/site-packages/rich/traceback.py
excepthookzinstall.<locals>.excepthookb   s\    
 	$$%'#'"3"3#5#'(:#;+!%! % 	
    ipc           	           i  j                   dt        dt        dd ffd}dddt        dt        dt        dd f fd _        | _         fd	 _        y )
NargskwargsrC   c                      | | i | y)zEwrap the default ip.showtraceback to store info for ip._showtracebackNr4   )rU   rV   default_showtracebacktb_datas     rP   ipy_show_tracebackzCinstall.<locals>.ipy_excepthook_closure.<locals>.ipy_show_traceback   s     G!4262rR   F)	is_syntaxr[   c                     	j                         }| rdn|d   }
j                  dd      }
j                  d|rdnd      }t        |      D ]  }| n|j                  }  |d   |d   |       i 
y)z2Internally called traceback from ip._showtracebackN   running_compiled_codeF	tb_offsetr   r   )_get_exc_infogetrangetb_next)r[   rU   rV   	exc_tupletbcompiledr_   _rQ   rS   rY   s           rP   ipy_display_tracebackzFinstall.<locals>.ipy_excepthook_closure.<locals>.ipy_display_traceback   s    
 ((*I 3<$1B {{#:EBHKhAFI9%:ZZ &
 y|Yq\26GrR   c                       | ddi|S )Nr[   Tr4   )rU   rV   rh   s     rP   <lambda>z9install.<locals>.ipy_excepthook_closure.<locals>.<lambda>   s    5J6
!6
%+6
rR   )showtracebackr	   rN   _showtracebackshowsyntaxerror)rS   rZ   rX   rh   rY   rQ   s   ` @@@rP   ipy_excepthook_closurez'install.<locals>.ipy_excepthook_closure|   st     " 0 0	3c 	3S 	3T 	3 +0		#'	;>		0 2-
rR   )r!   
is_jupyterr   BaseExceptionr   r   r	   get_ipythonsysrQ   	Exception)r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rn   rS   old_excepthookrQ   rO   s    `````````````   @@rP   installru   /   s    V 18t,W ((-?-G 	 
M"

 M*
 
	
 
 
4'
3 '
4 '
R	]r"~~ #	s   6!B &C Cc                       e Zd ZU eed<   eed<   eed<   dZeed<   dZee	ee
j                  f      ed<   dZeeeeef   eeef   f      ed<   y)	Framefilenamelinenoname lineNlocalslast_instruction)__name__
__module____qualname__str__annotations__intr|   r}   r   r   r   Noder~   r   r4   rR   rP   rw   rw      sa    MK
ID#N/3FHT#v{{*+,3JNhuU38_eCHo%EFGNrR   rw   c                   @    e Zd ZU eed<   eed<   eed<   eed<   eed<   y)_SyntaxErroroffsetrx   r|   ry   msgN)r   r   r   r   r   r   r4   rR   rP   r   r      s    KM
IK	HrR   r   c                   f    e Zd ZU eed<   eed<   dZee   ed<   dZe	ed<    e
e      Zee   ed<   y)	Stackexc_type	exc_valueNsyntax_errorFis_cause)default_factoryframes)r   r   r   r   r   r   r   r   r   rN   r   listr   r   rw   r4   rR   rP   r   r      s8    MN+/L(<(/Hd5FDK5rR   r   c                       e Zd ZU ee   ed<   y)TracestacksN)r   r   r   r   r   r   r4   rR   rP   r   r      s    KrR   r   c                       e Zd ZdgZy)PathHighlighterz(?P<dim>.*/)(?P<bold>.+)N)r   r   r   
highlightsr4   rR   rP   r   r      s
    -.JrR   r   c            $          e Zd ZdZddddddZ	 d/dd	d
dddeedddddddee   dee	   dee	   de	dee
   dedede	de	dedededeee
ef      de	fdZedd	d
dddeedddddddee   ded ee   dee	   dee	   de	dee
   dedede	de	dedededeee
ef      de	d!d f"d"       Zedeeddd#dee   ded ee   dede	de	deded!efd$       Zd%ed&ed!efd'Z e       d(ed!efd)       Zed*e
d+e
d!e
fd,       Z e       d-ed!efd.       Z y)0rL   a  A Console renderable that renders a traceback.

    Args:
        trace (Trace, optional): A `Trace` object produced from `extract`. Defaults to None, which uses
            the last exception.
        width (Optional[int], optional): Number of characters used to traceback. Defaults to 100.
        code_width (Optional[int], optional): Number of code characters used to traceback. Defaults to 88.
        extra_lines (int, optional): Additional lines of code to render. Defaults to 3.
        theme (str, optional): Override pygments theme used in traceback.
        word_wrap (bool, optional): Enable word wrapping of long lines. Defaults to False.
        show_locals (bool, optional): Enable display of local variables. Defaults to False.
        indent_guides (bool, optional): Enable indent guides in code and locals. Defaults to True.
        locals_max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
            Defaults to 10.
        locals_max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to 80.
        locals_hide_dunder (bool, optional): Hide locals prefixed with double underscore. Defaults to True.
        locals_hide_sunder (bool, optional): Hide locals prefixed with single underscore. Defaults to False.
        suppress (Sequence[Union[str, ModuleType]]): Optional sequence of modules or paths to exclude from traceback.
        max_frames (int): Maximum number of frames to show in a traceback, 0 for no maximum. Defaults to 100.

    textpythoncythonpyrex)r{   z.pyz.pxdz.pyxz.pxiNr1   r2   r3   FTr4   rJ   tracer6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   c                   |>t        j                         \  }}}|||t        d      | j                  ||||      }|| _        || _        || _        || _        t        j                  |xs d      | _
        || _        || _        || _        || _        |	| _        |
| _        || _        g | _        |D ]  }t'        |t(              s@|j*                  
J |d       t,        j.                  j1                  |j*                        }n|}t,        j.                  j3                  t,        j.                  j5                  |            }| j$                  j7                  |        |dkD  rt9        d|      | _        y d| _        y )Nz9Value for 'trace' required if not called in except: blockr;   	ansi_darkz+ must be a module with '__file__' attributer      )rr   exc_info
ValueErrorextractr   r6   r7   r8   r,   	get_themer9   r:   r;   r@   r<   r=   r>   r?   rA   
isinstancer   __file__ospathdirnamenormpathabspathappendmaxrB   )selfr   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   r   r   rH   suppress_entityr   s                       rP   __init__zTraceback.__init__   st   $ =-0\\^*Hi9#4	8I O  LL)YK ! E 

$&%%e&:{;
"&*!2!2"4"4')'Oos3#,,8U%((STU8ww'?'?@&77##BGGOOD$9:DMM  &  ( 1;Q#a,ArR   r   r   rH   rC   c                `    | j                  ||||	|
|||      } | |||||||	||
|||||      S )a  Create a traceback from exception info

        Args:
            exc_type (Type[BaseException]): Exception type.
            exc_value (BaseException): Exception value.
            traceback (TracebackType): Python Traceback object.
            width (Optional[int], optional): Number of characters used to traceback. Defaults to 100.
            code_width (Optional[int], optional): Number of code characters used to traceback. Defaults to 88.
            extra_lines (int, optional): Additional lines of code to render. Defaults to 3.
            theme (str, optional): Override pygments theme used in traceback.
            word_wrap (bool, optional): Enable word wrapping of long lines. Defaults to False.
            show_locals (bool, optional): Enable display of local variables. Defaults to False.
            indent_guides (bool, optional): Enable indent guides in code and locals. Defaults to True.
            locals_max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
                Defaults to 10.
            locals_max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to 80.
            locals_hide_dunder (bool, optional): Hide locals prefixed with double underscore. Defaults to True.
            locals_hide_sunder (bool, optional): Hide locals prefixed with single underscore. Defaults to False.
            suppress (Iterable[Union[str, ModuleType]]): Optional sequence of modules or paths to exclude from traceback.
            max_frames (int): Maximum number of frames to show in a traceback, 0 for no maximum. Defaults to 100.

        Returns:
            Traceback: A Traceback instance that may be printed.
        r;   r<   r=   r>   r?   )r6   r7   r8   r9   r:   r;   r@   r<   r=   r>   r?   rA   rB   )r   )clsr   r   rH   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rich_tracebacks                     rP   rM   zTraceback.from_exception*  si    Z #//11 % 	
 !##'//11!
 	
rR   r   c                   g }	d}
ddl m} dt        dt        fd}	 t	         ||j
                         ||      |
      }t        |t              rWt        |j                  xs d|j                  xs d	|j                  xs d|j                  xs d
|j                        |_        |	j                  |       |j                   j                  }dt"        t$        t        t&        f      dt"        t$        t        t&        f      ffd}t)        |      D ]  \  }}|j*                  j,                  }d}t.        j0                  dk\  rW|j2                  dz  }t5        t7        |j*                  j9                         ||dz               }|\  }}}}|||
|||f||ff}|rP|j;                  d      s?t<        j>                  jA                  |      s t<        j>                  jC                  ||      }|jD                  jG                  dd      rtI        |xs d	||j*                  jJ                  |rt ||jD                  jM                               D ci c]H  \  }}tO        jP                  |      s.tO        jR                  |      s|tU        jV                  |||      J c}}nd|      } ||       |jD                  jG                  dd      s|j                   dd=  tY        |dd      }|r|jZ                  }|}|j\                  }d}
|j^                  }|r+tY        |dd      s|jZ                  }|}|j\                  }d}
-	 ta        |	      }|S c c}}w )a  Extract traceback information.

        Args:
            exc_type (Type[BaseException]): Exception type.
            exc_value (BaseException): Exception value.
            traceback (TracebackType): Python Traceback object.
            show_locals (bool, optional): Enable display of local variables. Defaults to False.
            locals_max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
                Defaults to 10.
            locals_max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to 80.
            locals_hide_dunder (bool, optional): Hide locals prefixed with double underscore. Defaults to True.
            locals_hide_sunder (bool, optional): Hide locals prefixed with single underscore. Defaults to False.

        Returns:
            Trace: A Trace instance which you can use to construct a `Traceback`.
        Fr   )_IMPORT_CWD_objectrC   c                 8    	 t        |       S # t        $ r Y yw xY w)z1Don't allow exceptions from __str__ to propagate.z<exception str() failed>)r   rs   )r   s    rP   safe_strz#Traceback.extract.<locals>.safe_str  s#    27|# 212s   
 	T)r   r   r   ?r{   )r   rx   ry   r|   r   iter_localsc              3      K   ss| E d{    y| D ]3  \  }}r|j                  d      rr|j                  d      r.||f 5 y7 >w)z-Extract locals from an iterator of key pairs.N__rg   
startswith)r   keyrG   r>   r?   s      rP   
get_localsz%Traceback.extract.<locals>.get_locals  sZ      +.@***"-JC)cnnT.B )cnnS.A u*$ #. +s   
AA?AN)r3      r]   r   <_rich_traceback_omit)
max_length
max_string)rx   ry   rz   r}   r~   _rich_traceback_guard	__cause____suppress_context__)r   )1richr   r	   r   r   r   r   SyntaxErrorr   r   rx   ry   r   r   r   r   r   r   r   objectr   f_codeco_filenamerr   version_infof_lastinextr   co_positionsr   r   r   isabsjoinf_localsra   rw   co_nameitemsinspect
isfunctionisclassr   traversegetattr	__class____traceback____context__r   )r   r   r   rH   r;   r<   r=   r>   r?   r   r   r   r   stackr   r   frame_summaryline_norx   r~   instruction_indexinstruction_position
start_lineend_linestart_column
end_columnr   rG   framecauser   s          ``                      rP   r   zTraceback.extracts  s]   < !$	2c 	2c 	2 !("3"34"9-!E )[1%1$++0q&//63$++0q"-2!&" MM% \\((F%%eCK&89%%V,-% +2)*<&w(//;; $( ##w.(5(=(=(B%+/)00==?--1,( -" $" #.$0(4&2 (6%z2,(
 H$7$7$<77==2#%77<<X#F ))--.DeL%_"&--55 ' /99O9O9U9U9W.X /Y
U$+$6$6u$=QVAW   %+<+<" 
 /Y "%5#& u ))--.EuMQu +=x I{D9E ??!	 "//	))EWY0FN ??!	!//	 V$Os   AMr5   optionsc              #     K   | j                   }|j                         }|j                  }t        i d |t              d |t
              d |t              d |t        j                        d |t              d |t              t        d      z   d	 |t              d
 |t              t        d      z   d |t              d |t        j                        d |t        j                        d |t        j                        d |t        j                        d |t              d |t              d |t        j                        t        d      z   d      }t!               }t#        t%        | j&                  j(                              D ]  \  }}	|	j*                  rTt-        | j/                  |	      d|ddd      }
t1        |
| j2                        }
|j5                  |      5  |
 d d d        |	j6                  |j5                  |      5  t1        t-        | j9                  |	j6                        |ddd| j2                        | j2                         d d d        t;        j<                  |	j>                   ddf ||	j6                  j@                               nh|	jB                  r8t;        j<                  |	j>                   ddf ||	jB                               n$t;        j<                  |	j>                   df       |r|	jD                  rt;        jF                  d       t;        jF                  d        y # 1 sw Y   hxY w# 1 sw Y   xY ww) Nr   pygments.textpygments.stringpygments.functionpygments.numberzrepr.indentT)dimzrepr.strz
repr.brace)boldzrepr.numberzrepr.bool_truezrepr.bool_falsez	repr.nonezscope.borderzscope.equalsz	scope.keyzscope.key.specialF)inheritz7[traceback.title]Traceback [dim](most recent call last)ztraceback.border)r   r   )titlestyleborder_styleexpandpaddingztraceback.border.syntax_error)r   r   r   r   r6   z: ztraceback.exc_typezI
[i]The above exception was the direct cause of the following exception:
zH
[i]During handling of the above exception, another exception occurred:
)$r9   get_background_styleget_style_for_tokenr-   	TextTokenr   r   r   Functionr   r   r+   r   Constant	Delimiterr   r(   r   reversedr   r   r   r)   _render_stackr&   r6   	use_themer   _render_syntax_errorr   assembler   r   r   r   from_markup)r   r5   r   r9   background_styletoken_styletraceback_themehighlighterlastr   stack_renderables              rP   __rich_console__zTraceback.__rich_console__  sS     

 557//+i0U!3 ";v#6 $[%?	
 ";v#6 {73eoE K/ k)4u$7GG {62 !+g.>.>"? ";w/?/?#@ [)9)9: F,<,< = H 5 [.  $[%?%D/%Q!$ '
, &'$Xdjj.?.?%@AKD%||6;&&u-S*!3"7  $--=tzz#J &&7** 8!!-&&7# 55e6H6HI"2)H#'$*"&** 


 
 8 mm'r*,@A 2 2 6 67  mm'r*,@A0 
 mm'7:N$OPP>>**e  **d Y B 87 87s?   G5M<7M"<%M<!AM/,B4M<"A M<"M,	'M</M9	4M<r   c              #   8  K   t               }t               }|j                  dk7  rpt        j                  j                  |j                        rGt        j                  d|j                   dfdt        |j                        dfd      } ||        ||j                  j                               }d|_        t        |j                  d	z
  t        |            }|j!                  d
||       |t        j"                  dd|z  z   dz   d      z  }| y w)Nz<stdin> r   :r   r   r   r   Tr   zbold underline
u   [traceback.offset]▲[/])r(   r   rx   r   r   existsr   r  r   ry   r|   rstripno_wrapminr   lenstylizer  )r   r   r
  path_highlighterr   syntax_error_textr   s          rP   r  zTraceback._render_syntax_error_  s    %'*,  I-ww~~l334}}../02CD*,,-/@A)	 't,,'(9(9(@(@(BC$(!\((1,c2C.DE!!"2FFCT--3<"<<!
 	
  s   DDrx   codec                 R   t         j                  j                  |      d   }|sA|j                  d      }|dk7  r|d | n|}|j	                  d      rd|j                         v ry	 | j                  j                  |      xs t        ||      j                  S # t        $ r Y yw xY w)Nr  z#!r   r   )r   r   splitextindexr   lowerLEXERSra   r   rz   r   )r   rx   r  extnew_line_index
first_lines         rP   _guess_lexerzTraceback._guess_lexerv  s    ggx(, "ZZ-N2@B2Fo~.DJ$$T*x:;K;K;M/M	::>>#&W*B8T*R*W*WW 		s   '2B 	B&%B&r   c              #      K   t               } j                  }dt        dt        fd}dt        dt        t
           f fd}d } j                  dk7  r<t         j                  dz  t        |j                         j                  dz  z
        }d}t        |j                        D ]p  \  }}	|r||v rd	}|r#|J t        d
t        |       ddd       d}|dk(  }
|	j                  t        fd j                  D              }t        j                   j#                  |	j                        rXt        j$                   |t        |	j                  d            dt        |	j&                        dfd|	j(                  dfd      }n;t        j$                  d|	j(                  dfdt        |	j&                        dfd      }|	j                  j+                  d      s|
sd | |	j                  j+                  d      r ||	      E d {    r|rv	  ||	j                        }|s j-                  |	j                  |      }t/        |||d	|	j&                   j0                  z
  |	j&                   j0                  z   f|	j&                  h j2                   j4                   j6                  d
      }d |	j8                  $|	j8                  \  }}|j;                  d||d	       |	j<                  rt?        |g ||	      d      n| s y 7 
# t@        $ r'}t        j$                  d| df       Y d }~d }~ww xY ww) Nrx   rC   c                 J    dj                  t        j                  |             S )zRead files, and cache results on filename.

            Args:
                filename (str): Filename to read

            Returns:
                str: Contents of file
            r{   )r   	linecachegetlines)rx   s    rP   	read_codez*Traceback._render_stack.<locals>.read_code  s     779--h788rR   r   c              3      K   | j                   r;t        | j                   dj                  j                  j                         y y w)Nr}   )r   r@   r   r   )r}   r*   r@   r<   r=   )r   r   s    rP   render_localsz.Traceback._render_stack.<locals>.render_locals  sE     ||"LL""&"4"4#55#55  s   A	Ar   r]   FTz
... z frames hidden ...centerztraceback.error)justifyr   c              3   @   K   | ]  }j                  |        y wNr   ).0r   frame_filenames     rP   	<genexpr>z*Traceback._render_stack.<locals>.<genexpr>  s     W^66t<s   r   r  r  r   z in r   r   zin r   r{   )r9   line_numbers
line_rangehighlight_linesr:   r7   r@   dedentztraceback.error_range)r   startendstyle_beforer   )r   r  )!r   r9   r   rw   r   r#   rB   rb   r  r   	enumerater   rx   anyrA   r   r   r  r  ry   rz   r   r&  r,   r8   r:   r7   r@   r~   stylize_ranger}   r    rs   )r   r   r  r9   r+  r-  exclude_framesexcludedframe_indexr   first
suppressedr   r  
lexer_namesyntaxr9  r:  errorr3  s   `                  @rP   r  zTraceback._render_stack  sD    *,

		9 		9 		9	 	84E+F 	 +/??a"1$ELL!DOOq$88N
 "+ELL"9K+"?%111S011CD$+ 
 !1$E"^^NWWWJww~~enn-}}$T%..@Q%RS*&(9:ZZ!45) }}ZZ!45*&(9:) >>,,S1%J~~((-(///.$U^^4D !!%!2!25>>4!HJ#"#%)!LL4+;+;;!LL4+;+;;$ */"&..#'??&*&8&8$F H --9%*%;%;
s,,"9"' #)-	 -  !<<   &!.u!5 %& $
] #:N 04 ! --eW'89  sJ   HMLML 3M5BL AM 	M)MMMMr1  )!r   r   r   __doc__r"  LOCALS_MAX_LENGTHLOCALS_MAX_STRINGr   r   r   r   rN   r   r   r   r   classmethodr   r	   rp   r   rM   r   r!   r"   r$   r  r%   r   r  r&  r   r  r4   rR   rP   rL   rL      sV   . F "&3F  #$&#!!2!2#'#("57!3F3F }	3F
 SM3F 3F }3F 3F 3F 3F 3F !3F !3F 3F 5j123F  !3Fj   #$&#!!2!2#'#("57%F
s)F
 !F
 M*	F
 }F
 SMF
 F
 }F
 F
 F
 F
 F
 !F
 !F
  !F
" 5j12#F
$ %F
& 
'F
 F
P  "!2!2#'#([}%[ ![ M*	[ [ [ [ ![ ![ 
[ [zLL)7L	L\ W   ,    , C s s   Wy5 y\ y yrR   rL   __main__r   ac                 $    d}t        || z         y )Nr   )rK   )rL  ones     rP   barrO    s     cAgrR   c                 ,    d}h ddd}t        |        y )NT>   Duncan IdahoThufir HawatPaul AtreidesVladimir Harkonnen)NFT)
charactersatomic_types)rO  )rL  r   zeds      rP   foorX    s"     $ 0
 	ArR   c                      t        d       y )Nr   )rX  r4   rR   rP   rF  rF    s	    ArR   )rC   N)Vr   r)  r   rr   dataclassesr   r   	itertoolsr   rH   r   typesr   r   typingr	   r
   r   r   r   r   r   r   r   r   pygments.lexersr   pygments.tokenr   r   r   r   r   r   r   r   r   pygments.utilr   r{   r   _loopr   columnsr    r5   r!   r"   r#   r$   r%   	constrainr&   r
  r'   r(   panelr)   scoper*   r   r+   rE  r,   r   r9   r-   platformWINDOWSrH  rI  r   r   rN   rp   ru   rw   r   r   r   r   rL   r   rO  rX  rF  r4   rR   rP   <module>rh     sd     	 
 (   +   5 K K ,   '    T T   :      
,,'
!  
 "& "..#)-13g C= 	
  C=      !  uS*_-.   tM"M8M3JKSPQ!D O O O    6 6 6   /& /j jZ z	s t  
G5 rR   