
    ^he                     $   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  S SKJ	r	  S SK
JrJr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$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,  S SK-J.r.J/r/  S SK0J1r1  S SK2J3r3  S SK4J5r5  S SK6J7r7  S SK8J9r9  S SK:J;r;  S SK<J=r=  S SK>J?r?  S SK@JArAJBrBJCrC  S SKDJErE  S SKFJGrG  S SKHJIrIJJrJ  \R                  " \L5      rM\MR                  \R                  5         " S S\R                  5      rPg)    N)defaultdict)contextmanager)	FrameType)
AnyDict	GeneratorIterableListOptionalSetTupleUnioncast)IPythonKernel)PYCCOLO_DEV_MODE_ENV_VAR)
singletons)	SymbolRef)-compile_handlers_for_already_imported_modules)CommManager)	ColorSchemeDataflowSettingsExecutionModeExecutionScheduleFlowDirection
Highlights	InterfaceMutableDataflowSettingsReactivityMode)Cellcells)	Namespace)Scope)
statements)Symbol)	Timestamp)FrontendCheckerResult)make_line_magic)shell)SlicingContextslicing_ctx_varstatic_slicing_context)DataflowTracer)
Watchpoint)IdTypeSupportedIndexTypec                     ^  \ rS rSrSrSJU 4S jjrS\SS4S jrSJS jrS	\	\
\\\   4      SS4S
 jrSSSS.S\	\   S\	\
