
    ^hr                     X   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J	r	J
r
JrJrJrJr  S SKrS SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJ r   S SK!J"r"  S SK#J$r$J%r%J&r&  S SK'J(r(J)r)J*r*  S SK+J,r,J-r-  S SK.J/r/J0r0J1r1  S SK2J3r3  S SK4J5r5  S SK6J7r7J8r8  \(       a  S SK9r9O\:" \ S5      (       a  \ r9OS SK9r9\(       a  S SK;J<r<  \Rz                  " \>5      r?\?R                  \R                  5        \&rB " S S\15      rC\D" \$5      S :X  a  \$R                  " \C5        g\C\$S '   g)    N)	FrameType)TYPE_CHECKINGDictListOptionalSetTypeUnioncast)%stmt_contains_cascading_reactive_rval)get_symbol_edges)	SymbolRef)stmt_contains_lval)DUPED_ATTRSUB_CLASSES)	Namespace)Scope)Symbol)	Timestamp)_StatementContainercells
statements)flowshelltracer)SlicingContextstatic_slicing_context)
FormatTypeSliceSliceableMixin)resolve_rval_symbols)3match_container_obj_or_namespace_with_literal_nodes)IdTypeTimestampOrCounterunparse)Cellc                      \ rS rSr% Sr\\S'   0 r\\	\
S    4   \S'   0 r\\\
S    4   \S'       SLS\R                  S\\   S	\\	   S
\S    S\SS4S jjr\SMS j5       r\S\4S j5       r\S\	4S j5       r\S\S    4S j5       r\S\4S j5       r\S\R8                  S\S\4S j5       r\   SNS\R                  S\\   S	\\	   S\SS 4
S jj5       rS\4S jrS\4S jr S\4S jr!\S 5       r"\ SOS\#S\\   SS 4S jj5       r$\S\SS 4S j5       r%\S\S\S    4S  j5       r&\S\S\4S! j5       r'\S\	S\
S    4S" j5       r(\SPS# j5       r)\S\4S$ j5       r*\S\4S% j5       r+\S\4S& j5       r,S' r-S( r.S) r/    SQS*\S+\S,\\0\1      S-\S\24
S. jjr3   SRS*\S,\\0\1      S-\S\24S/ jjr4S0 r5\S\4S1 j5       r6S\4S2 jr7S3\S\84S4 jr9\S5\R8                  SS4S6 j5       r:  SSS5\R8                  S7\;\<   S8\S9\\=   SS4
S: jjr> SOS5\?\R                  \R                  4   S7\;\<   S9\\=   SS4S; jjrAS5\R                  S<\
\\<      SS4S= jrC STS5\?\R                  \R                  4   S>\=S?\;\<   S@\SS4
SA jjrD STS5\R8                  SB\R8                  S@\SS4SC jjrES\?\R                  \R                  \R                  4   SS4SD jrISUSE jrJSUSF jrKSUSG jrLSUSH jrMSUSI jrNSUSJ jrOSKrPg)V	Statement/   F   _TEXT_REPR_MAX_LENGTH_stmts_by_ts_stmts_by_idN	stmt_nodeframe	timestamp	prev_stmtoverridereturnc                     Xl         X l        U=(       d    [        R                  " 5       U l        SU l        XPl        X@l        S U l        SU l	        S U l
        S U l        0 U l        0 U l        0 U l        0 U l        g )NF)r-   r.   r   current
