
    g
                    *   d dl mZ d dlZd dlZd dlmZmZmZmZm	Z	 er(d dl
mZ d dlmZ ej                  dk\  rd dlmZ nd dlmZ  G d d	      Ze		 	 dd
d	 	 	 	 	 	 	 	 	 dd       Ze		 	 dd
d	 	 	 	 	 	 	 	 	 dd       Z	 	 ddd	 	 	 	 	 	 	 	 	 ddZy)    )annotationsN)TYPE_CHECKINGAnyCallableLiteraloverload)PathLike)ReadableBuffer)      )Selfc                  0    e Zd ZdZddZddZd	dZd
dZy)_CatchDisplayz+Class to temporarily catch sys.displayhook.c                    d | _         y Noutputselfs    J/var/www/openai/venv/lib/python3.12/site-packages/altair/utils/execeval.py__init__z_CatchDisplay.__init__   s	    "&    c                F    t         j                  | _        | t         _        | S r   )sysdisplayhookold_hookr   s    r   	__enter__z_CatchDisplay.__enter__   s    14r   c                .    | j                   t        _        y)NF)r   r   r   )r   typevalue	tracebacks       r   __exit__z_CatchDisplay.__exit__   s    --r   c                    || _         y r   r   )r   r   s     r   __call__z_CatchDisplay.__call__"   s	    r   N)returnNone)r%   r   )r%   Literal[False])r   r   r%   r&   )__name__
__module____qualname____doc__r   r   r"   r$    r   r   r   r      s    5'

r   r   .)strictc                    y r   r,   code	namespacefilenamer-   s       r   
eval_blockr3   &   s     r   c                    y r   r,   r/   s       r   r3   r3   .   s     r   Fc               X   t        j                  | dd      }|i }t               }t        |j                  d   t         j
                        r|j                  dd |j                  dd }}n|j                  g }}|D ]1  }t        t        j                  |gg       |d      }	t        |	|       3 |5  |D ]0  }t        t        j                  |g      |d      }	t        |	|       2 	 ddd       |r |j                  }
|
d|
}t        |      |
S |j                  S # 1 sw Y   7xY w)z
    Execute a multi-line block of code in the given namespace.

    If the final statement in the code is an expression, return
    the result of the expression.

    If ``strict``, raise a ``TypeError`` when the return value would be ``None``.
    z<ast>exec)r2   modeNsinglez"Expected a non-None value but got )astparser   
isinstancebodyExprcompileModuler6   Interactiver   	TypeError)r0   r1   r2   r-   treecatch_displayto_execto_evalnodecompiledr   msgs               r   r3   r3   6   s    99TG&9D	!OM$))B-*99Sb>499RS>99b3::tfb1H6RXy!  
D'(H 9%	  
 %%>6vjACC. M### 
s   36D  D))..)
r0   	str | Anyr1   dict[str, Any] | Noner2   $str | ReadableBuffer | PathLike[Any]r-   r'   r%   
Any | None)
r0   rJ   r1   rK   r2   rL   r-   zLiteral[True]r%   r   )Nz<string>)
r0   rJ   r1   rK   r2   rL   r-   boolr%   rM   )
__future__r   r:   r   typingr   r   r   r   r   osr	   	_typeshedr
   version_infor   typing_extensionsr   r3   r,   r   r   <module>rU      s(   " 
 
 B B(
7"* ( 
 (+58
 !
$ 3
   
 
 (+58
  
$ 3
  	 
 (,5?,$
 ,$
,$$,$ 3,$
 ,$ ,$r   