+
    ^|iy                       a  0 t $ ^ RIHt ^ RIt^ RIt^ RIHt ]! 4       tR]	R&   ]! 4       t
R]	R&   ^2t]P                  ! ]P                  4      t ! R R4      tR# )	    )annotationsN)Anyobject	NOT_FOUNDNULLc                      ] tR t^t]R R l4       t]RR R ll4       t]RR R ll4       t]RR R	 ll4       t	]R
 R l4       t
RtR# )DeduperReloaderPatchingMixinc               $    V ^8  d   QhRRRRRR/# )   objr   fieldstrreturnint )formats   "Y/usr/lib/python3/dist-packages/IPython/extensions/deduperreload/deduperreload_patching.py__annotate__)DeduperReloaderPatchingMixin.__annotate__   s&       
    c                	J   \        W\        4      pV\        J d   R# \        P                  P	                  \        P
                  ! V 4      4      P                  p\        P                  P	                  \        P
                  ! V4      4      P                  pVe   Vf   R# Rp\        ^\        4       Fl  p\        P                  ! V\        V,          ,           \        P                  ! \        P                  4      4      P                  P                  V8X  g   Ki  Tp V# 	  V# )   )getattrr   ctypesc_void_pfrom_buffer	py_objectvaluerange_MAX_FIELD_SEARCH_OFFSETcastPOINTER_N_BYTESPOINTERcontents)r   r   field_valueobj_addr
field_addrretoffsets   &&     r   infer_field_offset/DeduperReloaderPatchingMixin.infer_field_offset   s    
 c)4)#I??..v/?/?/DEKK__001A1A+1NOUU
z1IA78F779X(55
 
 9 
r   Nc          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r   r   r   r   	new_valuer*   z
int | Noner   Noner   )r   s   "r   r   r   '   s<     * ** * 	*
 * 
*r   c                	>   \        W\        4      pV\        J d   R # Vf   V P                  W4      pVR8X  d   R # \        P                  P                  \        P                  ! V4      4      P                  pV\        J d   ^ pM=\        P                  P                  \        P                  ! V4      4      P                  pVe   Vf   R # Ve4   \        P                  P                  \        P                  ! V4      4       VR \        39  d4   \        P                  P                  \        P                  ! V4      4       V\        P                  ! V\        V,          ,           \        P                  ! \        P                  4      4      P                  n        R # )Nr   )r   r   r+   r   r   r   r   r   r   	pythonapi	Py_DecRef	Py_IncRefr"   r#   r$   r%   )clsr   r   r.   r*   
prev_valuer'   new_value_addrs   &&&&&   r   try_write_readonly_attr4DeduperReloaderPatchingMixin.try_write_readonly_attr&   s,    S3
">++C7FR<??..v/?/?/DEKK)*N#__88  +e  ~5!&&v'7'7
'CDT4L(&&v'7'7	'BC * 	//1P	

(5r   c               0    V ^8  d   QhRRRRRRRRRR	R
R/# r   oldr   newr   r   new_is_valueboolr*   r   r   r/   r   )r   s   "r   r   r   G   sN     J JJ J 	J
 J J 
Jr   c                	D   \        W\        4      pV'       d   TM\        W#\        4      pV\        J g   V\        J d   R # WgJ d   R # Ve   V^ 8  d   V P                  W4      pM(V^ 8  d"   V'       d   Q hVf   Q hV P                  W#4      pV P                  WWuR7       R # )N)r*   )r   r   r+   r7   )r4   r;   r<   r   r=   r*   	old_valuer.   s   &&&&&&  r   try_patch_readonly_attr4DeduperReloaderPatchingMixin.try_patch_readonly_attrF   s     C	2	'CWS-K		!Y)%;#"vz++C7FaZ###(((++C7F##C	#Ir   c               0    V ^8  d   QhRRRRRRRRRR	R
R/# r:   r   )r   s   "r   r   r   ^   sN     O OO O 	O
 O O 
Or   c                	     \        YV'       d   TM
\        W#4      4       R #   \        \        \        3 d    T P                  YY4T4        R # i ; iN)setattrr   AttributeError	TypeError
ValueErrorrA   )r4   r;   r<   r   r=   r*   s   &&&&&&r   try_patch_attr+DeduperReloaderPatchingMixin.try_patch_attr]   sE    	OC|9LM	:6 	O''%vN	Os   # )AAc               (    V ^8  d   QhRRRRRRRR/# )r   to_patch_tor   to_patch_from	is_methodr>   r   r/   r   )r   s   "r   r   r   l   s2     "P "P"P.1"P>B"P	"Pr   c                	6   . p\        VP                  P                  ;'       g    . VP                  ;'       g    . 4       F  w  rV\	        VP
                  4      '       db   WQP                  P                  9   dH   VP                  VP                  VP                  P                  P                  V4      ,          4       K  VP                  V4       K  	  V P                  WR 4       RpVP                  f!   VP                  e   V P                  VR4      pVP                  f   VP                  e.   T P                  T\        V4      ;'       g    \        RRVR7       R F  pV P                  WV4       K  	  V'       d   V P                  WR4       R# R# )__code__N__closure__T)r=   r*   __self__r   )__defaults____kwdefaults____doc____dict__)ziprQ   co_freevarsrR   callablecell_contentsappendindexrJ   r+   rA   tupler   )	r4   rM   rN   rO   new_closurefreevarclosure_valr*   attrs	   &&&&     r   patch_function+DeduperReloaderPatchingMixin.patch_functionk   sj    $'""..44"m6O6O6U6USU%
 G 223333???""++#,,88>>wG "";/%
 	;zB""*}/H/H/T++M=IF"".-2K2K2W''k"**d! (  ND{4@ N''JO r   r   rE   )Fr   )__name__
__module____qualname____firstlineno__staticmethodr+   classmethodr7   rA   rJ   rc   __static_attributes__r   r   r   r	   r	      sj     . * *> J J, O O "P "Pr   r	   )__conditional_annotations__
__future__r   r   systypingr   r   r   __annotations__r   r!   sizeofr   r#   r	   )rl   s   @r   <module>rr      sS    " "  
 H	6 xf  --0AP APr   