ML iYUddlmZddlmZddlmZmZddlmZ ddl m Z ddl m Z mZmZmZddlmZmZmZmZmZmZmZddlmZmZmZmZmZmZm Z m!Z!dd l"m#Z#dd l$m%Z%m&Z&m'Z'm(Z(m)Z)dd l*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0dd l1m2Z2m3Z3m4Z4m5Z5dd l6m7Z7m8Z8m9Z9ddl:m;Z;mZ>ddl?m@Z@mAZAmBZBmCZCddlDmEZEddlFmGZGmHZHddlImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXeJDchc]}|dz c}ZYdeZd<eJDchc]}|dz c}Z[deZd<eJDchc]}|dz c}Z\deZd<eJDchc]}|dz c}eJDchc]}|dz c}zeJDchc]}|dz c}zeJDchc]}|dz c}zZ]deZd<Gdd eZ^d0d!Z_d1d"Z`d0d#Zad1d$Zbd0d%Zcd1d&Zdd1d'Zeefd(d)hZgdeZd*<d0d+Zhd1d,Zid2d3d-Zjd1d.Zkd1d/Zlycc}wcc}wcc}wcc}wcc}wcc}wcc}w)4) annotations)partial)CallableFinalN)message_registry)DictExprIntExprStrExpr UnaryExpr)AttributeContextClassDefContextFunctionContextFunctionSigContext MethodContextMethodSigContextPlugin)attr_class_maker_callbackattr_class_makersattr_dataclass_makersattr_define_makersattr_frozen_makersattr_tag_callbackevolve_function_sig_callbackfields_function_sig_callback)try_getting_str_literals)ENUM_NAME_ACCESSENUM_VALUE_ACCESS#SINGLEDISPATCH_CALLABLE_CALL_METHOD,SINGLEDISPATCH_REGISTER_CALLABLE_CALL_METHODSINGLEDISPATCH_REGISTER_METHOD)array_constructor_callbackarray_getitem_callbackarray_iter_callbackarray_raw_callbackarray_setitem_callbackarray_value_callback)dataclass_class_maker_callbackdataclass_makersdataclass_tag_callbackreplace_function_sig_callback)enum_member_callbackenum_name_callbackenum_value_callback)'functools_total_ordering_maker_callbackfunctools_total_ordering_makerspartial_call_callbackpartial_new_callback)4call_singledispatch_function_after_register_argument%call_singledispatch_function_callback'create_singledispatch_function_callback singledispatch_register_callback) is_subtype)is_literal_type_likemake_simplified_union)TPDICT_FB_NAMESAnyType CallableType FunctionLikeInstance LiteralTypeNoneType TupleTypeType TypedDictType TypeOfAny TypeVarType UnionTypeget_proper_typeget_proper_typesz .setdefaultrTD_SETDEFAULT_NAMESz.pop TD_POP_NAMESz .__delitem__TD_DELITEM_NAMESz.updatez.__or__z.__ror__z.__ior__TD_UPDATE_METHOD_NAMESc`eZdZdZd dZ d dZ d dZd dZddZddZ ddZ y ) DefaultPluginz/Type checker plugin that is enabled by default.c\|dk(rtS|dk(rtS|dk(rtS|dk(rtSy)Nz _ctypes.Arrayzfunctools.singledispatchzfunctools.partialz enum.member)r!r4r1r+selffullnames Z/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mypy/plugins/default.pyget_function_hookzDefaultPlugin.get_function_hookbs?  &- - 3 3: : , ,' '  &' 'cB|dvrtS|dvrtS|dk(rtSy)N)z attr.evolvez attrs.evolvez attr.assocz attrs.assoc)z attr.fieldsz attrs.fieldszdataclasses.replace)rrr*rOs rRget_function_signature_hookz)DefaultPlugin.get_function_signature_hookms4 S S/ / 8 8/ / . .0 0rTc|dk(rtS|tvrtS|tvrtS|dk(rt S|t k(rtS|tvrtSy)Ntyping.Mapping.getz_ctypes.Array.__setitem__) !typed_dict_get_signature_callbackrH(typed_dict_setdefault_signature_callbackrI!typed_dict_pop_signature_callbackr%rr3rK$typed_dict_update_signature_callbackrOs rRget_method_signature_hookz'DefaultPlugin.get_method_signature_hookxs` + +4 4 , ,; ;  %4 4 4 4) ) < <8 8 / /7 7rTcB|dk(rtS|dk(rtS|dk(rtS|dk(rtS|dvrtS|t vrt S|tvrtS|tvrtS|dk(rtS|dk(rtS|tk(rtS|tk(rt S|dk(rt"Sy) NrXzbuiltins.int.__pow__zbuiltins.int.__neg__zbuiltins.int.__pos__)zbuiltins.tuple.__mul__zbuiltins.tuple.__rmul__z_ctypes.Array.__getitem__z_ctypes.Array.__iter__zfunctools.partial.__call__)typed_dict_get_callbackint_pow_callbackint_neg_callbackint_pos_callbacktuple_mul_callbackrHtyped_dict_setdefault_callbackrItyped_dict_pop_callbackrJtyped_dict_delitem_callbackr"r#r r5rr2r0rOs rRget_method_hookzDefaultPlugin.get_method_hooks + +* * / /# # / /# # / /# # N N% % , ,1 1  %* * ) ). . 4 4) ) 1 1& & 7 73 3 E EG G 5 5( (rTch|dk(rtS|dk(rtS|tvrtS|tvrt Sy)Nz_ctypes.Array.valuez_ctypes.Array.raw)r&r$rr,rr-rOs rRget_attribute_hookz DefaultPlugin.get_attribute_hooksA , ,' ' , ,% % ) )% % * *& &rTcl|tvrtS|tvs|tvs|tvs|t vrt SyN)r(r)rrrrrrOs rRget_class_decorator_hookz&DefaultPlugin.get_class_decorator_hooks@ ' ') ) ) )00----$ $rTc|tvrtS|tvrtS|tvrt S|t vrtt dS|tvrtt ddS|tvrtt ddSy)NT)auto_attribs_default)rnfrozen_default)rn slots_default) r(r'r/r.rrrrrrrOs rRget_class_decorator_hook_2z(DefaultPlugin.get_class_decorator_hook_2s ' '1 1 8 8: : * *, , . .44P P + +)UY + +)TX rTN)rQstrreturnz(Callable[[FunctionContext], Type] | None)rQrrrsz3Callable[[FunctionSigContext], FunctionLike] | None)rQrrrsz1Callable[[MethodSigContext], FunctionLike] | None)rQrrrsz&Callable[[MethodContext], Type] | None)rQrrrsz)Callable[[AttributeContext], Type] | None)rQrrrsz(Callable[[ClassDefContext], None] | None)rQrrrsz(Callable[[ClassDefContext], bool] | None) __name__ __module__ __qualname____doc__rSrVr]rgrirlrqrTrRrMrM_sX9    <  :":   1rTrMc|j}t|jtrt |j dk(rt |j ddk(ryt|j ddt rXt |jdk(r?t |jdk(r&t |j ddk(r |j ddj}t|jjj|}|j}|r|j dd}t|trBt|tr2t |jdk(r|jt!}|jd}t|t"sJ|j|jdt%||gg|S|S)zTry to infer a better signature type for TypedDict.get. This is used to get better type context for the second argument that depends on a TypedDict value type. r required_keys arg_typesret_type)default_signature isinstancetyperBlenargsr r variablesvaluerFitemsgetrr copy_modifiedsetrDr8)ctx signaturekey value_typer default_argtvs rRrYrYs %%I388]+ MQ    ! sxx{1~w /  ## $ )  ## $ )   !hhqk!n""$SXX^^%7%7%<= %% ((1+a.K:}5{H5 ))*a/(55CE5J $$Q'Bb+. ..**$..q13H*VXIY3Z[!+  rTc|t|jtrt|jdk\rt|jddk(rt |j dd|jdd}| |jSg}|D]c}t|jjj|}||jcSt|jdk(r|j|lt|jdk(st|jddk(st|j ddk(s|j dd}t|trSt|jdk(r;t|tr+|j|jt2|j||j|jddft|jdk(r|jtt!|S|jS)zJInfer a precise return type for TypedDict.get with literal first argument.r{rrzr|)rrrBrrrrdefault_return_typerFrrappendrrrr?r8)rkeys output_typesrrrs rRr_r_s 388]+  ! #  a !Q &' A a8H8KL <** *#%  =C(););C)@AJ!...3==!Q&##J/S]]#q(Sq1A-Ba-GCPSPXPXYZP[L\`aLa!hhqk!n {H5K--.!3":}=!'' (@(@su(@(UV '' 3 '' a(8(;<% =( s}}  "    +$\22  " ""rTc|j}|jjdg}t|jt r%t |jdk(r t |jddk(rt|jddtrt |jdk(rt |jdk(rt |jddk(r|jddj}|jjj|}|rC|jd}t|tsJt||g}|j!||g|S|j!||jdgS)zTry to infer a better signature type for TypedDict.pop. This is used to get better type context for the second argument that depends on a TypedDict value type. builtins.strrzrr{r~r)rapinamed_generic_typerrrBrrr rrrrrrDr8r)rrstr_typerrrtyps rRr[r[&sJ %%Iww))."=H388]+ MQ    ! sxx{1~w /  ## $ )  ## $ )   !hhqk!n""XX^^'', $$Q'Bb+. ..'R(89C**h_s*S S  " "h 8K8KA8N-O " PPrTct|jtr9t|jdk\r t|jddk(r|j dd}t ||jdd}|S|jjtj|tjttjSg}|D]}||jj vs||jj"vr1|jj$j'|j|||jj(j+|}|r|j-||jj$j/|j||ttjcSt|j ddk(r t1|St|jdk(rUt|jddk(r:t|j ddk(rt1g||jddS|j2S)z=Type check and infer a precise return type for TypedDict.pop.r{rcoderz)rrrBrrrrrfailr$TYPEDDICT_KEY_MUST_BE_STRING_LITERALcodes LITERAL_REQr:rC from_errorr} readonly_keysmsgtypeddict_key_cannot_be_deletedrrrtypeddict_key_not_foundr8r)rkey_exprr value_typesrrs rRrereDs 388]+  ! #  a !Q &88A;q>'#--2B12EF < GGLL EE&&   9//0 0  5Cchh,,,sxx7M7M0M ;;CHHc8T++C0J"":. 33CHHc8Ly3344 5 sxx{ q (5 5  1 $S]]1-=)>!)CCHHUVKHX\]H]()L;)L a8H8K)LM M  " ""rTc|j}|jjdg}t|jt rt |jdk(rt |jddk(rt|jddtrt |jdk(rrt |jddk(rW|jddj}|jjj|}|r|j||gS|j||jdgS)zTry to infer a better signature type for TypedDict.setdefault. This is used to get better type context for the second argument that depends on a TypedDict value type. rrzrr{r)rrrrrrBrrr rrrrr)rrrrrs rRrZrZhs %%Iww))."=H388]+ MQ    ! sxx{1~w /  ## $ )   !hhqk!n""XX^^'', **h 5K*L L  " "h 8K8KA8N-O " PPrTct|jtr)t|jdk(rt|jddk(rt|jddk(r|j dd}t ||jdd}|S|jjtj|tjttjS|jj t#|z}|r'|jj$j'|||jdd}|j dd}g}|D]}|jj(j+|}|L|jj$j-|j||ttjcSt/||sB|jj$j1|||ttjcS|j3|t5|S|j6S)z@Type check TypedDict.setdefault and infer a precise return type.rzrr{r)context)rrrBrrrrrrrrrrr:rCrrrrreadonly_keys_mutatedrrrr6+typeddict_setdefault_arguments_inconsistentrr8r) rrrassigned_readonly_keys default_type default_exprrrrs rRrdrds 388]+  ! #  a !Q &  a !Q &88A;q>'#--2B12EF < GGLL EE&&   9//0 0!$!7!7#d)!C ! GGKK - -.Dh - W}}Q'* xx{1~   +C++C0J! 33CHHc8Ly3344 lJ7 GG *ly3344   z *# +&%[11  " ""rTc&t|jtrkt|jdk(rRt|jddk(r6|j dd}t ||jdd}|S|jjtj|tjttjS|D]}||jj vs||jj"vr2|jj$j'|j||e||jj(vs~|jj$j+|j|||j,S)z!Type check TypedDict.__delitem__.r{rr)rrrBrrrrrrrrrrr:rCrr}rrrrrr)rrrrs rRrfrfs4 388]+  ! #  a !Q &88A;q>'#--2B12EF < GGLL EE&&   9//0 0 MCchh,,,sxx7M7M0M ;;CHHc8TCHHNN* 33CHHc8L  M  " ""rTzupdate of TypedDictz__ior__ of TypedDict_TP_DICT_MUTATING_METHODSc|j}t|jtrxYwcc}w) zTry to infer a better signature type for methods that update `TypedDict`. This includes: `TypedDict.update`, `TypedDict.__or__`, `TypedDict.__ror__`, and `TypedDict.__ior__`. r{rr|Tc<|jtjk7Srk)rrTYPEDDICT_READONLY_MUTATED)nameinfos rRz6typed_dict_update_signature_callback..se>^>^1^rT) filter_errorssave_filtered_errors) type_contextNF) item_namesr)rrrrBrrrF as_anonymousrrrrr to_be_mutatedrrrget_expression_typerErGrelevant_itemsr}rroptions extra_checkslistrr8) rrarg_typeinferred possible_tdstrtditems rRr\r\s+ %%I#((M*s93F3F/G1/L"9#6#6q#9:(M2 ((*)))> 88 ~~!::*.&**^%)+ +GG// AX/V  %%).&L(M2 (z Hi0.h.E.E.GH !!]3    E" #--#+#9#9B[H** * q=77--nbA A77--.>C C  " ""rTc t|jtr|jj|jjj}|jjj }t|t rt|jjdrt||z|S|jjt||z||jj|jjS|jSt|jtrL|jj}|jj }t|t rt||z|S|jS)zInfer a more precise return type for int.__neg__ and int.__pos__. This is mainly used to infer the return type as LiteralType if the original underlying object is a LiteralType object. )rfallback)rrlinecolumn)last_known_value)rrr=rrrintr7rrr>rrrr)r multiplierrrs rRraras% #((H%#((*C*C*O))//88,,55 eS !#CGG$8$8$<="e);hOOxx--%0(50!) XX]]"xx &.  " "" CHHk *88$$ eS !Z%%7(K K  " ""rTct|dS)z{Infer a more precise return type for int.__pos__. This is identical to __neg__, except the value is not inverted. r{)ra)rs rRrbrb0s C $$rTc\t|jts |jSt |j dd}t|t rq|je|jj}t|tr3|jj|jj|zS|jSt|trO|j}t|tr3|jj|jj|zS|jS)zInfer a more precise return type for tuple.__mul__ and tuple.__rmul__. This is used to return a specific sized tuple if multiplied by Literal int r)r) rrr@rrFrr=rrrrrr>)rrrs rRrcrc8s chh *&&&s}}Q/23H(H%(*C*C*O))// eS !88))0F)G G  " "" Hk * eS !88))0F)G G  " ""rT)rrrsr;)rrrsrA)r)rrrrrsrA)m __future__r functoolsrtypingrrmypy.errorcodes errorcodesrmypyr mypy.nodesrr r r mypy.pluginr r rrrrrmypy.plugins.attrsrrrrrrrrmypy.plugins.commonrmypy.plugins.constantsrrrrr mypy.plugins.ctypesr!r"r#r$r%r&mypy.plugins.dataclassesr'r(r)r*mypy.plugins.enumsr+r,r-mypy.plugins.functoolsr.r/r0r1mypy.plugins.singledispatchr2r3r4r5 mypy.subtypesr6 mypy.typeopsr7r8 mypy.typesr9r:r;r<r=r>r?r@rArBrCrDrErFrGrH__annotations__rIrJrKrMrYr_r[rerZrdrf frozensetrr\r`rarbrc)ns0rRrs""!<<   9 ]\  %D$:IIAa-/IUI+:;aq6z; e;7FG!1~-G%G,,qQ],-.q9}././!q:~/0 //!q:~/0uFup%P$#NQ2 G G" G 4 G G G