_timestamp	_finishedr1   r0   class_scope lambda_call_point_deps_done_oncenode_id_for_last_call&_stmt_contains_cascading_reactive_rvalraw_dynamic_parentsraw_dynamic_childrenraw_static_parentsraw_static_children)selfr-   r.   r/   r0   r1   s         V/home/james-whalen/.local/lib/python3.13/site-packages/ipyflow/data_model/statement.py__init__Statement.__init__4   st     $-*/
#:y'8'8':$&"0405-48"FJ3>@ ?A!=?>@     c                 J    U R                  [        R                  " 5       5      $ N)at_timestampr   r4   clss    r@   r4   Statement.currentK   s    	 1 1 344rC   c                     U R                   $ rE   )stmt_idr?   s    r@   idStatement.idO   s    ||rC   c                     U R                   $ rE   )r5   rL   s    r@   r/   Statement.timestampS   s    rC   c                     U R                   $ rE   )r0   rL   s    r@   prevStatement.prevW       ~~rC   c                   ^  [        T R                  [        R                  5      (       a  T R                  R                  [        U 4S j[        R                  " T R                  5       5       5      :X  a  / nT R                  R                  T R                  R                  /-    HM  nUR                  [        R                  " U5      R                  5       5        T R                  X!S   5      US'   MO     SR                  U5      R                  5       $ [        R                  " T R                  5      R                  5       $ )Nc              3   f   >#    U  H&  n[        US TR                  R                  5      v   M(     g7f)linenoN)getattrr-   rW   ).0ndr?   s     r@   	<genexpr>!Statement.text.<locals>.<genexpr>]   s/      S
. B$.."7"788.s   .1z = )
isinstancer-   astAssignrW   maxwalktargetsvalueappend
astunparser$   strip_strip_tuple_parensjoin)r?   
componentsnodes   `  r@   textStatement.text[   s    dnncjj11dnn6K6Ks S
hht~~.S
 P
 7
 J..$..2F2F1GG!!*"4"4T":"@"@"BC!%!9!9$2!O
2 H ::j)//11%%dnn5;;==rC   rk   rl   c                     [        U [        R                  [        R                  45      (       a&  [	        U5      S:  a  US   S:X  a  US   S:X  a  USS $ U$ )N   r   (r]   )   )r^   r_   BinOpTuplelen)rk   rl   s     r@   rh   Statement._strip_tuple_parensi   sP     tcii344D	QQ3RC":KrC   c                    [        U5      nU R                  U5      (       a  U R                  U5      OS nU " UUUUUS9nU(       Gas  UGbo  U R                  R	                  U5      (       GaN  U R                  U5      nU R                  R                  UR                   5      n	[        U	5      S:X  d   eU R                  UR                  5      (       a   eU/U R                  UR                  '   U/U R                  UR                  '   [        R                  " 5        H  n
[        UR                  R                  5       5       H#  nU R                  U5      R!                  X5        M%     [        UR"                  R                  5       5       H#  nU R                  U5      R%                  X5        M%     M     OjU R                  R'                  UR                  / 5      R)                  U5        U R                  R'                  UR                  / 5      R)                  U5        [+        5          [-        5       R.                  R	                  UR                  0 5      R1                  5        H  u  pUR3                  X5        M     S S S 5        [-        5       R.                  R                  UR                  S 5        U$ ! , (       d  f       N>= f)N)r.   r/   r0   r1   rr   )rM   has_idfrom_idr+   getrF   r,   popru   rK   r/   r   iter_slicing_contextslistraw_childrenkeysreplace_parent_edgesraw_parentsreplace_child_edges
setdefaultre   r   r   stmt_deferred_static_parentsitemsadd_parent_edges)rH   r-   r.   r/   r1   rK   r0   stmtrR   all_with_prev_id_cidpidparentsymss                  r@   create_and_trackStatement.create_and_tracku   s*    Y-,/JJw,?,?CKK(T	
 	-#2B2B2F2Fy2Q2Q##I.D"//33DGG<'(A---zz$,,////04vCT^^,.2VCT\\*#99; 1 1 6 6 89CKK$99$E : 0 0 5 5 78CKK$88D 9 < '';BB4H''b9@@F#%3377KQQS  %%f3 T &
 	++//E &%s   .AJ==
Kc                 `    [        5       R                  R                  U R                  5      S L $ rE   )r   parent_stmt_by_idrz   rK   rL   s    r@   is_module_stmtStatement.is_module_stmt   s$    x))--dll;tCCrC   c                 B    [         R                  " U R                  5      $ rE   )pycis_outer_stmtrK   rL   s    r@   r   Statement.is_outer_stmt   s      ..rC   c                 H    [        5       R                  U R                  5      $ rE   )r   is_initial_frame_stmtrK   rL   s    r@   r   Statement.is_initial_frame_stmt   s    x--dll;;rC   c                     0 U l         g rE   )r+   rG   s    r@   clearStatement.clear   s
    rC   tsstmt_numc                     [        U[        5      (       d  Uc   e[        U[        5      (       a  UnO[        X5      nU R                  U   S   $ Nr   )r^   r   r+   )rH   r   r   	ts_to_uses       r@   rF   Statement.at_timestamp   sN     "i((H,@@@b)$$I!"/I	*1--rC   rK   c                 &    U R                   U   S   $ r   )r,   rH   rK   s     r@   ry   Statement.from_id   s    (++rC   c                 B    U R                   R                  US /5      S   $ r   )r,   rz   r   s     r@   from_id_nullableStatement.from_id_nullable   s"    ##GdV4Q77rC   c                 R    [        U R                  R                  U/ 5      5      S:  $ r   )ru   r,   rz   r   s     r@   rx   Statement.has_id   s%    3##''4599rC   c                 :    U R                   R                  U/ 5      $ rE   )r+   rz   )rH   r   s     r@   all_at_timestampStatement.all_at_timestamp   s    ##B++rC   c                 H    [        5       R                  U R                  5      $ rE   )r   rF   r/   rL   s    r@   containing_cellStatement.containing_cell   s    w##DNN33rC   c                 .    U R                   R                  $ rE   )r-   rW   rL   s    r@   rW   Statement.lineno   s    ~~$$$rC   c                     U R                   $ rE   )r6   rL   s    r@   finishedStatement.finished   rT   rC   c                 ,    [        U R                  5      $ rE   )rM   r-   rL   s    r@   rK   Statement.stmt_id   s    $..!!rC   c                     U R                   $ rE   )rl   rL   s    r@   __str__Statement.__str__   s    yyrC   c           
          SU R                   R                   SU R                   S[        U R                  S U R
                   5       S3$ )N<z[ts=z,text=z]>)	__class____name__r/   reprrl   r*   rL   s    r@   __repr__Statement.__repr__   sG    4>>**+4/?vd499UpVZVpVpKqFrEssuvvrC   c                 ,    [        U R                  5      $ rE   )hashr-   rL   s    r@   __hash__Statement.__hash__   s    DNN##rC   blacken	seed_onlyformat_typeinclude_cell_headersc                 &    U R                  UUUUS9$ )Nr   r   r   r   format_slice)r?   r   r   r   r   s        r@   sliceStatement.slice   s(       #!5	 ! 
 	
rC   c                 &    U R                  USUUS9$ )NTr   r   )r?   r   r   r   s       r@   codeStatement.code   s(       #!5	 ! 
 	
rC   c                 B    U R                  5       R                  " U0 UD6$ rE   )r   to_function)r?   argskwargss      r@   r   Statement.to_function   s    yy{&&777rC   c                 h    U R                   c  [        U R                  5      U l         U R                   $ rE   )r:   r   r-   rL   s    r@   r   /Statement.stmt_contains_cascading_reactive_rval   s0    66>5dnnE 7 :::rC   c                 ,    [        U R                  5      $ rE   )r   r-   rL   s    r@   _contains_lvalStatement._contains_lval  s    !$..11rC   
call_framec                 <   [        5       R                  n[        U R                  [        R
                  5      (       aO  [        R                  " X R                  R                  5      n[        5       R                  R                  U5        U$ [        U R                  [        R                  [        R                  45      (       a  U R                  R                  nOS n[        5       R                  nUb  UR                  c7  [        5       R                   R#                  [%        U R                  5      S 5      nUc  U$ UR                  cO  SUR&                  < SU< 3n[        5       R(                  (       a  [+        U5      e[,        R/                  U5        U$ U R0                  (       df  UR                  nUR2                  R5                  UR                  5      nUR6                  b  UR6                  Ul        Xl        UR9                  U5        UR                  $ )Nzgot non-function symbol z
 for name )r   cur_frame_original_scoper^   r-   r_   ClassDefr   make_child_namespacenamepending_class_namespacesre   FunctionDefAsyncFunctionDefcalling_symbol
call_scoper   statement_to_func_symrz   rM   	full_pathis_dev_mode	TypeErrorloggerwarningr   parent_scopemake_child_scopesymtabcreate_symbols_for_call_args)	r?   r   	old_scope
pending_ns	func_namefunc_symmsgprev_call_scopenew_call_scopes	            r@   get_post_call_scopeStatement.get_post_call_scope  s   H55	dnncll33 #77	>>CVCVWJH--44Z@dnns8L8L&MNN++II8**x22:v33774>>8JDQH&""C v!!n$s#  }}&11O,99JJN %%1(7(>(>%"011*="""rC   targetc                 t    [        U 5      nSnSnUR                  [        5       R                  SSSSS9 GH  nUR                  (       a  SnUR
                  (       a  U(       d  UR                  (       a.  [        5       R                  R                  UR                  5        O-[        5       R                  R                  UR                  5        SnUR                  (       d5  UR                  R                  (       a  UR                  R                  5         UR                  (       a  UR                  R!                  5         U(       as  U(       dl  UR                  (       a.  [        5       R"                  R                  UR                  5        O-[        5       R$                  R                  UR                  5        U(       d  GM  UR                  [        5       R&                  ;  d  GM  [        5       R)                  5       [        5       R*                  UR                  '   GM     g ! [,         a     g f = f)NFT)only_yield_final_symbolyield_all_intermediate_symbolsinherit_reactivityyield_in_reverse)r   gen_resolved_symbolsr   r   is_blockingis_reactiveis_cascading_reactiver   updated_deep_reactive_symbolsaddsym'updated_deep_reactive_symbols_last_cellis_liveatom bump_cascading_reactive_cell_numis_lastrefreshupdated_reactive_symbols"updated_reactive_symbols_last_cellupdated_symbolscell_counter%blocked_reactive_timestamps_by_symbolr   )r   
symbol_refreactive_seenblocking_seenresolveds        r@   _handle_reactive_store Statement._handle_reactive_store1  s~   !	"6*J!M!M&;;11(-/3#(!% <  ''$(M''55<<@@NFFJJ8<<X$(M#++0S0S EEG'' ,,. 5577;;HLLIAAEEhllS =X\\9O9O%O ++- F@@ 38  		s   GH*  H* -<H* *
H76H7depsmaybe_fixup_literal_namespaceiter_namespacec                 V    [        5       R                  XR                  5      u  nnnnn	Ub*  UR                  [        R                  U[!        5       SSSS9  [        U[        R"                  5      (       a@  [%        USS5      R'                  [(        R*                  5      (       a  UR,                  Ul        U/n
UR0                  (       a  [3        [4        U5      n[6         H  u  p[8        R:                  R=                  U5      nUc  M)  [%        XS 5      nUc  M:  [        UR>                  U5      (       d  MW  XkR>                  R@                  ;   d  Mr  U
RC                  U(       + 5          O   U
 HP  nUR                  UUX)-
  U RD                  UUU RF                  S9n[        RI                  SUUURJ                  5        MR     U RM                  U5        U(       a[  [	        5       RN                  R=                  [-        U5      S 5      nUb*  URP                  (       a  [S        U5      Ul*        UUl+        g g g g ! [         ag    [	        5       R
                  (       aK  [        R                  S[        U[        R                  5      (       a  [        R                  " U5      OU5         g f = f)	Nkeyerror for %sTF)is_anonymous	propagateimplicitr    is_subscriptsymbol_noder  z*sym %s upserted to scope %s has parents %s),r   resolve_store_data_for_targetr.   KeyErrorr   r   r   r   r^   r_   ASTrf   r$   upsert_symbol_for_namer    IPYFLOW_ITER_VIRTUAL_SYMBOL_NAMEsetNamerX   
startswithr   FUNC_PREFIXrM   r   is_namespace_scoper   r   r   sysmodulesrz   objcolumnsre   r-   r   infoparentsr  
namespacesr  str
scope_namer   )r?   r   r  r  r  scoper   r2  r$  excluded_depssubscript_vals_to_use	namespacemodname	classnamemoduleclazzsubscript_valupsertednamespace_for_upserts                      r@   _handle_assign_target_for_deps(Statement._handle_assign_target_for_depsV  sZ   	 66

& %1177! 2  fchh''GCR,H,S,S-
 -
 "99CL!-##Y.I&;"1>48=immU33@U@U8U)00\1AB '< 3M33$*"&*&P&P 4 H KK<  	 3  	##F+(#'6#4#4#8#8C$#G #/4H4U4U25d)$/49$1 5V/ )u  	 v!!% &fcgg66 #**62# 	s   )H7 7A.J('J(c                     UR                    HT  n[        U[        R                  [        R                  45      (       a  U R                  XBUS9  MD  U R                  XBUS9  MV     g )Nr  )eltsr^   r_   r   rt   +_handle_store_target_tuple_unpack_from_depsrD  )r?   r   r  r  inner_targets        r@   rI  5Statement._handle_store_target_tuple_unpack_from_deps  s_     #KKL,399(=>>@@ ~ A  33 ~ 4  (rC   
inner_depsc           
      f    [        5       R                  XR                  5      u  p4pVn[        5       R                  R                  [        U5      S 5      n	U	c  [        U[        U5      US9n	[        U5       H=  u  pUc  M
  U	R                  U
UR                  U1U R                  SU R                   S9  M?     UR                  UU[#        5       U R                  UUU R                   S9  U R%                  UR&                  5        g ! [         a   n[        R                  SU5         S nAg S nAff = f)NzException: %s)r   T)r$  r  r#  )r   r&  r.   r'  r   r4  r   r6  rz   rM   r   r7  	enumerater)  r2  r-   r   r+  r  rd   )r?   r   rL  r9  r   r2  r$  r   ensi	inner_deps               r@   _handle_starred_store_target&Statement._handle_starred_store_target  s   	060V0V

1-EA V""2c7D1:3D	>B%j1LA %%!&*&P&P &  2 	$$ENN%"&"L"L 	% 	
 	##FLL19  	 KK+		s   'D 
D0D++D0rhs_namespace
extra_depsis_forc                    S n/ n[        X!5       GH  u  u  pxu  n	n
[        U
[        R                  5      (       a  U
nUR	                  U5        M@  Uc  [        5       nOU1nX-  n[        U
[        R                  [        R                  45      (       ad  [        5       R                  R                  UR                  5      nUb  UR                  c  U R                  X5        M  U R                  XU5        M  S nU(       a  Ub  UR                  5       nU R!                  U
UUSS9  GM     Ub  U R#                  XV5        g g )NT)r  r  )r!   r^   r_   Starredre   r+  r   rt   r   r6  rz   obj_idr2  rI  0_handle_store_target_tuple_unpack_from_namespace
namespacedrD  rS  )r?   r   rU  rV  rW  saved_starred_nodesaved_starred_depsrQ  rR  r   rJ  rL  inner_namespacer  s                 r@   r[  :Statement._handle_store_target_tuple_unpack_from_namespace  s@    59 AW
NQ 
,44%1"")))4  U
'[
$J,399(=>>"&&"3"3"7"7	8H8H"I"*o.A.A.IDD$ II$z "&i3%.%9%9%;N33 #126	 4 1 X< )--.@U *rC   rd   c                    [        5       R                  n[        U5      nS nU(       a  U H  nUR                  UL d  M  Un  O   [	        U[
        R                  [
        R                  45      (       a  U(       a  [	        U[        [        45      (       a-  [        5       R                  R                  [        U5      5      nOS nUb  UR                  c%  U R                  UUUc  S OUR                  5       S9  g [!        5       n	[	        U[
        R"                  5      (       a  Un	U R%                  XXS9  g U R'                  UUSUc  S OUR                  5       S9  g )NrG  rW  T)r  r  )r   saved_assign_rhs_objr    r2  r^   r_   r   rt   rN  zipr   r6  rz   rM   rI  r\  r+  Callr[  rD  )
r?   r   rd   rW  rc  r  iter_symboldeprU  rV  s
             r@   _handle_store_targetStatement._handle_store_target
  s@     &x<<#E*7722"%K  fsxx344Z(<y#>NOO $ 1 1 5 5b9M6N O !%$(9(9(A@@ + 39O9O9Q	 A  +.%
eSXX..!%JEE: F  //.2'/D[5K5K5M 0 rC   c                    [        U[        R                  5      (       a/  UR                   H  nU R	                  X!R
                  5        M      g [        U[        R                  [        R                  45      (       a&  U R	                  UR                  UR                  SS9  g [        S[        R                  " U5      -  5      e)NTrb  z$node type not supported for node: %s)r^   r_   r`   rc   rh  rd   ForAsyncForr   iterr   dump)r?   rk   r   s      r@   _handle_storeStatement._handle_store8  s    dCJJ'',,))&**= 'sww566%%dkk499T%JBSXXd^STTrC   c                 H   [        U R                  [        R                  5      (       d   eU R                  R                   H/  n [        5       R                  U5      u  p#pEUR                  XES9  M1     g ! [         a!  n[        R                  SU5         S nAMZ  S nAff = f)N)r$  zgot key error: %s)r^   r-   r_   Deleterc   r   resolve_del_data_for_targetdelete_symbol_for_namer'  r   r4  )r?   r   r9  r2  r   r$  rO  s          r@   _handle_deleteStatement._handle_deleteA  s    $..#**5555nn,,F4171U1U2.D ,,T,M -  4 /334s   +A66
B! BB!c                     [        U R                  [        R                  [        R                  [        R
                  45      (       a  U R                  U R                  5        g U R                  5         g rE   )r^   r-   r_   r`   rk  rl  ro  _make_lval_symbols_oldrL   s    r@   _make_lval_symbolsStatement._make_lval_symbolsN  sD    dnnszz377CLL&IJJt~~.'')rC   c                     [        U R                  5      n[        U R                  [        R                  5      (       + n[        U R                  [        R
                  [        R                  45      n[        U R                  [        R                  5      n[        U R                  [        R                  [        R                  45      nU(       d  U(       a  [        U5      S:X  d   eU GHE  u  pg[        U5      nU(       Ga  [        [        R                  U5      n	[        U R                  [        R                  5      (       a  U R                  R                  =(       d    Sn
[        R                   R#                  U
 SU	R$                   35      =(       d    [        R                   R#                  U
5      nUb  U R&                  R(                  [+        5       R,                  L a\  U R                  R.                   HB  nUR$                  S:X  d  M  [1        5       R2                  R5                  UR6                  5          O,   O)[        R                   R#                  U	R$                  5      nUS [8        4;  ax  [;        5       R=                  UU R                  SU	R>                  S L S9nUbE  URA                  [1        5       RB                  R#                  URD                  [G        5       5      5        [        [H        U5      nUS:X  d  SU;   a  GM&  [J        RM                  SX5        U(       a  U RN                  c   eU R&                  R(                  [        [        R                  U R                  5      R$                     nXRN                  l(        U RN                  [1        5       RR                  [U        U5      '    [;        5       RW                  X`R&                  5      u  nnnnnURY                  UUUU-
  U R                  UUUUU RN                  [        U R                  [        RZ                  [        R\                  45      (       + [        U[        R^                  5      (       a  UOS U R`                  S9  [        U R                  [        R
                  [        R                  [        R                  [        R                  [        R                  45      (       a  U Rc                  U R                  5        GM  [        U[        R^                  5      (       a  U Rc                  U5        GME  GMH     g ! [d         am    [1        5       Rf                  (       aO  [J        Ri                  S	[        U[        R^                  5      (       a  [j        Rl                  " U5      OU5         GM   GM  [n         a    e [p         a=  n[J        Ri                  S
U5        [1        5       Rr                  (       a  Ue S nAGM  S nAff = f)Nrr   r"  .*F)is_loadis_namedzcreate edges from %s to %s)	overwriter$  is_function_def	is_importr7   r   r%  r  r  z"exception while handling store: %s):r   r-   r^   r_   	AugAssignr   r   r   Import
ImportFromru   r    r   aliasr?  r0  r1  rz   r   r.   f_localsr   user_nsnamesr   starred_import_modulesr  r   builtinsr   "create_if_not_exists_module_symbolasnameupdatealiasesrZ  r+  r7  r   r4  r7   r2  r6  rM   r&  r)  rk  rl  r(  r   r  r'  r   r   rf   r$   ImportError	Exceptionis_test)r?   symbol_edgesshould_overwriter  is_class_defr  r   dep_node	rval_depsdep_node_as_aliasr=  r?  r  
module_symtarget_as_str	class_refr9  r   r2  r$  r:  rO  s                         r@   rx   Statement._make_lval_symbols_oldT  sc   '7)$..#--HH$NNS__c.B.BC
 "$..#,,?t~~

CNN/KL	l|$))) !-F,X6I$(H$=!dnncnn=="nn339rG [[__")1%6%;%;$<= 21  )djj.A.AUW__.T%)^^%9%9E$zzS0 $ = = A A&// R % &:
 ![[__->-C-CDF$!11!'!L!L %!2!9!9T!A	 "M "J "-!((););J<M<Msu)UV $S& 1 C'3-+?KK4iH''333 JJ//S\\4>>0R0W0WX	'0  $373C3C!!"Y-06 H::JJ ! ,,-NN.!-$3' $ 0 0",T^^cggs||=T"UU*4VSWW*E*E4*.*T*T -  NN,,

	 	 //?00//7 1K !-N   6%%NN)  *&#'':: '..v6!'  &   CQG6>>G "s&   >D=T7>0T77A.W=-W= 1W88W=c                 p   [        5       R                   H)  n[        R                  SU5        UR	                  5         M+     U R                  5       (       a  U R                  5         g [        U R                  [        R                  5      (       a  U R                  5         g [        U R                  5        g )Nzexternal call: %s)r   external_callsr   r4  _handle_implr   ry  r^   r-   r_   rr  ru  r    )r?   external_calls     r@   handle_dependenciesStatement.handle_dependencies  s{    #X44MKK+];&&( 5   ##%

33! !0rC   c                      SU l         S U l        g )NT)r6   r.   rL   s    r@   mark_finishedStatement.mark_finished  s    
rC   c                    U R                   (       a  g U R                  5         [        5       R                  5          [	        [        5       R
                  5       H  nUR                  UR                  [        5       R                  U R                  5      S   U R                  4UR                  S9nU(       d  Ma  [        5       R                  R                  X!45        M     S S S 5        U R                  5         g ! , (       d  f       N= f)Nr   )positionsymbol_name)r6   r  r   dataflow_tracing_disabledr}   this_stmt_updated_symbolswatchpointsr2  r   get_positionr.   rW   readable_nameactive_watchpointsre   r  )r?   r  passing_watchpointss      r@   finished_execution_hook!Statement.finished_execution_hook  s    >>  "X//1FH>>?&)ooGG++DJJ7: !$ 1 1 '6 '# '&F--446I5OP @ 2 	 21s   A;C;:(C;;
D	)r6   r:   r5   r7   r.   r8   r9   r1   r0   r<   r;   r>   r=   r-   )NNNF)r2   r'   )NNFrE   )r2   r%   )TFNT)TNT)FN)F)r2   N)Qr   
__module____qualname____firstlineno__r*   int__annotations__r+   r   r   r   r,   r"   r_   r   r   r   boolrA   classmethodr4   propertyrM   r/   rR   r7  rl   staticmethodr(  rh   r   r   r   r   r   r#   rF   ry   r   rx   r   r   rW   r   rK   r   r   r   r	   r   r   r   r   r   r   r   r   r   r  r   r   r   rD  r
   rt   rI  rY  rS  r[  rh  r`   rk  rl  ro  ru  ry  rx  r  r  r  __static_attributes__ rC   r@   r'   r'   /   s   !#3#79L$y${"334946L$vtK0016
 &*)-+/A88A 	"A I&	A
 K(A A 
A. 5 5 F   9   h{+   >c > > 	#'' 	 	 	 	  &*)-%88% 	"% I&	%
 % 
% %ND D/t /<t <   ?C.#./7}.	. . ,f , , , 8v 8(;2G 8 8 :V : : : ,) ,[0A , , 4 4 % % % $   " " "w$
 26%)

 
 d:./	

 #
 

  26%)	

 d:./
 #	

 

8 ;t ; ;2 2(#i (#E (#T "sww "4 " "P /4.2P:P: &kP: (,	P:
 !+P: 
P:l /3	chh		)* &k !+	
 
 #2kk#2/3HV4D/E#2	#2T +Vchh		)*+V !+V K	+V
 +V 
+V\ ?D,gg,&)gg,7;,	,\U%

CGGS\\(I"J Ut U4*dL
1
rC   r'   )Fr_   r  loggingr0  typesr   typingr   r   r   r   r   r	   r
   r   pyccolor   ipyflow.analysis.live_refsr   ipyflow.analysis.symbol_edgesr   ipyflow.analysis.symbol_refr   ipyflow.analysis.utilsr   ipyflow.data_modelr   ipyflow.data_model.namespacer   ipyflow.data_model.scoper   ipyflow.data_model.symbolr   ipyflow.data_model.timestampr   ipyflow.modelsr   r   r   ipyflow.singletonsr   r   r   ipyflow.slicing.contextr   r   ipyflow.slicing.mixinr   r   r   ipyflow.tracing.symbol_resolverr    ipyflow.tracing.utilsr!   ipyflow.typesr"   r#   rf   hasattripyflow.data_model.cellr%   	getLoggerr   r   setLevelWARNING_override_unused_warning_stmtsr'   ru   re   r  rC   r@   <module>r     s    
   
  N N N  L : 1 5 4 2 * , 2 A A 2 2 J C C @ U 4S)J, 
		8	$    ", l
 l
^ q y)&rC   