
    miJ                        U d 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mZmZmZmZmZmZmZmZmZ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"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 ee8e9ef         e9f         Z:e	e;d<    G d	 d
          Z<dd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ZAdede<de:fdZBdede<de:fdZCdede:fdZDdede:fdZEdede:fdZFdede:fdZGdede:fdZHdede:fdZIdede<de:fdZJdede:fdZKdede:fdZLdede:fd ZMdede:fd!ZNdede:fd"ZOd#e-de:fd$ZPde&de:fd%ZQde%de:fd&ZRde.de:fd'ZSde#de:fd(ZTde(de:fd)ZUde5de:fd*ZVde,de:fd+ZWde'de:fd,ZXde2de:fd-ZYde$de:fd.ZZde)de:fd/Z[de0de:fd0Z\de4de:fd1Z]de6de:fd2Z^de+de:fd3Z_de1de:fd4Z`de*de:fd5Zade/de:fd6Zbde3de:fd7Zcd:d8Zdeed9k    r ed             dS dS );aX  Tool to convert mypy cache file to a JSON format (print to stdout).

Usage:
   python -m mypy.exportjson .mypy_cache/.../my_module.data.ff

The idea is to make caches introspectable once we've switched to a binary
cache format and removed support for the older JSON cache format.

This is primarily to support existing use cases that need to inspect
cache files, and to support debugging mypy caching issues. This means that
this doesn't necessarily need to be kept 1:1 up to date with changes in the
binary cache format (to simplify maintenance -- we don't want this to slow
down mypy development).
    N)AnyUnion)	TypeAlias)
ReadBuffer)FUNCBASE_FLAGSFUNCDEF_FLAGS	VAR_FLAGSClassDefDataclassTransformSpec	DecoratorFuncDefMypyFileOverloadedFuncDefOverloadPartParamSpecExpr
SymbolNodeSymbolTableSymbolTableNoder   TypeInfoTypeVarExprTypeVarTupleExprVar	get_flags
node_kinds)	NOT_READYAnyTypeCallableType
ExtraAttrsInstanceLiteralTypeNoneType
Overloaded
ParametersParamSpecType	TupleTypeTypeTypeAliasTypeTypedDictTypeTypeTypeTypeVarTupleTypeTypeVarTypeUnboundTypeUninhabitedType	UnionType
UnpackTypeget_proper_typeJsonc                   $    e Zd ZdddeddfdZdS )ConfigTimplicit_namesr5   returnNc                    || _         d S Nr4   )selfr5   s     g/var/www/html/bestrading.cuttalo.com/scripts/kaggle-env/lib/python3.11/site-packages/mypy/exportjson.py__init__zConfig.__init__L   s    ,    )__name__
__module____qualname__boolr;    r<   r:   r3   r3   K   sC        15 - - -$ -$ - - - - - -r<   r3   Tr4   datar5   r6   c                    t          j        t          |                     }t          |t	          |                    S )Nr4   )r   readr   convert_mypy_file_to_jsonr3   )rB   r5   trees      r:   convert_binary_cache_to_jsonrG   P   s4    =D))**D$T6+P+P+PQQQr<   r9   cfgc           	          d| j         t          | j        |          | j        | j        | j        t          | j                  dS )Nr   ).class	_fullnamenamesis_stubpathis_partial_stub_packagefuture_import_flags)rK   convert_symbol_tablerL   rM   rN   rO   sortedrP   r9   rH   s     r:   rE   rE   U   sF    ^%dj#66<	#'#?%d&>??  r<   c                     ddi}|                                  D ]2\  }}|dk    s|j        r|j        s|dv rt          ||          ||<   3|S )NrJ   r   __builtins__>   __doc____file__r=   __spec____package____annotations__)itemsno_serializer5   convert_symbol_table_node)r9   rH   rB   keyvalues        r:   rQ   rQ   a   sz    $m4Djjll : :
U
 .  E$6 ! 	c .
 '
 '
 -eS99S		Kr<   c                     dt           | j                 d}| j        rd|d<   | j        sd|d<   | j        rd|d<   | j        rd|d<   | j        r| j        |d	<   n| j        t          | j        |          |d