\\4      S	\	\
\\\   4      SS4S jjr\S\4S j5       r\S\4S j5       r\S\4S j5       r\R,                  SJS j5       rS\S\	\   4S jr\S\4S j5       rS\4S jrS\4S jrSJS jr\S\ S\!S   4S j5       r"S\#S\#S\SS4S jr$S\S\4S  jr%S\S\4S! jr&S" r' SKS#\(S\\)4   S\(S\\)4   4S$ jjr*S\+\\(S\\)4   4   4S% jr,S&\-S\+\\4   4S' jr.S(\S)\SS4S* jr/S(\S\4S+ jr0S,\SS4S- jr1S.\+\S/4   SS4S0 jr2\S1\
\\4   4S2 j5       r3S3 r4     SLS4\	\5\       S5\S6\	\   S7\S8\S\64S9 jjr7S\ SS4S: jr8SJS; jr9S<\5\   SS4S= jr:S>\;\   SS4S? jr<\S@ 5       r=S\5\   4SA jr>SB r?SC r@SD rASE\SF\BSG\4SH jrCSIrDU =rE$ )MNotebookFlow?   zGHolds all the state necessary to capture dataflow in Jupyter notebooks.returnNc                   > [         TU ]  5         [        5       R                  5         [	        5       R                  5         [        5       R                  R                  n[        U 5      U l	        [        UR                  SS5      UR                  S[        USS5      5      UR                  S[        USS5      5      UR                  S[        USS5      5      S9U l        UR                  S[        R                  5      n[!        S"0 S	UR                  S	S5      _S
UR                  S
S5      _SUR                  S["        R$                  5      _SUR                  S[        R                  5      _SUR                  S[        USS5      5      _SUR                  S[        USS5      5      _S['        UR                  S[        US[&        R(                  5      5      5      _S[+        UR                  S[        US[*        R,                  5      5      5      _S[/        UR                  S[        US[.        R0                  5      5      5      _S[3        UR                  S[        US[2        R4                  5      5      5      _SUR                  S[        USS5      5      _SUR                  S[        USS5      5      _SUR                  S[        USU[        R6                  :H  5      5      _S[9        UR                  S[        US[8        R(                  5      5      5      _SUR                  S[        USS5      5      _SUR                  S[        USS5      5      _SUR                  S[        US[:        R<                  S:  5      5      _SUR                  S[        USS5      5      _SUR                  S[        USS5      5      _SUR                  S[        US[>        R@                  " [B        5      S:H  5      5      _6U l"        U RF                  (       a  S[>        RH                  [B        '   O$[>        RH                  R                  [B        S 5        0 U l%        0 U l&        0 U l'        [Q        5       U l)        0 U l*        [W        5       U l,        [W        5       U l-        SU l.        [Q        5       U l/        [Q        5       U l0        [Q        5       U l1        [Q        5       U l2        [Q        5       U l3        / U l4        0 U l5        0 U l6        S U l7        SU l8        S U l9        [Q        5       U l:        0 U l;        S U l<        S U l=        S U l>        S U l?        S!U l@        S!U lA        S"U lB        S U lC        S U lD        0 U lE        [        U 5      U lG        S U lH        S U lI        S U lJ        S U lK        S U lL        S U lM        S!U lN        S!U lO        [        S#15        g )$Ntest_contextF!mark_waiting_symbol_usages_unsafeTmark_typecheck_failures_unsafemark_phantom_cell_usages_unsafe)r5   r6   r7   r8   	interfacedataflow_enabledtrace_messages_enabled
highlightsstatic_slicing_enableddynamic_slicing_enabled	exec_modeexec_schedule
flow_orderflow_directionreactivity_modepush_reactive_updates push_reactive_updates_to_cousinspull_reactive_updatescolor_schemewarn_out_of_order_usageslint_out_of_order_usagessyntax_transforms_enabled      syntax_transforms_only#max_external_call_depth_for_tracingrL   is_dev_mode1r    ipyflow)Qsuper__init__r    clearr#   r(   configrT   r'   _line_magicr   popgetattrsettingsr   UNKNOWNr   r   EXECUTEDr   NORMALr   LIVENESS_BASEDr   IN_ORDERr   BATCH
JUPYTERLABr   sysversion_infoosgetenvr   mut_settingsrP   environ
namespacesaliasesdeco_metadata_by_obj_idsetstarred_import_modulesstmt_deferred_static_parentsr"   global_scopevirtual_symbols_virtual_symbols_initedupdated_symbolsupdated_reactive_symbolsupdated_deep_reactive_symbols"updated_reactive_symbols_last_cell'updated_deep_reactive_symbols_last_cellactive_watchpoints%blocked_reactive_timestamps_by_symbolstatement_to_func_symactive_cell_idwaiter_usage_detected#out_of_order_usage_detected_counter_prev_cell_waiting_symbols_cell_name_to_cell_num_mapping"_exception_raised_during_execution_last_exception_raisedexception_counter_saved_debug_messagemin_timestampmin_cascading_reactive_cell_num_tagslast_executed_contentlast_executed_cell_idtracked_timestampsr   comm_managerfsdisplay_symfake_edge_sym_override_child_cell_prev_cell_metadata_by_id_prev_order_idx_by_id_min_new_ready_cell_counter!_min_forced_reactive_cell_counterr   )selfkwargsrX   r9   	__class__s       F/home/james-whalen/.local/lib/python3.13/site-packages/ipyflow/flow.pyrV   NotebookFlow.__init__B   s   ''*40*:NE:.4jj3 CTJ/ ,2::0 @%H, -3JJ1 A5I-+
 JJ{I,=,=>	5L W6
#ZZ(:DAW6
#)::.F#NW6
 zz,
0C0CDW6
 jji.?.?@	W6

 $*::( 8$?$W6
 %+JJ) 94@%W6
 $

FK1E1EFW6
& ,

#FO5F5U5UV'W6
2 %

$F$4m6L6LM3W6
> +

%F$5~7K7KL?W6
J #)**' 7>#KW6
R .4ZZ2 BEJ.SW6
Z #)**'3Y)BVBV5V#[W6
f %

"FNK4F4FGgW6
r &,ZZ* :EB&sW6
z &,ZZ* :EB&{W6
B '-jj+79I9IV9S'CW6
N $*::( 8%@$OW6
V 17

5 EqI1WW6
^ 

!II673>_W6
p 36BJJ/0JJNN3T:02/1  	$ 14#  	) $)7&+g-2$,/E58U%:=%*?Bu/DGE4OQHJ28:"04%*"BF07:u'>@+OS/CG#&'37!/1,&(
48"7;"8:)4T):!#'%)48!QU&BF"+-(13.5ykB    kernelc                 :    U R                   R                  U5        g N)r   register_comm_target)r   r   s     r   r   !NotebookFlow.register_comm_target   s    ..v6r   c                 $   U R                   (       a  g [        [        R                  S5      U l        U R                  R                  S[        R                  SSS9U l        U R                  R                  S[        5       SSS9U l
        SU l         g )Nr   displayFT)	propagateimplicitr   )rr   r!   FILE_SYSTEMr   rq   upsert_symbol_for_namer$   DISPLAYr   objectr   r   s    r   init_virtual_symbols!NotebookFlow.init_virtual_symbols   s    ''I1148//FFv~~ G 
 "11HHVX I 
 (,$r   cell_parentsc                 z   Uc  g [        5          UR                  5        H]  u  p# [        5       R                  U5      nU H8  n [        5       R                  U5      nUR                  X`R                  5        M:     M_     S S S 5        g ! [         a     Mw  f = f! [         a     Mg  f = f! , (       d  f       g = fr   )r+   itemsr    from_idKeyErroradd_parent_edger   )r   r   childparents
child_cellparentparent_cells          r   _initialize_cell_parents%NotebookFlow._initialize_cell_parents   s     #%"."4"4"6!&!7J &F!&+goof&= ..{<N<NO & #7 &%   
 $ ! ! &%sQ   B,B
B,B#B,

BB,BB,
B)	%B,(B)	)B,,
B:)r9   cell_metadata_by_idr   r9   r   c          	         [        5       R                  R                  n[        U5      nU R                  R
                  U:X  a  g X`R                  l        [        USUR                  SS5      5      U R                  l        [        USUR                  S[        R                  S:  5      5      U R                  l        [        USUR                  SS5      5      U R                  l        [        [        USUR                  S5      5      5      U R                  l        [        [        USUR                  S5      5      5      U R                  l        [#        [        US	UR                  S	5      5      5      U R                  l        ['        [        US
UR                  S
5      5      5      U R                  l        [+        [        USUR                  S5      5      5      U R                  l        [        USUR                  S5      5      n[        USUR                  S5      5      n[        USUR                  SU[        R.                  :H  5      5      n	Ub  XpR                  l        Ub  XR                  l        U	b  XR                  l        [7        [        USUR                  S5      5      5      U R                  l        [        USUR                  SU R                  R:                  5      5      U R                  l        [        USUR                  SU R                  R<                  5      5      U R                  l        U R<                  (       a  S[>        R@                  [B        '   O$[>        R@                  RE                  [B        S 5        U RG                  5         Ub  U RH                  RK                  SU0SS9  U RM                  U5        g )Nr:   TrJ   rK   rN   Fr?   r@   rB   r<   rC   rD   rE   rF   rG   rO   rP   rQ   r   )is_reactively_executing)'r(   rX   rT   r   rh   r9   r[   getr:   rd   re   rJ   rN   r   r?   r   r@   r   rA   r   r<   r   rC   rc   rD   rE   rF   r   rG   rO   rP   rf   ri   r   rZ   r   r   handle_notify_content_changedr   )
r   r9   r   r   r   rX   ifacerD   rE   rF   s
             r   
initializeNotebookFlow.initialize  sg    '')$&&%/&+#-4&

3Et(L.
* 7>'JJ2C4D4D4NO7
3
 4;$JJ/74
0
 '4

;''
# +<

?++
' (5 

+,(
$ (2FL&**\*BC(
$ -;!

,--
) !(#JJ./!

 ,3.JJ9:,
(
 !(#JJ.9M9M0MN!

 !,6K3+7Aa> ,6K3)4

>**
& AH1JJ5!!EEA
= )0JJ}d&7&7&C&CD)
%
 36BJJ/0JJNN3T:!!#*;;&(;<(, <  	%%l3r   c                 .    U R                   R                  $ r   )rh   rP   r   s    r   rP   NotebookFlow.is_dev_moder  s      ,,,r   c                 .    U R                   R                  $ r   )r\   r5   r   s    r   is_testNotebookFlow.is_testv  s    }})))r   c                 .    U R                   R                  $ r   rh   r;   r   s    r   r;   #NotebookFlow.trace_messages_enabledz  s      777r   c                 $    XR                   l        g r   r   )r   new_vals     r   r;   r   ~  s    3:0r   obj_idc                 t    U R                   R                  U/ 5       H  nUR                  (       a  M  Us  $    g r   )rk   r   is_anonymous)r   r   aliass      r   get_first_full_symbol"NotebookFlow.get_first_full_symbol  s3    \\%%fb1E%%% 2 r   c                  2    [        5       R                  5       $ r   )r    exec_counterrS   r   r   cell_counterNotebookFlow.cell_counter  s    w##%%r   c                 `    [        U R                  U R                  5       U R                  5      $ r   )maxr   r   r   r   s    r   min_new_ready_cell_counter'NotebookFlow.min_new_ready_cell_counter  s+    ,,d.?.?.A4CUCU
 	
r   c                 B    [        U R                  U R                  5      $ r   )r   r   r   r   s    r    min_forced_reactive_cell_counter-NotebookFlow.min_forced_reactive_cell_counter  s!    22
 	
r   c                 .    U R                  5       U l        g r   )r   r   r   s    r    bump_min_forced_reactive_counter-NotebookFlow.bump_min_forced_reactive_counter  s    151B1B1D.r   cell)NNNc              #   \   #    U R                   n Xl         S v   X l         g ! X l         f = f7fr   )r   )r   r   orig_overrides      r   override_child_cell NotebookFlow.override_child_cell  s*     11	6(,%(5%%s   ,
! ,),r   r   symc                    UR                   (       d  g UR                  (       d   eU R                  =(       d    [        5       R	                  U5      nUR
                  R                  U5        [        5       R	                  U5      nUR                  (       a"  UR                  (       a  UR                  XS5        UR                  (       d  g [        R                  " 5       [        R                  :X  aA  [        5       R	                  U5      R                  [        5       R	                  U5      U5        g U R                  R                  U0 5      R                  U[!        5       5      R                  U5        g r   )is_globally_accessibleis_initializedr   r    at_timestampused_symbolsadd
is_currentr   r*   r   r)   DYNAMICr#   ro   
setdefaultrm   )r   r   r   r   r   r   s         r   add_data_depNotebookFlow.add_data_dep  s    ))$$$$..M%'2F2Fu2M
##C(g**62  [%;%;&&{8## N$:$::L%%e,<<))&13 --88CNNc#hr   c                 H    XR                   ;   =(       d    XR                  ;   $ r   )rt   rv   r   r   s     r   is_updated_reactive NotebookFlow.is_updated_reactive  s$    000 >===	
r   c                 H    XR                   ;   =(       d    XR                  ;   $ r   )ru   rw   r   s     r   is_updated_deep_reactive%NotebookFlow.is_updated_deep_reactive  s%    555 CBBB	
r   c                 ~   U R                  5        Hy  nUR                  R                  5         [        R                  " 5       =Ul        =Ul        Ul        UR                  R                  5         UR                  R                  5         M{     [        5       R                  5         [        5       R                  5         g r   )all_symbols_updated_timestampsrW   r%   uninitialized
_timestamp_max_inner_timestamprequired_timestamptimestamp_by_used_timetimestamp_by_liveness_timer    r#   r   s     r   reset_cell_counterNotebookFlow.reset_cell_counter  s    ##%C##))+'')CN S58N &&,,.**002 & 	r   r   c                 f    U R                   nXl         Ub  Xl        U =R                  S-  sl        U$ )N   )r   r   r   )r   r   rets      r   -get_and_set_exception_raised_during_execution:NotebookFlow.get_and_set_exception_raised_during_execution  s7     5529/*1'""a'"
r   c                 R    U R                   U R                  4nSU l         S U l        U$ Nr   )r   r   r   r  s     r   reset_exception_counter$NotebookFlow.reset_exception_counter  s-    $$d&A&AA!"&*#
r   framec                      U R                   R                  UR                  R                  S 5      nUc  U R	                  5       nX!R
                  4$ ! [         a1  n[        R                  SUR                  R                  5        UeS nAff = f)Nz&key error while retrieving cell for %s)	r   r   f_codeco_filenamer   f_linenor   loggererror)r   r	  cell_numes       r   get_positionNotebookFlow.get_position  s    	::>>(($H ,,.^^++ 	LL8%,,:R:R G		s   AA 
B,BBfnamectrc                      X R                   U'   g r   r   )r   r  r  s      r   set_name_to_cell_num_mapping)NotebookFlow.set_name_to_cell_num_mapping  s    58++E2r   c                     XR                   ;   $ r   r  )r   r  s     r   is_cell_fileNotebookFlow.is_cell_file  s    ;;;;r   cell_idc                     Xl         g r   )r{   )r   r  s     r   set_active_cellNotebookFlow.set_active_cell  s    %r   tags.c                     Xl         g r   )r   )r   r!  s     r   set_tagsNotebookFlow.set_tags  s    
r   content_by_cell_idc                     U R                  5        H<  u  p[        5       R                  U5      nUb  M#  [        5       R                  XSSS9  M>     g )NrS   F)bump_cell_counter)r   r    from_id_nullablecreate_and_track)r%  r  contentr   s       r   #_create_untracked_cells_for_content0NotebookFlow._create_untracked_cells_for_content  sJ     2 8 8 :G7++G4DG$$WrU$S	 !;r   c                    U R                   R                  [        R                  :X  a   [        R                  U R                   l        OjU R                   R                  [        R                  :X  a   [        R                  U R                   l        O"[        SU R                   R                  -  5      eU R                  5       S-   U l        g )Nzunhandled exec mode: %sr   )rh   r?   r   r_   REACTIVE
ValueErrorr   r   r   s    r   toggle_reactivityNotebookFlow.toggle_reactivity  s    &&-*>*>>*7*@*@D'((M,B,BB*7*>*>D'69J9J9T9TTUU+/+<+<+>+B(r   cells_to_checkupdate_liveness_time_versionsr   clear_updated_reactive_symbolsallow_new_readyc                 F   [         R                  " US9n [        [        R                  " 5       R
                  ;  d  [        R                  " 5       (       d>  UU(       a5  U R                  R                  5         U R                  R                  5         $ $ UR                  UUUS9U(       a5  U R                  R                  5         U R                  R                  5         $ $ ! U(       a5  U R                  R                  5         U R                  R                  5         f f = f)N)r5  )r2  r3  r   )r&   emptyr,   r   r(   registered_tracersinitializedrv   rW   rw   compute_frontend_checker_result)r   r2  r3  r   r4  r5  results          r   check_and_link_multiple_cells*NotebookFlow.check_and_link_multiple_cells  s     ',,_M	Ej&6&6&8&K&KK%1133 .77==?<<BBD . 99-.K&; :  .77==?<<BBD .-77==?<<BBD .s   AC" C" ">D c                    [         R                  " 5       R                   H  nUR                  5         M     U R	                  U/U R
                  R                  SS9nUR                  UR                  ;   a  SU l	        UR                  R                  UR                  S 5      nUb  [        S U 5       5      S   U l        g g )NT)r2  r3  r4  c              3   P   #    U  H  oR                   UR                  4v   M     g 7fr   )positioncell_ctr).0r   s     r   	<genexpr>5NotebookFlow._safety_precheck_cell.<locals>.<genexpr>6  s      ;;M4.;Ms   $&r   )r   r(   r8  instancer<  rh   r=   r  waiting_cellsr|   unsafe_order_cellsr   r   r}   )r   r   tracerchecker_resultrG  s        r   _safety_precheck_cell"NotebookFlow._safety_precheck_cell)  s     &&(;;FOO < ;; 6*.*;*;*R*R+/ < 

 <<>777)-D&+>>BB4<<QUV)7: ;;M; 88D4 *r   c                 R   [        5       R                  5       R                  =(       d    /  Hf  n[        R                  " U5      nUc  M  [        5          U R                  [        U R                  5       S5      UR                  U5        S S S 5        Mh     g ! , (       d  f       Mz  = fr  )
r    current_celloverride_live_refsr   resolver+   r   r%   r   	timestamp)r   live_sym_refr   s      r   #_add_parents_for_override_live_refs0NotebookFlow._add_parents_for_override_live_refs:  s{    !G002EEKKL##L1C+-%%!$"3"3"5q93==# .- L .-s   6B
B&	symbolsc                 4    U H  nUR                  SS9  M     g )NF)refresh)resync_if_necessary)r   rT  r   s      r   _resync_symbolsNotebookFlow._resync_symbolsC  s    C##E#2 r   danglingc                 Z   [         R                  " 5        H]  n[        5       R                  5        H>  n[	        UR
                  R                  5       5       H  nUR                  XA5        M     M@     M_     [        5       R                  U R                  5       5      nUR                  nUc  g [         R                  " 5        He  n[	        UR
                  R                  5       5       H;  u  pgUR                  XgUR
                  R                  U[        5       5      -
  5        M=     Mg     g r   )r)   iter_slicing_contextsr    &iterate_over_notebook_in_counter_orderlistraw_parentskeysremove_parent_edges
at_counterr   	prev_cellr   r   rm   )r   rZ  _r   pidrc  prev_pid	sym_edgess           r   _remove_dangling_parent_edges*NotebookFlow._remove_dangling_parent_edgesG  s    557AFFH 0 0 5 5 78C,,S; 9 I 8 w!!$"3"3"56NN	557A'+I,A,A,G,G,I'J#(($*:*:*>*>x*OO (K 8r   c                 .    U R                   R                  $ r   )rY   __name__r   s    r   line_magic_nameNotebookFlow.line_magic_nameW  s    (((r   c              #   f   #    U R                   R                  5        H  nU S h  vN   M     g  N	7fr   )rk   values)r   	alias_sets     r   r   NotebookFlow.all_symbols[  s(     ,,.I    / s   #1/
1c                 ,    U R                   nSU l         U$ )NF)r|   r  s     r   $test_and_clear_waiter_usage_detected1NotebookFlow.test_and_clear_waiter_usage_detected_  s    ((%*"
r   c                 ,    U R                   nS U l         U$ r   )r}   r  s     r   2test_and_clear_out_of_order_usage_detected_counter?NotebookFlow.test_and_clear_out_of_order_usage_detected_counterd  s    66370
r   c                    [        5       R                  U R                  5       5      R                  nUc  SOUR                  nUS:  aa  U R                  5        HM  nUR                  U:w  a  M  UR                  (       d  UR                  5       (       d  M=  UR                  5         MO     U R                  5        Vs/ s H  o3R                  (       d  M  UPM     nnU H  nUR                  5         M     U R                  R                  5        Vs/ s H  oUR                  (       d  M  UPM     nnU H5  nUR                  S:X  a  UR                  5         M%  UR                  5         M7     g s  snf s  snf )NrR   r   )r    rb  r   rc  rA  r   defined_cell_numr   is_new_garbagemark_garbage
is_garbagecollect_self_garbagerj   ro  sizeunmark_garbage)r   rc  prev_cell_ctrr   garbage_symsnsgarbage_namespacess          r   gcNotebookFlow.gci  s    G&&t'8'8':;EE	'/Y5G5G1'')''=8##s'9'9';';$$&	 *
 (,'7'7'9L'9^^'9LC$$&  +/??+A+A+CU+CR}}b+CU$Bww!|'')!!#	 %	 M Vs   <E-E-E2)E2objattr_or_subis_subscriptc                 L    [         R                  " 5          U(       a*  [        U5      [        L a  [	        S5      eX   sS S S 5        $ U R
                  (       a  [        U[        5      (       d   e[        U[        [        U5      5      sS S S 5        $ ! , (       d  f       g = f! [        [        [        [        4 a    e [         aZ  nU R
                  (       aB  [        R                  SU5        [        R                  SU5        [        R                  SU5        UeS nAff = f)Nz$subscript on defaultdict not allowedzunexpected exception: %sz
object: %szattr / subscript: %s)pycallow_reentrant_event_handlingtyper   	TypeErrorrP   
isinstancestrr[   r   AttributeError
IndexErrorr   	Exceptionr  warning)r   r  r  r  r  s        r   retrieve_namespace_attr_or_sub+NotebookFlow.retrieve_namespace_attr_or_sub}  s    	335 CyK/'(NOO+ 65 '')+s;;;;"3S+(>? 655 
Hi@ 	 	91=|S15{CG	sA   B% (B	B% 	AB
	B% 
B"B% "B% %$D#	ADD#)+r   r   r   rY   r   r   r   r   r~   r   r   r   rr   r{   rx   rk   ry   r   rl   r   r   r   r   rp   r   r   r   r   rh   rj   r}   r\   rn   rz   ro   r   ru   rw   rt   rv   rs   rq   r|   )r3   Nr   )NFNFT)Frk  
__module____qualname____firstlineno____doc__rV   r   r   r   r   r   r.   r
   r   r  r   r   propertyboolrP   r   r;   setterintr$   r   staticmethodr   r   r   r   r   r   r   r   r%   r   r   r   r   r   r  r  r   r  r   r  r  r  r  r#  r+  r0  r	   r&   r<  rJ  rR  rX  r   rh  rl  r   rs  rv  r  r/   r  __static_attributes____classcell__)r   s   @r   r1   r1   ?   s   Q_CB7= 7T 7
,P$T&$v,*>%?@P	P* $(8<=Al4 C=l4 &d38n5	l4
 tFDL$89:l4 
l4\ -T - - * * * 8 8 8 ""; #;C HV4D  &# & &
C 


# 
E 6 6;K1L 6 6  	
 
4
v 
$ 

F 
t 

 6:T3	12	tS)#	$sE$Y:N4O/O)P ) c3h 9# 9C 9D 9<# <$ <&v &$ &U38_   TVS[@Q T TC 48.326/4 $E $0E (,E  (/	E
 )-E E 
E2$ 4 "3x'7 3D 3c&k d   ) )!Xf- !

$(%7GK r   r1   )Qastloggingrf   rd   collectionsr   
contextlibr   typesr   typingr   r   r   r	   r
   r   r   r   r   r   pyccolor  ipykernel.ipkernelr   pyccolo.tracerr   rT   r   ipyflow.analysis.symbol_refr   ipyflow.annotations.compilerr   ipyflow.comm_managerr   ipyflow.configr   r   r   r   r   r   r   r   r   ipyflow.data_model.cellr   r    ipyflow.data_model.namespacer!   ipyflow.data_model.scoper"   ipyflow.data_model.statementr#   ipyflow.data_model.symbolr$   ipyflow.data_model.timestampr%   ipyflow.frontendr&   ipyflow.line_magicsr'   ipyflow.singletonsr(   ipyflow.slicing.contextr)   r*   r+   ipyflow.tracing.ipyflow_tracerr,   ipyflow.tracing.watchpointr-   ipyflow.typesr.   r/   	getLoggerrk  r  setLevelWARNINGr1   rS   r   r   <module>r     s    
  	 
 # %     , 3  1 V ,
 
 
 0 2 * 3 , 2 2 / $ 
 : 1 4			8	$   T	:** T	r   