+
    eS              
          R t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ R	IHt ^ R
IHtHtHt ^ RIHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ RI H!t! ^ RI"H#t# ^ RI$H%t%H&t&  ! R R4      t' ! R R]4      t( ! R R](4      t) ! R R]4      t* ! R R]]4      t+ ! R R]]4      t, ! R R]]4      t- ! R  R!]4      t. ! R" R#]4      t/R$R%R&R'R(R)R*R+R,R'/t0R- t1R. t2R/ t3R0 t4]3]! 4       R1 4       4       t5R# )2z$
Imitate the parser representation.
N)partial)	Parameter)Path)Optional)debug)to_list)memoize_method)AbstractFilter)AbstractNameDefinitionValueNameMixinParamNameInterface)ValueValueSet	NO_VALUES)LazyKnownValue)	_sentinel)inference_state_function_cache)reraise_getitem_errors)BuiltinSignature)CompiledContextCompiledModuleContextc                   :   a  ] tR t^t o RtRR ltR tR tRtV t	R# )CheckAttributezARaises :exc:`AttributeError` if the attribute X is not available.Nc                    Wn         R # N)
check_name)selfr   s   &&?/usr/lib/python3/dist-packages/jedi/inference/compiled/value.py__init__CheckAttribute.__init__   s    $    c                ^    Wn         V P                  f   VP                  R,          V n        V # )N:   NN)funcr   __name__)r   r#   s   &&r   __call__CheckAttribute.__call__   s&    	??""mmB/DOr    c                    Vf   V # VP                   P                  V P                  4       \        V P                  V4      # r   )access_handlegetattr_pathsr   r   r#   )r   instanceowners   &&&r   __get__CheckAttribute.__get__%   s8    K 	,,T__=tyy(++r    )r   r#   r   )
r$   
__module____qualname____firstlineno____doc__r   r%   r,   __static_attributes____classdictcell____classdict__s   @r   r   r      s     K%, ,r    r   c                     a a ] tR t^.t oR&V 3R lltV 3R lt]! 4       R 4       t]! 4       R 4       t]! 4       R 4       t	R t
R tR tR	 tR
 tR tR tR tR t]R 4       tR tR t]R 4       t]R 4       tR'R lt]R 4       tV 3R ltV 3R ltR&V 3R lltR t ]R 4       t!R t"]#3R lt$R t%V 3R lt&R t'R  t(R! t)]R" 4       t*R# t+R(R$ lt,R%t-Vt.V ;t/# ))CompiledValuec                2   < \         SV `  W4       W n        R # r   )superr   r(   )r   inference_stater(   parent_context	__class__s   &&&&r   r   CompiledValue.__init__/   s    9*r    c                  < V P                   P                  4       pVe%   \        V P                  V4      P	                  4       #  V P                   P                  R4       V P                   P                  4       '       d/   ^ RIHp \        V! V P                  V P                  W4      .4      # \        V P                  V4      4      #   \         d    \        ST `9  T4      u # i ; i)Nr%   )CompiledInstance)r(   get_return_annotationcreate_from_access_pathr:   execute_annotationr)   is_classjedi.inference.valuer?   r   r;   _execute_functionAttributeErrorr9   