<   |S )Nr   )rJ   kindTmodule_hiddenFmodule_publicimplicitplugin_generated	cross_refnode)	r   ra   rb   rc   rd   re   rf   rg   convert_symbol_noder9   rH   rB   s      r:   r]   r]   w   s    &7DIAVWWD % $_ & %_}  Z (#' ~ ; N[		*49c::VKr<   c                    t          | t                    rt          |           S t          | t                    rt	          |           S t          | t
                    rt          |           S t          | t                    rt          |           S t          | t                    rt          | |          S t          | t                    rt          |           S t          | t                    rt          |           S t          | t                    rt!          |           S t          | t"                    rt%          |           S dt'          |           diS NERRORz unrecognized)
isinstancer   convert_func_defr   convert_overloaded_func_defr   convert_decoratorr   convert_varr   convert_type_infor   convert_type_aliasr   convert_type_var_exprr   convert_param_spec_exprr   convert_type_var_tuple_exprtyperS   s     r:   rh   rh      s@   $   1%%%	D+	,	, 1*4000	D)	$	$ 1 &&&	D#		 14   	D(	#	# 	1 s+++	D)	$	$ 1!$'''	D+	&	& 1$T***	D-	(	( 1&t,,,	D*	+	+ 1*4000T

33344r<   c                 
   d| j         | j        | j        d | j        D             | j        d nt          | j                  t          | t                    | j        | j	        d nt          | j	                  | j        | j        dS )Nr   c                 6    g | ]}t          |j                  S rA   intr_   .0xs     r:   
<listcomp>z$convert_func_def.<locals>.<listcomp>        ;;;qc!'ll;;;r<   )rJ   namefullname	arg_names	arg_kindsrw   flagsabstract_statusdataclass_transform_spec
deprecatedoriginal_first_arg)_namerK   r   r   rw   convert_typer   r   r   r    convert_dataclass_transform_specr   r   r9   s    r:   rn   rn      s    
N^;;DN;;;	)|DI/F/F4/// ,4 D1$2OPPo"5!  r<   c                 ^    | j         | j        | j        | j        t	          | j                  dS )N)
eq_defaultorder_defaultkw_only_defaultfrozen_defaultfield_specifiers)r   r   r   r   listr   r   s    r:   r   r      s6    o+/- !677  r<   c           	          dd | j         D             | j        d nt          | j                  | j        | j        d nt          | j                  t          | t                    | j        | j	        dS )Nr   c                 ,    g | ]}t          |          S rA   )convert_overload_part)r}   is     r:   r   z/convert_overloaded_func_def.<locals>.<listcomp>   s!    ???q'**???r<   )rJ   r[   rw   r   implr   r   setter_index)
r[   rw   r   rK   r   r   r   r   r   r   r   s    r:   ro   ro      su    %??DJ???	)|DI/F/FN	)/DTY/O/O400o)	 	 	r<   c                 h    t          | t                    rt          |           S t          |           S r8   )rm   r   rn   rp   r   s    r:   r   r      s0    $   '%%% &&&r<   c                 b    dt          | j                  t          | j                  | j        dS )Nr   )rJ   funcvaris_overload)rn   r   rq   r   r   r   s    r:   rp   rp      s4     ++48$$'	  r<   c           	          d| j         | j        | j        d nt          | j                  | j        d nt          | j                  t          | t                    d}| j        
| j        |d<   |S )Nr   )rJ   r   r   rw   setter_typer   final_value)r   rK   rw   r   r   r   r	   r   r9   rB   s     r:   rq   rq      sw    
N	)|DI/F/F#/7tt\$JZ=[=[4++ D #".]Kr<   c                 B   i ddd| j         d| j        dt          | j        |          dt	          | j                  d| j        d| j        d	| j        d
d | j	        D             d| j
        dd | j        D             d| j        d nt          | j                  d| j        d nt          | j                  d| j        d nt          | j                  d| j        d nt          | j                  d| j        d nt%          | j                  dt'          | t(          j                  | j        | j        t1          | j                  nd | j        | j        t          | j                  nd | j        t9          | j                  nd | j        d}|S )NrJ   r   module_namer   rL   defnabstract_attributes	type_varshas_param_spec_typebasesc                 ,    g | ]}t          |          S rA   r   )r}   bs     r:   r   z%convert_type_info.<locals>.<listcomp>       666a,q//666r<   mro_promotec                 ,    g | ]}t          |          S rA   r   )r}   ps     r:   r   z%convert_type_info.<locals>.<listcomp>   s    <<<\!__<<<r<   alt_promotedeclared_metaclassmetaclass_type
tuple_typetypeddict_typer   )metadataslotsdeletable_attributes	self_typer   r   )r   r   rQ   rL   convert_class_defr   r   r   r   r   	_mro_refsr   r   r   r   r   r   r   convert_typeddict_typer   r   FLAGSr   r   rR   r   r   r   r   r   ri   s      r:   rr   rr      s   "*"t'" 	DM" 	%dj#66	"
 	!$),," 	t7" 	T^" 	t7" 	664:666" 	t~" 	<<dm<<<" 	t/7tt\$JZ=[=[" 	+3DDdF]9^9^"  	'/DD\$BU5V5V#"& 	do5dd<;X;X'"( 	'/DD5KDL_5`5`+". 	400/"0 M'+z'=
