
    ^h                         S SK Jr  S SKJr  S SKJrJr  S SKJrJ	r	  S SK
Jr  S SKJr  \(       a  S SKJr  / SQrSS
 jrSS jrg	)    )TYPE_CHECKING)
singletons)IPyflowInteractiveShellUsesIPyflowShell)IPyflowInteractiveShellEmbedembed)IPyflowTerminalInteractiveShell)IPyflowZMQInteractiveShell)InteractiveShell)r   r   r   r	   r
   Nc                     U R                   n[        U[        5      (       a  S Ul        g  " S S[        R
                  U[        S9nUR                  US9  g )Nc                       \ rS rSrSrg)5load_ipython_extension.<locals>.GeneratedIPyflowShell    N)__name__
__module____qualname____firstlineno____static_attributes__r       P/home/james-whalen/.local/lib/python3.13/site-packages/ipyflow/shell/__init__.pyGeneratedIPyflowShellr      s    r   r   )	metaclass)prev_shell_class)	__class__
issubclassr   replacement_classr   IPyflowShellr   inject)ipycur_shell_clsr   s      r   load_ipython_extensionr"      sK    MMM-!899*.'	J$;$;]Vf 	 	$$m$Dr   c                     [        U [        5      (       d   eU R                  nUR                  c   eUR                  Ul        g )N)
isinstancer   r   r   r   )r    r!   s     r   unload_ipython_extensionr%   "   s?    c23333MMM))555&3&D&DM#r   )r    r   returnN)typingr   ipyflowr   ipyflow.shell.interactiveshellr   r   #ipyflow.shell.interactiveshellembedr   r   &ipyflow.shell.terminalinteractiveshellr	   ipyflow.shell.zmqshellr
   IPythonr   __all__r"   r%   r   r   r   <module>r/      s0       T S R =(	EEr   