py__call__)r   	argumentsreturn_annotationr?   r<   s   &&  r   rG   CompiledValue.py__call__3   s     ..DDF(*$$! ! "#
	C,,Z8 !!**,,A$T%9%94;N;NPT`!     6 6y ABB  	17%i00	1s   C C%$C%c                ^    \        V P                  V P                  P                  4       4      # r   )rA   r:   r(   py__class__r   s   &r   rL   CompiledValue.py__class__H   s$    &t';';T=O=O=[=[=]^^r    c                   a  S 3\         ;QJ d5    . V 3R  lS P                  P                  4        4       F  NK  	  5,           # ! V 3R  lS P                  P                  4        4       4      ,           # )c              3   P   <"   T F  p\        SP                  V4      x  K  	  R # 5ir   rA   r:   .0accessr   s   & r   	<genexpr>*CompiledValue.py__mro__.<locals>.<genexpr>N   s(      
@ $D$8$8&AA@   #&)tupler(   py__mro__accessesrM   s   fr   	py__mro__CompiledValue.py__mro__L   sa    w 
,,>>@
 
 	
 
,,>>@
 
 
 	
r    c                   a  \         ;QJ d/    . V 3R  lS P                  P                  4        4       F  NK  	  5# ! V 3R  lS P                  P                  4        4       4      # )c              3   P   <"   T F  p\        SP                  V4      x  K  	  R # 5ir   rQ   rR   s   & r   rU   ,CompiledValue.py__bases__.<locals>.<genexpr>U   s(      
: $D$8$8&AA:rW   )rX   r(   py__bases__rM   s   fr   r_   CompiledValue.py__bases__S   sS    u 
,,88:
u 	
u 
,,88:
 
 	
r    c                6    V P                   P                  4       # r   )r(   get_qualified_namesrM   s   &r   rb   !CompiledValue.get_qualified_namesZ   s    !!5577r    c                6    V P                   P                  4       # r   )r(   
py__bool__rM   s   &r   re   CompiledValue.py__bool__]       !!,,..r    c                6    V P                   P                  4       # r   )r(   rC   rM   s   &r   rC   CompiledValue.is_class`   s    !!**,,r    c                6    V P                   P                  4       # r   )r(   is_functionrM   s   &r   rk   CompiledValue.is_functionc       !!--//r    c                6    V P                   P                  4       # r   )r(   	is_modulerM   s   &r   ro   CompiledValue.is_modulef       !!++--r    c                    R # T rM   s   &r   is_compiledCompiledValue.is_compiledi   s    r    c                    R # Frt   rM   s   &r   is_stubCompiledValue.is_stubl   s    r    c                6    V P                   P                  4       # r   )r(   is_instancerM   s   &r   r|   CompiledValue.is_instanceo   rm   r    c                6    V P                   P                  4       # r   )r(   	py__doc__rM   s   &r   r   CompiledValue.py__doc__r   rq   r    c              #    "    V P                   P                  4       pV F  p\        W4      x  K  	  R#   \         d    T P	                  4       w  r4T'       g   . pMTP                  R 4      pT P                   P                  4       '       d   TP                  ^ R4       T F3  pTP                  4       P                  R4      w  rxp	\        YT	4      x  K5  	   R# i ; i5i),r   =N)r(   get_signature_paramsSignatureParamName
ValueError_parse_function_docsplitismethoddescriptorinsertstrip	partitionUnresolvableParamName)
r   signature_paramssignature_param
params_strrettokenspname_defaults
   &         r   get_param_namesCompiledValue.get_param_namesu   s     	@#11FFH $4(?? $4  
	A"668OJ#))#.!!4466a(#$779#6#6s#; +D@@ 
	As-   C!6 C!ACACC!CC!c                >    V P                  4       w  r\        W4      .# r   )r   r   )r   r   return_strings   &  r   get_signaturesCompiledValue.get_signatures   s!    335 566r    c                p    R V P                   P                  : RV P                  P                  4       : R2# <: >)r<   r$   r(   get_reprrM   s   &r   __repr__CompiledValue.__repr__   s&    !^^44d6H6H6Q6Q6STTr    c                D    V P                  4       pVf   R# \        V4      # )N) r   )r   r   )r   docs   & r   r   !CompiledValue._parse_function_doc   s#    nn;M"3''r    c                6    V P                   P                  4       # r   )r(   get_api_typerM   s   &r   api_typeCompiledValue.api_type   s    !!..00r    c              #  4   "   V P                  V4      x  R # 5ir   )_ensure_one_filter)r   r|   origin_scopes   &&&r   get_filtersCompiledValue.get_filters   s     %%k22s   c                .    \        V P                  W4      # r   )CompiledValueFilterr:   )r   r|   s   &&r   r    CompiledValue._ensure_one_filter   s    "4#7#7KKr    c                  < \        \        \        \        4      ;_uu_ 4         V P                  P                  VV P                  P                  '       * R 7      p RRR4       Xf   \        ST `  T4      # \        \        T P                  T4      .4      #   \         d    \        ST `  T4      u uuRRR4       # i ; i  + '       g   i     Lm; i)safeN)r   