###4 $ 959^5O\$.111UY ,8 -T-JKKKoC" " "DF Kr<   c                 B    d| j         | j        d | j        D             dS )Nr
   c                 ,    g | ]}t          |          S rA   r   r}   vs     r:   r   z%convert_class_def.<locals>.<listcomp>      >>>!l1oo>>>r<   )rJ   r   r   r   )r   r   r   r   s    r:   r   r     s1    	M>>t~>>>	  r<   c           	          d| j         | j        t          | j                  d | j        D             | j        | j        | j        d}|S )Nr   c                 ,    g | ]}t          |          S rA   r   r   s     r:   r   z&convert_type_alias.<locals>.<listcomp>  s    BBBAQBBBr<   )rJ   r   moduletargetalias_tvarsno_args
normalizedpython_3_12_type_alias)rK   r   r   r   r   r   r   r   r   s     r:   rs   rs     sS    N+t{++BB1ABBB<o"&"=	 	D Kr<   c                     d| j         | j        d | j        D             t          | j                  t          | j                  | j        dS )Nr   c                 ,    g | ]}t          |          S rA   r   r}   ts     r:   r   z)convert_type_var_expr.<locals>.<listcomp>+      888q<??888r<   )rJ   r   r   valuesupper_bounddefaultvariance)r   rK   r   r   r   r   r   r   s    r:   rt   rt   &  sQ    
N88DK888#D$455--M  r<   c                 z    d| j         | j        t          | j                  t          | j                  | j        dS )Nr   )rJ   r   r   r   r   r   )r   rK   r   r   r   r   r   s    r:   ru   ru   2  s>    !
N#D$455--M  r<   c                     d| j         | j        t          | j                  t          | j                  t          | j                  | j        dS )Nr   )rJ   r   r   r   tuple_fallbackr   r   )r   rK   r   r   r   r   r   r   s    r:   rv   rv   =  sL    $
N#D$455&t':;;--M  r<   typc                 Z   t          |           t          u rt          |           S t          |           } t	          | t
                    rt          |           S t	          | t                    rt          |           S t	          | t                    rt          |           S t	          | t                    rt          |           S t	          | t                    rt          |           S t	          | t                    rt!          |           S t	          | t"                    rt%          |           S t	          | t&                    rt)          |           S t	          | t*                    rt-          |           S t	          | t.                    rt1          |           S t	          | t2                    rt5          |           S t	          | t6                    rt9          |           S t	          | t:                    rt=          |           S t	          | t>                    rtA          |           S t	          | tB                    rtE          |           S t	          | tF                    rtI          |           S t	          | tJ                    rtM          |           S dt          |           diS rk   )'rw   r'   convert_type_alias_typer0   rm   r   convert_instancer   convert_any_typer!   convert_none_typer.   convert_union_typer%   convert_tuple_typer   convert_callable_typer"   convert_overloadedr    convert_literal_typer+   convert_type_var_typer)   convert_type_typer-   convert_uninhabited_typer/   convert_unpack_typer$   convert_param_spec_typer*   convert_type_var_tuple_typer#   convert_parametersr(   r   r,   convert_unbound_type)r   s    r:   r   r   I  si   CyyM!!&s+++
#

C#x   !)$$$	C	!	! )$$$	C	"	" ) %%%	C	#	# )!#&&&	C	#	# )!#&&&	C	&	& )$S)))	C	$	$ )!#&&&	C	%	% )#C(((	C	%	% )$S)))	C	"	" ) %%%	C	)	) )',,,	C	$	$ )"3'''	C	'	' 	)&s+++	C)	*	* )*3///	C	$	$ )!#&&&	C	'	' )%c***	C	%	% )#C(((S		22233r<   c                 P   | j         t          u}| j        s*| j        s#| j        s|r| j         j        S | j        r| j        S d|r| j         j        n| j        d | j        D             d}| j        t          | j                  |d<   | j        rt          | j                  nd |d<   |S )Nr   c                 ,    g | ]}t          |          S rA   r   r}   args     r:   r   z$convert_instance.<locals>.<listcomp>}       888sc""888r<   rJ   type_refargslast_known_valueextra_attrs)	rw   r   r   r   r   r   r   r   convert_extra_attrs)r9   readyrB   s      r:   r   r   r  s    IY&E9 !T2 !4;K ! 	!9%%] 	!=  */BDI&&T]88di888 D
 (#/0E#F#F CGCS]-d.>???Y]DKr<   c                     dd | j                                         D             t          | j                  | j        dS )Nr   c                 4    i | ]\  }}|t          |          S rA   r   )r}   kr   s      r:   
<dictcomp>z'convert_extra_attrs.<locals>.<dictcomp>  s$    DDDA!\!__DDDr<   )rJ   attrs	immutablemod_name)r   r[   rR   r   r   r   s    r:   r   r     sE    DD1A1A1C1CDDDDN++M	  r<   c                 :    d| j         d | j        D             d}|S )Nr'   c                 ,    g | ]}t          |          S rA   r   r   s     r:   r   z+convert_type_alias_type.<locals>.<listcomp>  r   r<   r   )r   r   r   s     r:   r   r     s0    !M88di888 D
 Kr<   c                 Z    d| j         | j        t          | j                  nd | j        dS )Nr   )rJ   type_of_any
