TL i6vdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z mZmZmZddlmZdd lmZdd lmZmZdd lmZmZmZmZmZdd lmZmZdd l m!Z!ddl"m#Z#ddlm$Z$ddl%m&Z&m'Z'm(Z(ddl)m*Z*m+Z+ddl,m-Z-m.Z.m/Z/m0Z0ddl1m2Z2m3Z3dZ4dZ5dZ6dZ7 dudZ8e8dddZ9e8ddZ:e8ddvdZ;e8d d!Z<Gd"d#eZ=e8d$d%d&Z>Gd'd(e-Z?e8d)dd*d+Z@e8d,dd-d.ZAGd/d0eZBe8d)d1ZCGd2d3eZDGd4d5eZEGd6d7eZFe8d)dd*d8ZGGd9d:e-eZHe8d;d<d=ZId>ZJGd?d@eZKGdAdBeKZLGdCdDe3ZMGdEdFeZNdGZOdHZPe8dIdJZQe8dKdLZRdMZSGdNdOee!ZTGdPdQe2ZUGdRdSe+ZVGdTdUeZWe8d;dVZXGdWdXeZYGdYdZee#ZZe8d[dd*d\Z[d]Z\e8d[d<d^Z]e;ee@eAe9e:eCeGeId_ eQeQd`dadbdcddeJieOePeXdedfeQidgeRidhe[idieQidjdkdldmeSieSeSdneSeSdne\ejje\ejje\ejje]dodpZbdqZcGdrdseZddtZey)wa Implementations of standard library functions, because it's not possible to understand them with Jedi. To add a new implementation, create a function and add it to the ``_implemented`` dict at the bottom of this module. Note that this module exists only to implement very specific functionality in the standard library. The usual way to understand the standard library is the compiled module that returns the types for C-builtins. N) Parameter)debug) safe_property)get_str_or_none)iterate_argument_clinic ParamIssuerepack_with_argument_clinicAbstractArgumentsTreeArgumentsWrapper)analysis)compiled)AnonymousMethodExecutionContextMethodExecutionContext)ContextualizedNode NO_VALUESValueSet ValueWrapperLazyValueWrapper) ClassValue ModuleValue) ClassMixin) FunctionMixin)iterable) LazyTreeValueLazyKnownValueLazyKnownValues) ValueNameBaseTreeParamName)AttributeOverwritepublish_methodParserTreeFilter DictFilter)AbstractSignatureSignatureWrappera_property = property _tuple = tuple from operator import itemgetter as _itemgetter from collections import OrderedDict class {typename}(tuple): __slots__ = () _fields = {field_names!r} def __new__(_cls, {arg_list}): 'Create new instance of {typename}({arg_list})' return _tuple.__new__(_cls, ({arg_list})) @classmethod def _make(cls, iterable, new=tuple.__new__, len=len): 'Make a new {typename} object from a sequence or iterable' result = new(cls, iterable) if len(result) != {num_fields:d}: raise TypeError('Expected {num_fields:d} arguments, got %d' % len(result)) return result def _replace(_self, **kwds): 'Return a new {typename} object replacing specified fields with new values' result = _self._make(map(kwds.pop, {field_names!r}, _self)) if kwds: raise ValueError('Got unexpected field names: %r' % list(kwds)) return result def __repr__(self): 'Return a nicely formatted representation string' return self.__class__.__name__ + '({repr_fmt})' % self def _asdict(self): 'Return a new OrderedDict which maps field names to their values.' return OrderedDict(zip(self._fields, self)) def __getnewargs__(self): 'Return self as a plain tuple. Used by copy and pickle.' return tuple(self) # These methods were added by Jedi. # __new__ doesn't really work with Jedi. So adding this to nametuples seems # like the easiest way. def __init__(self, {arg_list}): 'A helper function for namedtuple.' self.__iterable = ({arg_list}) def __iter__(self): for i in self.__iterable: yield i def __getitem__(self, y): return self.__iterable[y] {field_defs} zW {name} = _property(_itemgetter({index:d}), doc='Alias for field number {index:d}') cfd}|S)Ncfd} jj}j}||jrd}n*|!|j r|j }n|Sj sjr|S t||}||S#t$r Y|SwxYw#t$r Y|SwxYw)NcS)N arguments)r)callbackvaluesY/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/jedi/plugins/stdlib.pycallz&execute..wrapper..calljsEY7 7builtins)r)r+) name string_nameparent_contextis_builtins_module is_module py__name__is_bound_method is_instance _implementedKeyErrorAttributeError)r,r)r.obj_namep module_namefuncr+s`` r-wrapperzexecute..wrapperis 8 Gzz--H$$A}!5!5!7( 1;;=lln v $$&%*;*;*=v  G#K0:EYFF v  '  ,v / s#C B,, B>=B> CCr*)r+r@s` r-executerAhs> Nr/c t|j|\}}|jS#t$r tcYSwxYwN)listunpackinfer IndexErrorr)inference_stater)indexkey lazy_values r- _follow_paramrLsK"y//1259Z!! s1AAc&fd}|S)zL Works like Argument Clinic (PEP 436), to validate function params. c fd}|S)NcZ tt|j|}t j d|zdi} r|j|d< r||d< r|j|d<r||d< r||d<|i|}t j d |d|S#t$r tcYSwxYw) Nzbuiltin start %sMAGENTA)colorcontextr,rHr)r+zbuiltin end: %s)tuplerrHrrrdbgrR) r,r)r+argskwargsresult clinic_stringr?want_arguments want_callback want_contextwant_inference_state want_values r-r@z+argument_clinic..f..wrappers !4))9mEF II(50 BF$-$5$5y!"'w#,1,A,A()&/{#%-z"4*6*F II'y AM# !   !s BB*)B*r*)r?r@rXrYrZr[r\r]s` r-fzargument_clinic..fs  .r/r*)rXr]r[rYr\rZr^s`````` r-argument_clinicr_s2 Hr/ziterator[, default], /T)r\cF||jdjzS)N__next__py__getattribute__execute_with_values) iteratorsdefaultsrHs r- builtins_nextrgs# i22:>RRT TTr/c@|jdjS)N__iter__rb)iterators_or_callablesrfs r- builtins_iterrks " 4 4Z @ T T VVr/zobject, name[, default], /c|D]@}|D]9}t|}|tjd&|j|ccSBtS)Nzgetattr called without str)rrwarningrcr)objectsnamesrfr,r1strings r-builtins_getattrrqsZ8 8D$T*F~ :;//77  88 r/zobject[, bases, dict], /c6|s|rtS|jSrC)r py__class__)rnbasesdictss r- builtins_typervs ""$$r/c*eZdZdZdZdZdZddZy) SuperInstancez-To be used like the object ``super`` returns.c ||_||_yrC)rH _instance)selfrHinstances r-__init__zSuperInstance.__init__s.!r/cR|jjjSrC)rzrs py__bases__r{s r- _get_baseszSuperInstance._get_basess~~))+7799r/c|jdjj}|s |jSt t |SNr)rrFrdrznextiter)r{objss r-_get_wrapped_valuez SuperInstance._get_wrapped_valuesC #))+??A>> !DJr/Nc#K|jD]>}|jjD]}|jD]}|@ywrC)rrFrd get_filters)r{ origin_scopebr,r^s r-rzSuperInstance.get_filterssW" A668 **,AG  sAArC)__name__ __module__ __qualname____doc__r}rrrr*r/r-rxrxs7": r/rxz[type[, value]], /)r[cd}t|tr |j}nt|tr |j}|tSt t |j|hSrC) isinstancerr|rrrrxrH)typesrnrRr|s r-builtins_superrsZH':;## G3 4## ]8#;#;XFG HHr/cBeZdZfdZddZeddZxZS)ReversedObjectc2t||||_yrC)superr} _iter_list)r{ reversed_obj iter_list __class__s r-r}zReversedObject.__init__s &#r/c|jSrC)r)r{contextualized_nodes r- py__iter__zReversedObject.py__iter__s r/racNtjd|jDS)Nc3<K|]}|jywrCrF.0rKs r- z'ReversedObject._next.. s" #-J   " )r from_setsrr{r)s r-_nextzReversedObject._nexts&!!" 15"   r/rC)rrrr}rr r __classcell__rs@r-rrs&$J   r/rz sequence, /r]rYc t|j\}}d}t|tr t |j |j }t|j|}|jjjdj\}tt|tt|gS)NIterator)rrErrrrRdatarDiteraterH typing_modulercrdrrreversed) sequencesr,r)rJrKcnorderedseqs r-builtins_reversedrs 9++-.OC B*m,  2 2JOO D9$$R()G  . . A A* M a a cDC ^Chw.?)@AB CCr/zvalue, type, /)rYr\c$ t}|D]N}|j} |jt |j  |D]}|j r|j| v(|jjdk(rl|jjrNtjd|jD}|jt fd|Dt |j!d\} } t#| t$s| j&} d|z} t)j| j*d| | Qtfd |DS#t$rtddg}Y-wxYw) NTFrSc3<K|]}|jywrCrrs r-rz&builtins_isinstance..7s!-"$$&-rc3&K|]}|v ywrCr*)rclsmros r-rz&builtins_isinstance..;s$CCSCZ$Csz[TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types, not %s.ztype-error-isinstancec3\K|]#}tjt|%ywrC)r builtin_from_namestr)rrrHs r-rz&builtins_isinstance..Es*  ""?CF;s),)setrsrr;rD py__mro__is_classaddr1r2get_root_contextr4rrranyrErrrr rR)rnrr)rH bool_resultsor cls_or_tupclasses_rKnodemessagers ` @r-builtins_isinstancer!sw5L ]mmo  OO3==?# ]J""$  s!23,,7"335HHJ",,-&0&8&8&:-  $C7$C!CD $Y%5%5%7 8 ; :j-8%??D(*45GLL!3!35LdT[\% ]]B  ; e}-L   s E55FFceZdZdZy)StaticMethodObjectc.t|jgSrC)r_wrapped_valuer{r| class_values r- py__get__zStaticMethodObject.py__get__Ls,,-..r/Nrrrrr*r/r-rrKs/r/rc&td|DS)Nc32K|]}t|ywrC)r)rr^s r-rz(builtins_staticmethod..Rs=a&q)=r) functionss r-builtins_staticmethodrPs =9= ==r/c$eZdZfdZdZxZS)ClassMethodObjectc2t||||_yrCrr} _function)r{class_method_objfunctionrs r-r}zClassMethodObject.__init__Vs )*!r/c t|jjdDcgc]}t|||jc}Scc}w)N__get__)rrrcClassMethodGetr)r{r|rrs r-rzClassMethodObject.py__get__ZsH..AA)L  7K @    sA)rrrr}rrrs@r-rrUs " r/rc*eZdZfdZdZdZxZS)rc@t||||_||_yrC)rr}_classr)r{ get_methodklassrrs r-r}zClassMethodGet.__init__bs $ !r/c|jjDcgc]}|j|jc}Scc}wrC)rget_signaturesbind)r{sigs r-rzClassMethodGet.get_signaturesgs048NN4Q4Q4STS(TTTs"Ac`|jjt|j|SrC)rrAClassMethodArgumentsrrs r- py__call__zClassMethodGet.py__call__js#~~%%&:4;; &RSSr/)rrrr}rrrrs@r-rras" UTr/rc&eZdZfdZddZxZS)rc2t||||_yrC)rr}r)r{rr)rs r-r}zClassMethodArguments.__init__os # r/c#Kdt|jf|jj|D]}|ywrC)rr_wrapped_argumentsrE)r{r?valuess r-rEzClassMethodArguments.unpackss?N4;;///--44T: FL s?ArC)rrrr}rErrs@r-rrns r/rcLtfd|j|DS)Nc3DK|]}D]}t||ywrC)r)rclass_method_objectrrs r-rz'builtins_classmethod..{s6 !  -x88 r(rr)rr,r)s` r-builtins_classmethodrys+ #(#3#3i#3#H r/cpeZdZdZfdZdZedededdZxZS)PropertyObjectpropertyc2t||||_yrCr)r{ property_objrrs r-r}zPropertyObject.__init__s &!r/cT| t|gS|jj|SrC)rrrdrs r-rzPropertyObject.py__get__s*  TF# #~~11(;;r/deletergettersetterct|hSrCrrs r- _return_selfzPropertyObject._return_selfsr/) rrrapi_typer}rr rrrs@r-rrsEH"< IHH  r/rfunc, /)rZc6tfd|DS)Nc3DK|]}D]}t||ywrC)r)rproperty_valuerrs r-rz$builtins_property..s5 !  ~x00rr)rr+s` r-builtins_propertyr s &j r/c |j}d}t||dD]}t|}||}nt||d}|stSt |d}t|} | !| j ddj } npt|tjrP|jD cgc]"} | jD] } t| $} } } | D cgc]} | |  } } ntStj|t| t| t!t| j dddddd j#d t%| D }|j&j)|}t+|j-}t/||t1j2|d j5}t7t9|||gScc} } wcc} w)z Implementation of the namedtuple function. This has to be done by processing the namedtuple class template and inferring the result. jedi_unknown_namedtuplerr, ' c3PK|]\}}tj|| yw))rIr1N)_NAMEDTUPLE_FIELD_TEMPLATEformat)rrIr1s r-rz)collections_namedtuple..s/C!,8>>UQU>VCs$&)typename field_names num_fieldsarg_listrepr_fmt field_defsT)keepends) code_lines)rHrLrrrDreplacesplitrrSequencerrF_NAMEDTUPLE_CLASS_TEMPLATErrSlenreprjoin enumerategrammarparseriter_classdefsrparso split_lines as_contextrr)r,r)r+rHr1cx param_values_fieldsrpfieldsrKvr^codemodulegenerated_classr3s r-collections_namedtupler8s++O %D ?Iq 9 A  =D  !)Q?L < #G W %F S)//1 GX.. /&002 %%'  A    $5q}!55 & , ,&Mv;eFm$,,S"5a;99C09&0ACC - D $ $ * *4 0F60023O $$TD9jl ZQR SS9 6s0'G G&&G&c>eZdZdfd ZdZdZdZdZdZxZ S) PartialObjectc@t||||_||_yrC)rr} _argumentsrz)r{ actual_valuer)r|rs r-r}zPartialObject.__init__s &#!r/ct|d\}}||!tjd|jy|j S)N)NNz(Partial should have a proper function %s)rrrmr<rF)r{unpacked_argumentsrJrKs r-_get_functionszPartialObject._get_functionssB1<@Z ?j0 MMDdoo V!!r/c6|jj}|j|}|gSd}|jd}t }|D]\}}||dz }|j | |j Dcgc]}t|||c}Scc}w)Nrr)r<rEr@rzrrrPartialSignature)r{r?funcs arg_countkeysrJrss r-rzPartialObject.get_signaturess!__335##$67 =I >> %Iu( FC{Q    ?D>R>R>TU It4UUUs?Bc|j|jj}|tS|j t |j||j SrC)r@r<rErrAMergedPartialArgumentsrz)r{r)rCs r-rzPartialObject.py__call__sO##DOO$:$:$<= = }} "4??It~~ N  r/c|j|jj}|y|D]}|jcSy)z In CPython partial does not replace the docstring. However we are still imitating it here, because we want this docstring to be worth something for the user. r)r@r<rE py__doc__)r{ callables callable_s r-rJzPartialObject.py__doc__sK ''(>(>(@A  " )I&&( ( )r/ct|gSrCrrs r-rzPartialObject.py__get__ sr/rC) rrrr}r@rrrJrrrs@r-r:r:s"" "V"   r/r:ceZdZdZy)PartialMethodObjectct| t|gStt|j|j|gSrC)rr:rr<rs r-rzPartialMethodObject.py__get__s6  TF# #t':':DOOXVWXXr/Nrr*r/r-rOrOsYr/rOc&eZdZfdZddZxZS)rBc@t||||_||_yrC)rr}_skipped_arg_count_skipped_arg_set)r{wrapped_signatureskipped_arg_countskipped_arg_setrs r-r}zPartialSignature.__init__s! *+"3 /r/c|jj|jd}|Dcgc]}|j|jvs|c}Scc}wrC)_wrapped_signatureget_param_namesrSr2rT)r{ resolve_starsrons r-rZz PartialSignature.get_param_namessI''779$:Q:Q:RS OaAMM9N9N$NOOOs A AFrrrr}rZrrs@r-rBrBs0 Pr/rBceZdZddZddZy)rHNc.||_||_||_yrC)_partial_arguments_call_argumentsrz)r{partial_argumentscall_argumentsr|s r-r}zMergedPartialArguments.__init__#s"3-!r/c#K|jj|}t|d|jdt |jf|D]}||j j|D]}|ywrC)rarErrzrrb)r{funcdefunpackedkey_lazy_values r-rEzMergedPartialArguments.unpack(s**11': Xt >> %t~~66 6& !N  !"2299'B !N  !sA=A?rC)rrrr}rEr*r/r-rHrH"s " !r/rHcJtfd|jDS)Nc36K|]}t|ywrC)r:rr|r)s r-rz$functools_partial..6s   h *rr,r)r+s ` r-functools_partialrn5( ((3 r/cJtfd|jDS)Nc36K|]}t|ywrC)rOrks r-rz*functools_partialmethod..=s   Hi0rlrrms ` r-functools_partialmethodrr<ror/zfirst, /c|SrCr*)firstss r-_return_first_paramruCs Mr/rc:tjd|DS)Nc3fK|])}|jD]}|j+ywrC)rrF)rsequencerKs r-rz!_random_choice..Js? "--/  s/1)rr)rs r-_random_choiceryHs"   ! r/ct|j|dD]6}|jrtt |gcSt|gcSt Sr)rLrHrrDataclassWrapperr)r,r)r+r/s r- _dataclassr|QsR 500)Q ?% ::<-a012 2UG$ $ % r/ceZdZdZy)r{c vg}tt|jD]}t|ts|j j }t|jdD]}|jj}|jd}|jdk(s<|jdk(sLt|jdkrd}n|jd}|jt|j |j|jd|t#|gS) Nc|jSrC) start_pos)r1s r-z1DataclassWrapper.get_signatures..cs dnnr/)rJr expr_stmt annassign)r3 tree_nameannotation_node default_node)rrDrrr{r.get_global_filtersortedrrget_definitionchildrentyper%appendDataclassParamNamer3DataclassSignature)r{ param_namesrfilter_r1drdefaults r-rzDataclassWrapper.get_signatures[s D!123 C#/0..*<<>#7>>#39TU D557A ! 1 Ivv,;1Ny112Q6&*G&/&8&8&;G#**+=+.+=+=&*nn,5,>,>q,A)0 ,   (#3 455r/N)rrrrr*r/r-r{r{Zs6r/r{c&eZdZfdZddZxZS)rc2t||||_yrC)rr} _param_names)r{r,rrs r-r}zDataclassSignature.__init__us 'r/c|jSrC)r)r{r[s r-rZz"DataclassSignature.get_param_namesys   r/r]r^rs@r-rrts (!r/rc*eZdZfdZdZdZxZS)rcBt|||||_||_yrC)rr}rr)r{r3rrrrs r-r}zDataclassParamName.__init__~s" 3.(r/c"tjSrC)rPOSITIONAL_OR_KEYWORDrs r-get_kindzDataclassParamName.get_kinds...r/cp|jtS|jj|jSrC)rrr3 infer_noders r-rFzDataclassParamName.infers1    ' &&11$2F2FG Gr/)rrrr}rrFrrs@r-rr}s) /Hr/rc:eZdZfdZeddZxZS)ItemGetterCallablec2t||||_yrC)rr}_args_value_set)r{r|args_value_setrs r-r}zItemGetterCallable.__init__s "-r/zitem, /ct}|jD]}t|j}t |dk(r'||j |dj dz}Q|ttj|jj|Dcgc]+}t|j |j d-c}gz}|Scc}w)Nrr) rrrDrr%get_itemrFrrFakeListrrHr)r{item_value_set value_set args_value lazy_valuesrKs r-rzItemGetterCallable.py__call__s .. Jz4467K;1$^44[^5I5I5KTRR Xx'8'8''77+6&((?(? @P@P@RTX(YZ('  s0C)rrrr}r rrrs@r-rrs!.!+,r/rc&td|DS)Nc32K|]}t|ywrC) WrapsCallable)rr?s r-rz#_functools_wraps..s:DM$':rr)rCs r-_functools_wrapsrs :E: ::r/c(eZdZeddZy)rr c ft|Dchc]}t||jc}Scc}wrC)rWrappedr)r{rCr?s r-rzWrapsCallable.py__call__s(Nt':':;NOONs.N)rrrr rr*r/r-rrs!+P,Pr/rc4eZdZfdZedZdZxZS)rc2t||||_yrC)rr}_original_function)r{r?original_functionrs r-r}zWrapped.__init__s "3r/c.|jjSrC)rr1rs r-r1z Wrapped.names&&+++r/c|gSrCr*rs r-get_signature_functionszWrapped.get_signature_functionss v r/)rrrr}rr1rrrs@r-rrs!4,,r/rz*args, /c pt|j|Dcgc]}t||c}Scc}wrC)rrr)rr,r)r|s r-_operator_itemgetterrs< ((3  8^4 s3c4tdddfd}|S)Nz string, /Trc\fd}t|}|r|S|j|S)Nc3KD]:}t|}||}tj|j|<ywrC)rr create_simple_objectrH)r,rFr?stringss r-rz?_create_string_input_function..wrapper..iteratesI  R#E*=QA"778M8MqQQ  Rs A-Ar)rr,r)rrr?s` r-r@z._create_string_input_function..wrappers0 R ')$ M **r/)r_r?r@s` r-_create_string_input_functionrs&[T$G +H + Nr/ct|dk(rd}|\}d}|jD]u}|j}t|dk7r|Stt t |}||S|s|t jjz }||z }d}wttj|j|gS|S)NrrTF) r%rrFrrrospathseprr rrH)args_setr+rprxis_firstrK string_valuesrFs r- _os_path_joinrs 8} "--/ _J&,,.M=!Q& : T-%8 9:Ay : "''++% aKFH _X::8;S;SU[\]^ ^ :r/) getattrrrrrrr staticmethod classmethodr)copydeepcopyctSrCrrms r-rrs9r/ctSrCrrms r-rrsIr/)loadloads namedtuple)partial partialmethodwrapsproxychoice itemgetterabstractmethodctSrCrrms r-rrsYr/ctSrCrrms r-rr s r/)_aliasruntime_checkable dataclass)definefrozen)dirnameabspathrelpathr')r0rjson collections functools_weakrefrandomoperatorabctyping dataclassesattrattrsos.pathcfd}|S)Nc `|D]}|jdk(s|jjdk(s9t|j}t |j Dcic]#}|j t||j%c}gcS|||Scc}w)NEnumMetaenum)r3) r6rr!r.r"rr2 EnumInstancer1)r metaclassesr8 metaclassrr1r?s r-r@z&get_metaclass_filters..wrapper;s$ I##%3!224??AVK*#..:JK" ' 0$$$l3&=&B&BB$  Ck22 $s.(B+ r*rs` r-get_metaclass_filtersr:s 3 Nr/c0eZdZdZedZdZddZy)rcx|j|_||_||_|jj|_yrC)rH_cls_namer tree_node)r{rr1s r-r}zEnumInstance.__init__Is/"22  --r/cBt||jjSrC)rrrrs r-r1zEnumInstance.nameOstzz3344r/c|jj}|jdr|jds|jjdk(rY|jj }|rt t|S|jjjd\}|S|jj\}|S)N__robject) rr2 startswithendswithrrFrrrHbuiltins_modulercrrd)r{r\inferredrr,s r-rzEnumInstance._get_wrapped_valueSs JJ " " << !**T"2djj6I6IZ6Wzz'')HDN++%%55HHRBAH..0 r/Nc#Ktttj|j|j j j|j |jjD]}|yw)N)r1r,) r"dictr rrHrr2r1rr)r{rr^s r-rzEnumInstance.get_filters_so..t/C/CTZZE[E[\aa**   ((*668 AG sBB rC)rrrr}rr1rrr*r/r-rrHs%. 55 r/rcfd}|S)Nc|jdk(r[|jrK|jdk(r8tt j |t jjhS|||S)Nrr) r,r5r6rr rrrr)rHrRrr?s r-r@z$tree_name_to_values..wrapperisf ??e #(9(9(;@R@R@TXa@a--orww{{K OWi88r/r*rs` r-tree_name_to_valuesr hs9 Nr/)FFFFFrC)frr,rinspectrjedirjedi.inference.utilsrjedi.inference.helpersrjedi.inference.argumentsrrr r r jedi.inferencer r jedi.inference.value.instancerrjedi.inference.base_valuerrrrrjedi.inference.valuerrjedi.inference.value.klassrjedi.inference.value.functionrrjedi.inference.lazy_valuerrrjedi.inference.namesrrjedi.inference.filtersrr r!r"jedi.inference.signaturer#r$r$rrArLr_rgrkrqrvrxrrrrrrrrrrrr r8r:rOrBrHrnrrruryr|r{rrrrrrrrrrrrrr9rrr r*r/r-rsX  .2II##<88817)=!!H9v F"CH?D"'  F)EUFU )*W+W -. / +,%-%$0%D9I:I  '  4EDFD$!$TR&S&R// > >    T\ T/4EF ' &$/07Tt5 L5 pY-YP'P!.!&6|Z64!*! H* H 0;;PLP lM TBC  401.$%)-+% $'  ==  ,%0! $ . * - ?J Z   1A0A0A GI X #@r/