IndexErrorKeyError	TypeErrorr(   py__simple_getitem__r:   allow_unsafe_executionsrF   r9   r   rA   )r   indexrT   r<   s   && r   r   "CompiledValue.py__simple_getitem__   s    #J)DD;++@@!11III A  E >7/6601E1EvNOPP " ;w3E:: ED; EDs(   C6BB>1C=B>>CC	c                   <a  S P                   P                  4       pVf   \        SS `  W4      # \	        V 3R lV 4       4      # )Nc              3   P   <"   T F  p\        SP                  V4      x  K  	  R # 5ir   rQ   rR   s   & r   rU   .CompiledValue.py__getitem__.<locals>.<genexpr>   s(      
* $D$8$8&AA*rW   )r(   py__getitem__all_valuesr9   py__getitem__r   )r   index_value_setcontextualized_nodeall_access_pathsr<   s   f&& r   r   CompiledValue.py__getitem__   sJ    --EEG# 7(NN 
*
 
 	
r    c              #    <"   V P                   P                  4       '       g   \        SV `  V4       R j  xL
  V P                   P	                  4       pVf   R # V F$  p\        \        V P                  V4      4      x  K&  	  R #  LP5ir   )r(   has_iterr9   
py__iter__py__iter__listr   rA   r:   )r   r   access_path_listrT   r<   s   &&  r   r   CompiledValue.py__iter__   su     !!**,,w)*=>>>--<<>#&F !89M9Mv!VWW ' ?s   3B	BAB	c                6    V P                   P                  4       # r   )r(   
py__name__rM   s   &r   r   CompiledValue.py__name__   rg   r    c                t    V P                  4       pVf   V P                  P                  4       p\        W4      # r   )r   r(   r   CompiledValueNamer   r   s   & r   r   CompiledValue.name   s2     <%%..0D ,,r    c              #    "   ^ RI Hp ^ RIHp V P                  R8w  d   R# V P                  4       ^,          P                  4        Fi  p V P                  P                  P                  P                  V4       V! V P                  V4      pV P                  P                  WQ4       Rj  xL
  Kk  	  VP                  V 4       Rj  xL
  R#  L#  \         d     K  i ; i L5i)    )
docstringsbuiltin_from_namefunctionN)jedi.inferencer   jedi.inference.compiledr   r   r   r   r:   builtins_moduler(   r)   executerF   infer_return_types)r   paramsr   r   r   bltn_objs   &&    r   rE   CompiledValue._execute_function   s     -===J&,,.q1779DJ $$44BBPPQUV -T-A-A4H//77III : 00666 J	 " 
 	7sB   AC%/C:1C%+C,C%C#	C%C C%C  C%c                v     V P                   P                  4       #   \         d    T\        8X  d   h Tu # i ; ir   )r(   get_safe_valuer   r   )r   r   s   &&r   r   CompiledValue.get_safe_value   s;    	%%4466 	)#N	s    88c           	          \        \        V P                  V P                  P	                  VP                  V4      4      .4      #   \
         d
    \        u # i ; ir   )r   rA   r:   r(   execute_operationr   r   )r   otheroperators   &&&r   r   CompiledValue.execute_operation   s]    	4$$""44U5H5H(S     		s   AA AAc           	     .  < V P                   P                  4       R 8X  d   \        V .4      # V P                   P                  4       w  rV Uu. uF#  p\        \	        V P
                  V4      .4      NK%  	  ppVR8X  d   \        P                  ! R V 4       4      # V'       d\   \        V P
                  P                  P                  V4       Uu. uF  pVP                  V4      NK  	  up4      P                  4       # \        SV `)  4       # u upi u upi )NoneUnionc              3   @   "   T F  qP                  4       x  K  	  R # 5ir   )rB   )rS   args   & r   rU   3CompiledValue.execute_annotation.<locals>.<genexpr>   s     %T)3&<&<&>&>)s   )r(   r   r   get_annotation_name_and_argsrA   r:   	from_setstyping_modulepy__getattribute__with_genericsrB   r9   )r   r   argspathrH   vr<   s   &     r   rB    CompiledValue.execute_annotation   s   &&(F2TF##''DDF
 
 -d.B.BDIJK 	 
 7?%%%T)%TTT --;;NNtTTA 	*T  "!#$ w)++