source_anymissing_import_name)r  r  r   r  r   s    r:   r   r     s:    '7;7Rl4?333X\#7	  r<   c                 
    ddiS )NrJ   r!   rA   r   s    r:   r   r     s    j!!r<   c                 6    dd | j         D             | j        dS )Nr.   c                 ,    g | ]}t          |          S rA   r   r   s     r:   r   z&convert_union_type.<locals>.<listcomp>  r   r<   )rJ   r[   uses_pep604_syntax)r[   r  r   s    r:   r   r     s-    664:666"5  r<   c                 \    dd | j         D             t          | j                  | j        dS )Nr%   c                 ,    g | ]}t          |          S rA   r   r   s     r:   r   z&convert_tuple_type.<locals>.<listcomp>  r   r<   )rJ   r[   partial_fallbackrd   )r[   r   r  rd   r   s    r:   r   r     s:    664:666()>??M	  r<   c                 <    d| j         t          | j                  dS )Nr    )rJ   r_   fallback)r_   r   r  r   s    r:   r   r     s     #djlSWS`FaFabbbr<   c           
          | j                                         rJ d| j        | j        | j         j        | j         j        d | j        D             t          | j                  t          | j	                  | j
        d	S )Nr+   c                 ,    g | ]}t          |          S rA   r   r   s     r:   r   z)convert_type_var_type.<locals>.<listcomp>  r   r<   )	rJ   r   r   id	namespacer   r   r   r   )r  is_meta_varr   r   raw_idr  r   r   r   r   r   r   s    r:   r   r     sz    w""$$$$$	MgnW&88DK888#D$455--M
 
 
r<   c                    i dddd | j         D             dd | j        D             d| j        dt          | j                  d	t          | j                  d
| j        dd | j        D             d| j        d| j	        d| j
        d| j        t          | j                  nd d| j        t          | j                  nd d| j        d| j        d| j        S )NrJ   r   	arg_typesc                 ,    g | ]}t          |          S rA   r   r   s     r:   r   z)convert_callable_type.<locals>.<listcomp>  r   r<   r   c                 6    g | ]}t          |j                  S rA   rz   r|   s     r:   r   z)convert_callable_type.<locals>.<listcomp>  r   r<   r   ret_typer  r   	variablesc                 ,    g | ]}t          |          S rA   r   r   s     r:   r   z)convert_callable_type.<locals>.<listcomp>  r   r<   is_ellipsis_argsrd   is_bound
type_guardtype_isfrom_concatenateimprecise_arg_kindsunpack_kwargs)r  r   r   r   r  r  r   r  r  rd   r  r  r  r  r   r!  r   s    r:   r   r     sP   .>>t~>>> 	;;DN;;; 	T^	
 	L// 	L// 		 	>>t~>>> 	D1 	DM 	DM 	t7Rl4?333X\ 	1I<---t 	D1  	t7!" 	+# r<   c                 *    dd | j         D             dS )Nr"   c                 ,    g | ]}t          |          S rA   r   r   s     r:   r   z&convert_overloaded.<locals>.<listcomp>  s    -R-R-R!l1oo-R-R-Rr<   )rJ   r[   )r[   r   s    r:   r   r     s!    "-R-Rtz-R-R-RSSSr<   c                 0    dt          | j                  dS )Nr)   )rJ   item)r   r%  r   s    r:   r   r     s     ,ty*A*ABBBr<   c                 
    ddiS )NrJ   r-   rA   r   s    r:   r   r     s    '((r<   c                 0    dt          | j                  dS )Nr/   )rJ   rw   )r   rw   r   s    r:   r   r     s    "L,C,CDDDr<   c                    | j                                         rJ d| j        | j        | j         j        | j         j        | j        t          | j                  t          | j	                  t          | j
                  d	S )Nr$   )	rJ   r   r   r  r  flavorr   r   prefix)r  r  r   r   r  r  r)  r   r   r   r*  r   s    r:   r   r     st    w""$$$$$!	MgnW&+#D$455--t{++
 
 
