
    ^hI                     b   S SK r S SKrS SKrS SKrS SKrS SKJr  S SKrS SK	r	S SK
r
S SKrS SKJr  S SKJrJr  S SKJr  \\\\\\4r\" \R4                  5      r\R8                  \R:                  \R<                  \R>                  \R@                  \RB                  \RD                  \RF                  \RH                  \RJ                  \RL                  \\RN                  \RP                  \RR                  4r*\" \R4                  5      r\" \+RX                  5      r-\R\                  S   R_                  \05      r1\" \1S   5      r2\0" 5       r3\Rh                  \Rj                  \Rl                  \Rn                  \Rp                  \Rr                  \Rt                  \Rv                  S.r<\Rz                  \R|                  S	.r?\?R                  \<5        \R>                  \RB                  \RF                  \\-\2\A\B4rC\34S
 jrD\" SS5      rES rFS rGS rH " S S5      rIS\I4S jrJS rK " S S5      rLS rMg)    N)
namedtuple)Path)OptionalTuple)getattr_static__dict____subclasshook__)z==z!=iszis not<z<=>z>=)+-c                      [        X5      u  p4[        U[        5      (       a  [        X5      $  U$ ! [         a    U[
        L a  e Us $ f = fN)r   
isinstanceALLOWED_DESCRIPTOR_ACCESSgetattrAttributeError	_sentinel)objnamedefaultattris_get_descriptors        X/home/james-whalen/.local/lib/python3.13/site-packages/jedi/inference/compiled/access.pysafe_getattrr   N   s^    &"0"; d566 3%% 7 K  is   2 A
ASignatureParamz]name has_default default default_string has_annotation annotation annotation_string kind_namec                    ^  U 4S jnU$ )Nc                 F   > T" U 5      n[        U5      S:  a  US S S-   nU$ )N2   z..)len)selfrfuncs     r   wrappershorten_repr.<locals>.wrapperi   s+    Jq6B;#2A     )r$   r%   s   ` r   shorten_reprr)   h   s    
 Nr'   c                 8    U R                   R                  U5      $ r   )compiled_subprocessget_or_create_access_handle)inference_stater   s     r   create_accessr.   q   s    ..JJ3OOr'   c                    [         R                  Usn[         l         [        U5         U[         l        [         R                  U   n[        X5      $ ! [         a1    [        R
                  " SU< SU< S3[        SS9   U[         l        g [         a>    [        R
                  " S[        R                  " 5       -  [        SS9   U[         l        g f = f! U[         l        f = f)NzModule z not importable in path .   )
stacklevelzCannot import:
%s)syspath
__import__ImportErrorwarningswarnUserWarning	Exception	traceback
format_excmodulescreate_access_path)r-   dotted_namesys_pathtempmodules        r   load_modulerC   u   s    XXxND#(;"  [[%Fo66+  6A8L	

     	 9#7#7#99;ST	
  s/   A -C C 9CC CC C$c                       \ rS rSrS rSrg)
AccessPath   c                     Xl         g r   accesses)r"   rI   s     r   __init__AccessPath.__init__   s     r'   rH   N)__name__
__module____qualname____firstlineno__rJ   __static_attributes__r(   r'   r   rE   rE      s    !r'   rE   returnc                 J    [        X5      n[        UR                  5       5      $ r   )r.   rE   get_access_path_tuples)r-   r   accesss      r   r>   r>      s     ?0Ff33566r'   c                 N   [         R                  " U 5      (       a  g[         R                  " U 5      (       a  g[         R                  " U 5      (       dQ  [         R                  " U 5      (       d6  [         R
                  " U 5      (       d  [         R                  " U 5      (       a  gg)NclassrB   functioninstance)inspectisclassismodule	isbuiltinismethodismethoddescriptor
isfunctionr   s    r   get_api_typera      sp    s			#					3		7#3#3C#8#8))#..'2D2DS2I2Ir'   c                   d   \ rS rSrS rS rS rS\4S jrS r	S\
\   4S jrS	 rS
 rS rS rSS.S jrS rS rS rS r\S 5       rS rS rS rS rS rS rS rS rS0S\ \!\!\
\   4   4S jjr"\#4S jr$S r%S  r&S! r'S" r(S# r)S$ r*S% r+S& r,S' r-S( r.S) r/S* r0S\
\   4S+ jr1S, r2S- r3S.r4g/)1DirectObjectAccess   c                     Xl         X l        g r   _inference_state_obj)r"   r-   r   s      r   rJ   DirectObjectAccess.__init__   s     /	r'   c                 Z    U R                   R                  < SU R                  5       < S3$ )N())	__class__rL   get_reprr"   s    r   __repr__DirectObjectAccess.__repr__   s    >>22DMMODDr'   c                 .    [        U R                  U5      $ r   )r.   rg   r"   r   s     r   _create_access!DirectObjectAccess._create_access   s    T22C88r'   rQ   c                 .    [        U R                  U5      $ r   )r>   rg   rs   s     r   _create_access_path&DirectObjectAccess._create_access_path   s    !$"7"7==r'   c                 ,    [        U R                  5      $ r   )boolrh   ro   s    r   
py__bool__DirectObjectAccess.py__bool__   s    DIIr'   c                 b     [        U R                  R                  5      $ ! [         a     g f = fr   )r   rh   __file__r   ro   s    r   
py__file__DirectObjectAccess.py__file__   s.    			**++ 		s   ! 
..c                 T    [         R                  " U R                  5      =(       d    S$ )N )rY   getdocrh   ro   s    r   	py__doc__DirectObjectAccess.py__doc__   s    ~~dii(.B.r'   c                 "   [        U R                  5      (       a%  [        R                  " U R                  5      (       a  U R                  nO U R                  R                  n UR                  $ ! [
         a     g f = f! [
         a     g f = fr   )_is_class_instancerh   rY   r^   rm   r   rL   )r"   clss     r   
py__name__DirectObjectAccess.py__name__   s{    !$)),,**49955))Cii))	<< "    		s$   A1 %B 1
A>=A>
BBc                 \   ^  [        U 4S jT R                  R                  SS   5       5      $ )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   rw   ).0r   r"   s     r   	<genexpr>7DirectObjectAccess.py__mro__accesses.<locals>.<genexpr>   s!     T>SsT--c22>S   !   )tuplerh   __mro__ro   s   `r   py__mro__accesses$DirectObjectAccess.py__mro__accesses   s'    Tdii>O>OPQPR>STTTr'   c                    [        U R                  [        5      (       a9  U R                  R                  5        Vs/ s H  oR	                  U5      PM     sn$ [        U R                  [
        [        45      (       a+  U R                   Vs/ s H  oR	                  U5      PM     sn$ U R                  5       (       a:  [        U R                  U R                  R                  5      nUR                  5       $  U R                  R                  n[        U R                  U5      R                  5       nUb  U/$  g s  snf s  snf ! [         a     g f = fr   )r   rh   dictvaluesrw   listr   is_instancerc   rg   rm   py__getitem__all_values__getitem__get_return_annotationr   )r"   vr   getitem
annotations        r   r   *DirectObjectAccess.py__getitem__all_values   s   dii&&9=9I9I9KL9KA,,Q/9KLLdii$//9=CA,,Q/CC$T%:%:DII<O<OPC..00	$ii++G ,D,A,A7KaacJ%"|# &! MC  	
 	s   D;E 9E 
EET)safec                    U(       a  [        U R                  5      [        ;  a  g U R                  U R                  U   5      $ r   )typerh   ALLOWED_GETITEM_TYPESrw   )r"   indexr   s      r   py__simple_getitem__'DirectObjectAccess.py__simple_getitem__   s2    DO+@@''		%(899r'   c                 z    U R                   R                  n[        U R                  U5      R	                  5       nUb  U/$  [        U R                   5      [        ;  a  / $ / n[        U R                   5       H.  u  pEUS:  a    U$ UR                  U R                  U5      5        M0     U$ ! [
         a     g f = f)N   )rh   __iter__rc   rg   r   r   r   r   	enumerateappendrw   )r"   iter_methodplstiparts         r   py__iter__list!DirectObjectAccess.py__iter__list   s    	)),,K #4#8#8+F\\^A}s
  		?"77I +GA2v
 JJt//56	 ,
 
#  		s   B- -
B:9B:c                 L    U R                  U R                  R                  5      $ r   )rw   rh   rm   ro   s    r   py__class__DirectObjectAccess.py__class__  s    ''		(;(;<<r'   c                 v    U R                   R                   Vs/ s H  oR                  U5      PM     sn$ s  snf r   )rh   	__bases__rw   )r"   bases     r   py__bases__DirectObjectAccess.py__bases__	  s/    ;?99;N;NO;N4((.;NOOOs   6c                     [        U R                  SS 5      n[        U[        5      (       a  [	        S U 5       5      (       d  g U$ )N__path__c              3   B   #    U  H  n[        U[        5      v   M     g 7fr   )r   str)r   r   s     r   r   0DirectObjectAccess.py__path__.<locals>.<genexpr>  s     =u!:a--us   )r   rh   r   r   all)r"   pathss     r   
py__path__DirectObjectAccess.py__path__  s<    		:t4 %&&=u===r'   c                    [         R                  " U R                  5      (       a  [        U R                  5      $ [	        U R                  SSS9S:X  a  [        U R                  5      $ [        U R                  5      nU[
        :X  a  [
        R                  U R                  5      $ [	        USSS9S:X  a  [        U R                  5      $ [        R                  U R                  5      $ )NrM   r   r   builtins)rY   r[   rh   reprr   r   rp   object)r"   type_s     r   rn   DirectObjectAccess.get_repr  s    DII&&		?"		<<
J		?"TYYD===++|R8JF		?"tyy))r'   c                 B    [         R                  " U R                  5      $ r   )rY   rZ   rh   ro   s    r   is_classDirectObjectAccess.is_class&  s    tyy))r'   c                     [         R                  " U R                  5      =(       d     [         R                  " U R                  5      $ r   )rY   r_   rh   r]   ro   s    r   is_functionDirectObjectAccess.is_function)  s+    !!$)),K0@0@0KKr'   c                 B    [         R                  " U R                  5      $ r   )rY   r[   rh   ro   s    r   	is_moduleDirectObjectAccess.is_module,  s    		**r'   c                 ,    [        U R                  5      $ r   )r   rh   ro   s    r   r   DirectObjectAccess.is_instance/  s    !$)),,r'   c                 B    [         R                  " U R                  5      $ r   )rY   r^   rh   ro   s    r   r^   %DirectObjectAccess.ismethoddescriptor2  s    ))$))44r'   c                     S nU R                  5       (       a  gU" U R                  5      nUc  U" [        U R                  5      5      nUc  g[        UR	                  S5      5      $ )Nc           	      2    [        U S[        U SS 5      5      $ )NrN   rL   )r   r`   s    r   try_to_get_name?DirectObjectAccess.get_qualified_names.<locals>.try_to_get_name6  s    3Z0NOOr'   r(   r0   )r   rh   r   r   split)r"   r   r   s      r   get_qualified_names&DirectObjectAccess.get_qualified_names5  sZ    	P >>tyy)<"4		?3D|TZZ_%%r'   c                 ,    [        U R                  5      $ r   )dirrh   ro   s    r   r   DirectObjectAccess.dirB  s    499~r'   c                 P     [        U R                  5        g! [         a     gf = f)NTF)iterrh   	TypeErrorro   s    r   has_iterDirectObjectAccess.has_iterE  s'    	O 		s    
%%c                 V    [        U R                  U5      u  p4U(       aw  [        U5      [        ;  ad  [	        U[
        5      (       aN  [        UR                  S5      (       a3  [        U R                  UR                  5      nSSUR                  5       4$ gg! [         a    U(       d{  [        R                  " SS9   [        R                  " S5         [        U R                  U5      SS 4sS S S 5        s $ ! [         a     Of = f S S S 5        O! , (       d  f       O= f gf = f)	N__annotations__T)TTNrecordalwaysF)FFN)TFN)r   rh   r   r   r   propertyhasattrfgetrc   rg   r   r   r7   catch_warningssimplefilterr:   )r"   r   r   r   r   as         r   is_allowed_getattr%DirectObjectAccess.is_allowed_getattrL  s    	(&4TYY&E#D& !T$Z7P%PdH--tyy*;<<.t/D/DdiiP#T1+B+B+DDD ( 5  	& ,,D9))(3&tyy$7D :9 %    :99 &!	&sM   B %D(>DC:.
D(:
DDDD	D(
D"	D('D(c                     [         R                  " SS9   [         R                  " S5        [        U R                  U5      nS S S 5        U R                  W5      n[        R                  " U5      (       a  U/$  UR                  nUb!  [        U[        5      (       a   [        U5        [        R                   " U5      nUc(  [        R                   " [#        U5      5      nUc  [$        nU R                  U5      U/$ ! , (       d  f       N= f! [
         a1  nU[        L a  [        U[        5      (       a  e [        eUn S nANS nAff = f! [         a     Nf = f! [         a     Nf = f)NTr   r   )r7   r   r   r   rh   r:   r   r   r   rt   rY   r[   rM   r   r5   r6   	getmoduler   r   )r"   r   r   
return_objerT   rB   s          r   getattr_paths DirectObjectAccess.getattr_pathsl  sI   	! ((5%%h/$TYY5
 6 $$Z0J''8O	**F !j&=&=v& "":.>&&tJ'78F~!##F+V44O 65  
	!)#a00  %$ J
	!8 #   		sX   D -C?D ;E  E ?
D	D D 
E'EE
EE
E+*E+c                     [        U R                  5      [        [        [        [
        [        [        4;   d  U R                  c  U R                  $ [        S[        U R                  5      -  5      e)Nz Object is type %s and not simple)	r   rh   rz   bytesfloatintr   slice
ValueErrorro   s    r   get_safe_value!DirectObjectAccess.get_safe_value  sK    		?tUE3UCCtyyGX99;d499oMNNr'   c                 ,    [        U R                  5      $ r   )ra   rh   ro   s    r   ra   DirectObjectAccess.get_api_type  s    DII&&r'   c                 D    [        U R                  [        5      (       a  gg )Nr   )r   rh   r   ro   s    r   get_array_type!DirectObjectAccess.get_array_type  s    dii&&r'   c                 h   ^  U 4S jnU" 5        Vs/ s H  nT R                  U5      PM     sn$ s  snf )Nc               3   ~   >#    [        TR                  R                  5       5       H  u  pU S:  a    g Uv   M     g 7f)Nr    )r   rh   keys)r   kr"   s     r   iter_partial_keys;DirectObjectAccess.get_key_paths.<locals>.iter_partial_keys  s3     #DIINN$45 r6 6s   :=r   )r"   r  r  s   `  r   get_key_paths DirectObjectAccess.get_key_paths  s3    	 6G5HI5H((+5HIIIs   /c                     U R                  5        Vs/ s H  n[        U R                  U5      PM     nnU Vs/ s H  o3R                  5       U4PM     sn$ s  snf s  snf r   )_get_objects_pathr.   rg   r   )r"   orI   rT   s       r   rS   )DirectObjectAccess.get_access_path_tuples  sX    EIE[E[E]^E]M$"7"7;E]^<DEH&""$f-HEE _Es
    AAc                 T   ^  U 4S jn[        [        [        U" 5       5      5      5      $ )Nc               3   h  >#    TR                   n U v    U R                  n U v    U R                  nUc	  [        v   g  [
        R                  U   v   g ! [         a     N<f = f! [         a    [        v    g f = f! [         a(    [        R                  " U 5      (       d
  [        v    g  g f = f7fr   )
rh   __objclass__r   rM   r   r3   r=   KeyErrorrY   r[   )r   imp_plzr"   s     r   get1DirectObjectAccess._get_objects_path.<locals>.get  s     ))CI&& 	'.. ?"N'!kk'22% " & $ '&' " #'',,"N -#sl   B2A B2A= B2A% B2
A"B2!A""B2%A:7B29A::B2=-B/*B2.B//B2)r   reversed)r"   r  s   ` r   r  $DirectObjectAccess._get_objects_path  s     	'8 HT#%[)**r'   c                     UR                   n[        U   nU R                  U" U R                  UR                  5      5      $ r   )rT   
_OPERATORSrw   rh   )r"   other_access_handleoperatorother_accessops        r   execute_operation$DirectObjectAccess.execute_operation  s9    *11!''499l6G6G(HIIr'   c                 |  ^  SnSn[        T R                  SSS9S:X  a  [        R                  " S[	        T R                  5      5      nUb[  UR                  S5      nS	SKn[        R                  S
:  a  UR                  " T R                  5      nO[        T R                  SSS9nU[        U 4S jU 5       5      4$ )z6
Returns Tuple[Optional[str], Tuple[AccessPath, ...]]
Nr(   rM   r   r   typingztyping.(\w+)\[r   r   )      __args__c              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   r   )r   argr"   s     r   r   BDirectObjectAccess.get_annotation_name_and_args.<locals>.<genexpr>  s     IDS433C88Dr   )r   rh   rematchr   groupr(  r3   version_infoget_argsr   )r"   r   argsmr(  s   `    r   get_annotation_name_and_args/DirectObjectAccess.get_annotation_name_and_args  s     		<<H*DO<A}wwqz##v-!??4995D'		:tLDUIDIIIIr'   c                 v    [         R                  " U R                  5      =(       a    U R                  [        :g  $ r   )rY   rZ   rh   r   ro   s    r   needs_type_completions)DirectObjectAccess.needs_type_completions  s#    tyy)?dii4.??r'   c                 .    [         R                  " U5      $ r   )rY   formatannotation)r"   r   s     r   _annotation_to_str%DirectObjectAccess._annotation_to_str  s    ''
33r'   c                    U R                  5       R                  R                  5        Vs/ s H  n[        UR                  UR
                  UR                  LU R                  UR
                  5      [        UR
                  5      UR                  UR                  LU R                  UR                  5      U R                  UR                  5      [        UR                  5      S9PM     sn$ s  snf )N)r   has_defaultr   default_stringhas_annotationr   annotation_string	kind_name)_get_signature
parametersr   r   r   r   emptyrw   r   r   r=  r   kind)r"   r   s     r   get_signature_params'DirectObjectAccess.get_signature_params  s     **,77>>@
 A! VVIIQWW400;#AII ||177:33ALLA"&"9"9!,,"Gaff+	 A
 	
 
s   CC/c                 |    U R                   n [        R                  " U5      $ ! [        [        4 a    [
        ef = fr   )rh   rY   	signatureRuntimeErrorr   r  rs   s     r   rE  !DirectObjectAccess._get_signature   s=    ii	$$S))i( 	 		s   $ ;c                     U R                   R                  R                  S5      nUc  g  [        R
                  " U R                   5      R                  S5      nU R                  U5      $ ! [         a     g f = f! [         a     N-f = f)NrQ   )rh   r   r  r   r(  get_type_hintsr:   rw   )r"   r  s     r   r   (DirectObjectAccess.get_return_annotation
  s    			))--h7A 9	%%dii044X>A ''**  		  		s"   %A, /A< ,
A98A9<
B	B	c                 :    U R                  U R                  * 5      $ r   )rw   rh   ro   s    r   negateDirectObjectAccess.negate  s    ''
33r'   c                 n   ^  [        U 4S jT R                  5        5       5      nT R                  5       U4$ )z_
Used to return a couple of infos that are needed when accessing the sub
objects of an objects
c              3   J   >#    U  H  nUTR                  U5      4v   M     g 7fr   )r   )r   r   r"   s     r   r   3DirectObjectAccess.get_dir_infos.<locals>.<genexpr>"  s(      
" 4**401"s    #)r   r   r9  )r"   tupless   ` r   get_dir_infos DirectObjectAccess.get_dir_infos  s8    
  


 
 **,f44r'   rf   N)T)5rL   rM   rN   rO   rJ   rp   rt   rE   rw   r{   r   r   r   r   r   r   r   r   r   r   r   r   r)   rn   r   r   r   r   r^   r   r   r   r   rz   r   r   r   r  ra   r  r  rS   r  r%  r6  r9  r=  rI  rE  r   rS  rY  rP   r(   r'   r   rc   rc      s+   E9>* >HTN /"U( 37 :,=P * * *L+-5&!U4xPZG[;[5\ !@ +4 +5ZO
'

JF+>J
J$@4
+x
'; + 4	5r'   rc   c                      U R                   nU[        :g  =(       a,    [        U[        5      =(       a    [        U[        5      (       + $ ! [
         a     gf = f)zLike inspect.* methods.F)rm   r   r   
issubclassNOT_CLASS_TYPESr   )r   r   s     r   r   r   )  sL    ^mm d{]z#t4]Z_=]9]]  s   A
 

AA)NrY   typesr;   r3   r"  r$  collectionsr   r7   r/  r   r(  pathlibr   r   r   &jedi.inference.compiled.getattr_staticr   r   r   r   r   	bytearrayr   r   r   replaceMethodDescriptorTypeBuiltinFunctionTypeCodeType	FrameTypeFunctionTypeGeneratorTypeGetSetDescriptorType
LambdaTypeMemberDescriptorType
MethodType
ModuleTypeTracebackTypeMappingProxyTypeSimpleNamespaceDynamicClassAttributer]  setr   WrapperDescriptorTyper   __get__r   object_class_dictClassMethodDescriptorTyper   eqneis_is_notltlegtgeCOMPARISON_OPERATORSaddsubr   updatestaticmethodclassmethodr   r   r   r)   r.   rC   rE   r>   ra   rc   r   r(   r'   r   <module>r     s      
  "  	    " AdE5)TB CKK(  
	NN	OO											& CKK( S\\* MM*-55f=  !23E!FG H	 %%
%%
&&ii	
%%	
%%	  
	
   & ' 
			  %. ( cP78! !
7
 7
	5 5D	^r'   