s   )DDc                ^    \        V P                  V P                  P                  4       4      # r   )rA   r:   r(   negaterM   s   &r   r   CompiledValue.negate
  s$    &t';';T=O=O=V=V=XYYr    c                    \         # r   r   rM   s   &r   get_metaclassesCompiledValue.get_metaclasses      r    c                    \        V 4      # r   )r   rM   s   &r   _as_contextCompiledValue._as_context  s    t$$r    c                6    V P                   P                  4       # r   )r(   get_array_typerM   s   &r   
array_typeCompiledValue.array_type  s    !!0022r    c                    V P                   P                  4        Uu. uF  p\        V P                  V4      NK  	  up# u upi r   )r(   get_key_pathsrA   r:   )r   ks   & r   get_key_valuesCompiledValue.get_key_values  sE     ''557
7 $D$8$8!<7
 	
 
s   ?c                H    V P                   P                  4       R9   d   R # R# )r   N)r   z<class 'NoneType'>)r(   r   )r   add_class_infos   &&r   get_type_hintCompiledValue.get_type_hint  s     &&(,JJr    )r(   r   )FNrs   )0r$   r.   r/   r0   r   rG   r   rL   rZ   r_   rb   re   rC   rk   ro   ru   ry   r|   r   r   r   r   r   r   r   propertyr   r   r   r   r   r   r   r   rE   r   r   r   rB   r   r   r  r  r  r  r2   r3   __classcell__)r<   r5   s   @@r   r7   r7   .   s^    +C* _ _ 
 
 
 
8/-0.0. @ @$7U ( ( 1 13 L LQ	

X/ - -7$ &/ ,,Z% 3 3
 r    r7   c                   X   a  ] tR tRt o RtR tR tR t]R 4       t	V 3R lR lt