r<   c           
         | j                                         rJ d| j        | j        | j         j        | j         j        t          | j                  t          | j                  t          | j	                  | j
        d	S )Nr*   )	rJ   r   r   r  r  r   r   r   min_len)r  r  r   r   r  r  r   r   r   r   r,  r   s    r:   r   r     su    w""$$$$$$	MgnW&#D$455&t':;;--<
 
 
r<   c                     dd | j         D             d | j        D             | j        d | j        D             | j        dS )Nr#   c                 ,    g | ]}t          |          S rA   r   r   s     r:   r   z&convert_parameters.<locals>.<listcomp>  r   r<   c                 6    g | ]}t          |j                  S rA   rz   r|   s     r:   r   z&convert_parameters.<locals>.<listcomp>  r   r<   c                 ,    g | ]}t          |          S rA   r   )r}   tvs     r:   r   z&convert_parameters.<locals>.<listcomp>  s     @@@2l2&&@@@r<   )rJ   r  r   r   r  r   )r  r   r   r  r   r   s    r:   r   r     sX    >>t~>>>;;DN;;;^@@@@@#7  r<   c                     dd | j                                          D             t          | j                  t          | j                  t	          | j                  dS )Nr(   c                 6    g | ]\  }}|t          |          gS rA   r   )r}   nr   s      r:   r   z*convert_typeddict_type.<locals>.<listcomp>  s'    HHH6Aq1l1oo&HHHr<   )rJ   r[   required_keysreadonly_keysr  )r[   rR   r5  r6  r   r  r   s    r:   r   r     s\    !HHTZ5E5E5G5GHHH 233 233 //  r<   c                 N    d| j         d | j        D             | j        | j        dS )Nr,   c                 ,    g | ]}t          |          S rA   r   )r}   as     r:   r   z(convert_unbound_type.<locals>.<listcomp>%  s    444Qa444r<   )rJ   r   r   exprexpr_fallback)r   r   original_str_exproriginal_str_fallbackr   s    r:   r   r   !  s8    	44$)444&3  r<   c                  :   t          j        d          } |                     ddd           |                                 }|j        }|D ]}|                    d          st          j        d|            t          |d	          5 }|	                                }d d d            n# 1 swxY w Y   t          |          }|d
z   }t          |d          5 }t          j        ||           d d d            n# 1 swxY w Y   t          | d|            d S )NzbConvert binary cache files to JSON. Create files in the same directory with extra .json extension.)descriptionrN   +z4mypy cache data file to convert (.data.ff extension))nargshelpz.data.ffz,error: Expected .data.ff extension, but got rbz.jsonwz -> )argparseArgumentParseradd_argument
parse_argsrN   endswithsysexitopenrD   rG   jsondumpprint)parserr   fnamsfnamfrB   	json_datanew_fnams           r:   mainrV  +  s   $I  F c V     DyE 	' 	'}}Z(( 	LHJDJJKKK$ 	6688D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	066	'>(C   	$AIi###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$%%8%%&&&&	' 	's$   	B**B.	1B.	C;;C?	C?	__main__)r6   N)frV   rE  rM  rJ  typingr   r   typing_extensionsr   
_TypeAliaslibrt.internalr   
mypy.nodesr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
mypy.typesr   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   dictstrr1   rZ   r3   bytesr@   rG   rE   rQ   r]   rh   rn   r   ro   r   rp   rq   rr   r   rs   rt   ru   rv   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rV  r=   rA   r<   r:   <module>ra     s       



         5 5 5 5 5 5 % % % % % %                                             .                                               2 c3h,-j - - -- - - - - - - -
 IM R R Ru R RQU R R R R
	H 	6 	d 	 	 	 	{  D    ,O & T    "5j 5v 5$ 5 5 5 5,7 t    *+A d    
&7 
D 
 
 
 
' ' ' ' ' 'I $    c d    $H $6 $d $ $ $ $NH     Y 4    	 	 	 	 	 	- D    	&6 	4 	 	 	 	&4d &4t &4 &4 &4 &4R8     &j T    - D    7 t    "H " " " " "Y 4    Y 4    c{ ct c c c c          ,TZ TD T T T TCH C C C C C)? )t ) ) ) )Ej ET E E E E- D    &6 4    Z D     4    { t    ' ' ' ', zDFFFFF r<   