R	tV tR# )
CompiledModulei#  Nc                    \        V 4      # r   )r   rM   s   &r   r  CompiledModule._as_context&  s    $T**r    c                6    V P                   P                  4       # r   )r(   
py__path__rM   s   &r   r  CompiledModule.py__path__)  rg   r    c                &    V P                  4       R J# r   )r  rM   s   &r   
is_packageCompiledModule.is_package,  s     ,,r    c                b    V P                  4       pVf   R# \        VP                  R4      4      # )N.rt   )r   rX   r   r   s   & r   string_namesCompiledModule.string_names/  s-      <ITZZ_%%r    c                0   < V ^8  d   QhRS[ S[,          /# )r"   return)r   r   )formatr5   s   "r   __annotate__CompiledModule.__annotate__7  s     / /HTN /r    c                6    V P                   P                  4       # r   )r(   
py__file__rM   s   &r   r(  CompiledModule.py__file__7  rg   r    rt   )r$   r.   r/   r0   file_ior  r  r  r  r   r(  r2   r3   r4   s   @r   r  r  #  s7     G+/- & &/ /r    r  c                   d   a  ] tR tRt o R tR tR tR tR t]	R 4       t
R t]R	 4       tR
tV tR# )CompiledNamei;  c                `    Wn         VP                  4       V n        W n        W0n        W@n        R # r   )_inference_state
as_contextr;   _parent_valuestring_nameis_descriptor)r   r:   parent_valuer   r2  s   &&&&&r   r   CompiledName.__init__<  s+     /*557)*r    c                >    V P                  4       P                  4       # r   )infer_compiled_valuer   rM   s   &r   r   CompiledName.py__doc__C  s    ((*4466r    c                h    V P                   P                  4       pVf   R # WP                  3,           # r   )r;   rb   r1  )r   parent_qualified_namess   & r   _get_qualified_names!CompiledName._get_qualified_namesF  s2    !%!4!4!H!H!J!)%)9)9(;;;r    c                    V P                   pVP                  4       '       g   VP                  4       '       d   V P                   P                  4       # R # r   )r;   ro   rC   	get_value)r   contexts   & r   get_defining_qualified_value)CompiledName.get_defining_qualified_valueL  sB    %%'"2"2"4"4&&0022r    c                     V P                   P                  pRV P                  P                  : RV: RV P
                  : R2#   \         d    R p L<i ; i)Nr   z: (z).r   )r;   r   rF   r<   r$   r1  r   s   & r   r   CompiledName.__repr__S  sN    	&&++D #'.."9"94AQAQRR  	D	s   A AAc                ^    V P                   '       d   R # V P                  4       P                  # )r*   )r2  r6  r   rM   s   &r   r   CompiledName.api_typeZ  s(     ((*333r    c                6    \        V P                  4       .4      # r   )r   r6  rM   s   &r   inferCompiledName.inferc  s    224566r    c                X    \        V P                  V P                  V P                  4      # r   )create_from_namer.  r0  r1  rM   s   &r   r6  !CompiledName.infer_compiled_valuef  s#     5 5t7I7I4K[K[\\r    )r.  r0  r2  r;   r1  N)r$   r.   r/   r0   r   r   r:  r?  r   r  r   rF  r   r6  r2   r3   r4   s   @r   r,  r,  ;  sN     +7<S 4 47 ] ]r    r,  c                   H   a  ] tR tRt o R t]R 4       tR tR tR t	Rt
V tR# )	r   ik  c                4    VP                   V n         W n        R # r   )r;   _signature_param)r   compiled_valuer   s   &&&r   r   SignatureParamName.__init__l  s    ,;; /r    c                .    V P                   P                  # r   )rM  r   rM   s   &r   r1  SignatureParamName.string_namep  s    $$)))r    c                H   V P                  4       V P                  ,           pV P                  P                  '       d%   VR V P                  P                  ,           ,          pV P                  P
                  '       d%   VRV P                  P                  ,           ,          pV# )r   r   )_kind_stringr1  rM  has_annotationannotation_stringhas_defaultdefault_string)r   ss   & r   	to_stringSignatureParamName.to_stringt  sz    $"2"22  ///--????A  ,,,t,,;;;;Ar    c                J    \        \        V P                  P                  4      # r   )getattrr   rM  	kind_namerM   s   &r   get_kindSignatureParamName.get_kind|  s    y$"7"7"A"ABBr    c                2   V P                   pV P                  P                  p\        pVP                  '       d    \        \        W!P                  4      .4      pVP                  '       d,   \        W!P                  4      pW4P                  4       ,          pV# r   )rM  r;   r:   r   rV  r   rA   r   rT  
annotationexecute_with_values)r   r   r:   valuesra  s   &    r   rF  SignatureParamName.infer  ss    !!--=====6		RSTF0,,OJ4466Fr    )rM  r;   N)r$   r.   r/   r0   r   r  r1  rY  r^  rF  r2   r3   r4   s   @r   r   r   k  s3     0 * *C	 	r    r   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )r   i  c                @    VP                   V n         W n        W0n        R # r   )r;   r1  _default)r   rN  r   r   s   &&&&r   r   UnresolvableParamName.__init__  s    ,;;r    c                "    \         P                  # r   )r   POSITIONAL_ONLYrM   s   &r   r^  UnresolvableParamName.get_kind  s    (((r    c                v    V P                   pV P                  '       d   VR V P                  ,           ,          pV# )r   )r1  rg  )r   strings   & r   rY  UnresolvableParamName.to_string  s.    !!===cDMM))Fr    c                    \         # r   r   rM   s   &r   rF  UnresolvableParamName.infer  r  r    )rg  r;   r1  N)
r$   r.   r/   r0   r   r^  rY  rF  r2   r3   r4   s   @r   r   r     s      
) r    r   c                   &   a  ] tR tRt o R tRtV tR# )r   i  c                @    W n         Wn        VP                  V n        R # r   )r1  _valuer;   )r   valuer   s   &&&r   r   CompiledValueName.__init__  s    #22r    )rs  r;   r1  N)r$   r.   r/   r0   r   r2   r3   r4   s   @r   r   r     s     3 3r    r   c                   0   a  ] tR tRt o RtR tR tRtV tR# )EmptyCompiledNamei  z
Accessing some names will raise an exception. To avoid not having any
completions, just give Jedi the option to return this object. It infers to
nothing.
c                4    VP                   V n        W n        R # r   )r   r;   r1  )r   r:   r   s   &&&r   r   EmptyCompiledName.__init__  s    -==r    c                    \         # r   r   rM   s   &r   rF  EmptyCompiledName.infer  r  r    )r;   r1  N)	r$   r.   r/   r0   r1   r   rF  r2   r3   r4   s   @r   rw  rw    s     
  r    rw  c                   h   a  ] tR tRt o RR ltR tRR lt]RRR/R ll4       tR t	R	 t
R
 tRtV tR# )r   i  Fc                *    Wn         W n        W0n        R # r   r.  rN  r|   )r   r:   rN  r|   s   &&&&r   r   CompiledValueFilter.__init__  s     /,&r    c                   aa V P                   P                  oV P                  P                  '       * oV P	                  VVV3R  lV3R lRR7      # )c                 *   < SP                  V SR 7      # )r   )is_allowed_getattr)r   r(   r   s   &r   <lambda>)CompiledValueFilter.get.<locals>.<lambda>  s    99$T9Jr    c                 *   < V SP                  4       9   # r   )dir)r   r(   s   &r   r  r    s    !2!2!44r    T)check_has_attribute)rN  r(   r.  r   _get)r   r   r(   r   s   &&@@r   getCompiledValueFilter.get  sJ    ++99((@@@yyJ4 $	  
 	
r    c                   V! V4      w  rVpVeH   \        V P                  V4      P                  4       pV'       d   V U	u. uF  p	\        W4      NK  	  up	# V'       d   V'       g   . # V'       g	   V'       g1   V P                  P                  '       g   V P                  VRR7      .# V P                  '       d   V! V4      '       g   . # V P                  WR7      .# u up	i )zE
To remove quite a few access calls we introduced the callback here.
T)is_emptyr2  )rA   r.  rB   r   r   _get_cached_namer|   )
r   r   allowed_getattr_callbackin_dir_callbackr  has_attributer2  property_return_annotationrc  r   s
   &&&&&     r   r  CompiledValueFilter._get  s     D\D
@&@ &1,%%* ! "  <BCFq)!2FCC}I--EEE))$)>??OD$9$9I%%d%HII Ds    Cr2  c               b    V'       d   \        V P                  V4      # V P                  WR 7      # )r  )rw  r.  _create_name)r   r   r  r2  s   &&&$r   r  $CompiledValueFilter._get_cached_name  s,    $T%:%:DAA$$T$GGr    c                j  a ^ RI Hp . pV P                  P                  P	                  4       w  poS F$  pW P                  VV3R lV3R l4      ,          pK&  	  V P                  '       gG   V'       d?   V! V P                  R4      P                  4        F  pW%P                  4       ,          pK  	  V# )r   r   c                    < SV ,          # r   rt   r   	dir_infoss   &r   r  ,CompiledValueFilter.values.<locals>.<lambda>  s	    Yt_r    c                    < V S9   # r   rt   r  s   &r   r  r    s
    TY.r    type)
r   r   rN  r(   get_dir_infosr  r|   r.  r   rc  )r   r   namesneeds_type_completionsr   filterr  s   &     @r   rc  CompiledValueFilter.values  s    =,0,?,?,M,M,[,[,])	 DYY,. E  $:+D,A,A6JVVX( Yr    c                F    \        V P                  V P                  VV4      # r   )r,  r.  rN  )r   r   r2  s   &&&r   r   CompiledValueFilter._create_name  s'    !!	
 	
r    c                T    R V P                   P                  : RV P                  : R2# r   )r<   r$   rN  rM   s   &r   r   CompiledValueFilter.__repr__  s    !^^44d6I6IJJr    r~  Nrx   )r$   r.   r/   r0   r   r  r  r   r  rc  r  r   r2   r3   r4   s   @r   r   r     sI     '

J4 He H H,
K Kr    r   zfloating point numberfloat	characterstrintegerint
dictionarydictrm  c                
    ^ pV P                  R4      p\        WR 4       F7  w  r4VR8X  d   V^,          pMVR8X  d
   V^,          pV^ 8X  g   K/  W#,           p M	  W^,           X pR p \        P                  ! RWv4      w  rhV^ 8X  g   K#   TP                  RR	4      p\        P                  ! R
YT^,            4      p	T	f   Rp
Yj3# YYP                  4       ,           p\        P                  ! R4      pTP                  Y4      P                  ^ 4      P                  4       p\        P                  ! RRT4      p\         P#                  Y4      p
Yj3#   \        \
        3 d    \        P                  ! R4       ^ pRp Li ; i)z
Takes a function and returns the params and return value as a tuple.
This is nothing more than a docstring parser.

TODO docstrings like utime(path, (atime, mtime)) and a(b [, b]) -> None
TODO docstrings like 'tuple of integers'
(N)c                     V P                  ^4      P                  R4      p\        V4       F,  w  r#V'       g   K  RV9  g   K  W;;,          R,          uu&   K.  	  RP                  V4      # )   r   r   z=None)groupr   	enumeratejoin)mr   ias   &   r   change_options+_parse_function_doc.<locals>.change_options,  sQ    771:##C(D!$1AGw&G ( 88D>!r    z ?\[([^\[\]]+)\]zno brackets found - no paramr   -r   z-[>-]* z(,\n|[^\n-])+z[nN]ew (.*)z\1())r   r  resubnr   UnboundLocalErrorr   dbgreplacesearchendcompilematchr  r   subdocstr_defaultsr  )r   countstartr  rX  r  	param_strr  changesrr   r   patternret_strs   &             r   r   r     sw   		#c&k*DACx
c
zi + 	#&		" !#)<)7"DI!|!!#s+I 			)SS1W-.Ay > eeg**-.--+11!4::<&&':!!'3>I )*  			01	s   A
E E +FFc                     VP                   P                  VR R7      pR pV F%  p\        T TVf   R MVP                  4       R7      pK'  	  V# )N)r   r;   )r(   r)   create_cached_compiled_valuer/  )r:   rN  r   access_pathsrt  access_paths   &&&   r   rI  rI  K  sU    !//==dD=QLE#,#(=4e6F6F6H
 $ Lr    c                   a  RV 3R llpV# )z5The cache doesn't care about keyword vs. normal args.c                    < S! WV4      # r   rt   )r:   objr;   r#   s   &&&r   wrapper'_normalize_create_args.<locals>.wrapperZ  s    O.99r    r   rt   )r#   r  s   f r   _normalize_create_argsr  X  s    :Nr    c                 x    R pVP                    F'  w  r4\        T TVf   R MVP                  4       R7      pK)  	  V# )Nr  )accessesr  r/  )r:   r  rt  r   rT   s   &&   r   rA   rA   _  sB    E#,,,#(=4e6F6F6H
 - Lr    c                 f    \        V\        4      '       d   Q hVf   \        pM\        pV! WV4      # r   )
isinstancer7   r  )r:   r(   r;   clss   &&& r   r  r  j  s4     .-8888~>>r    )6r1   r  	functoolsr   inspectr   pathlibr   typingr   jedir   jedi.inference.utilsr   
jedi.cacher   jedi.inference.filtersr	   jedi.inference.namesr
   r   r   jedi.inference.base_valuer   r   r   jedi.inference.lazy_valuer   jedi.inference.compiled.accessr   jedi.inference.cacher   jedi.inference.helpersr   jedi.inference.signaturer   jedi.inference.contextr   r   r   r7   r  r,  r   r   r   rw  r   r  r   rI  r  rA   r  rt   r    r   <module>r     s"   
      ( % 1  @ @ 4 4 ? 9 5 I, ,*rE rj/] /0-]) -]`+-C @.0F &3(> 3. PK. PKh Wu&e9x
 !? " ?r    