
    Ch                         S r SSKrSSKJr  SSKJr  SSKrSSKr	SSK	J
r
JrJrJrJr  SSKJr  SSKJr   " S S	\R&                  R(                  5      r " S
 S\\	R*                  R,                  5      rS/rg)zBase class for a Comm    N)Optional)warn)BoolBytesInstanceUnicodedefault)
json_clean)Kernelc                   8    \ rS rSr% SrSr\S   \S'   SS jrSr	g)	BaseComm   zThe base class for comms.Nr   kernelc           
         [         R                  " 5       (       d  gUc  0 OUnUc  0 OUn[        [        SX R                  S.UD65      nU R
                  c  [         R                  " 5       U l        U R
                  R                  c   eU R
                  R                  R                  U R
                  R                  UU[        U5      U R
                  R                  5       U R                  US9  g)z*Helper for sending a comm message on IOPubN)datacomm_id)metadataparentidentbuffers )r   initializedr
   dictr   r   instancesessionsendiopub_socket
get_parenttopic)selfmsg_typer   r   r   keyscontents          fC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\ipykernel/comm/comm.pypublish_msgBaseComm.publish_msg   s    !!##\rt!)2xTJt\\JTJK;; //+DK{{""...  KK$$);;))+** 	! 	
    )r   )NNN)
__name__
__module____qualname____firstlineno____doc__r   r   __annotations__r%   __static_attributes__r   r'   r$   r   r      s    #!%FHX%
r'   r   c                       \ rS rSrSr\" SSS9r\" 5       r\	" SSS9r
\" S5      r\" S	SS
S9r\" 5       r\" S5      S 5       r\" S5      S 5       r SS jrSrg	)Comm1   z7Class for communicating between a Frontend and a Kernelzipykernel.kernelbase.KernelT)
allow_nonez#Am I the primary or secondary Comm?)helpcommNz8requirejs module from
        which to load comm target.)r2   r3   r   c                 b    [         R                  " 5       (       a  [         R                  " 5       $ g N)r   r   r   r    s    r$   _default_kernelComm._default_kernelB   s!    ??$$r'   r   c                 @    [         R                  " 5       R                  $ r6   )uuiduuid4hexr7   s    r$   _default_comm_idComm._default_comm_idH   s    zz|r'   c                    U(       a  [        S[        SS9  SU;   nUR                  SS5      nU(       a  XS'   [        R                  " U 4X#US.UD6  U(       a  XS'   [
        R                  R                  R                  " U 40 UD6  g)zInitialize a comm.zThe `ipykernel.comm.Comm` class has been deprecated. Please use the `comm` module instead.For creating comms, use the function `from comm import create_comm`.   )
stacklevelr   Ntarget_name)r   r   r   )r   DeprecationWarningpopr   __init__	traitletsconfigLoggingConfigurable)	r    rC   r   r   r   show_warningkwargs
had_kernelr   s	            r$   rF   Comm.__init__L   s     W"	 '
Hd+$/=!$XTgXQWX%8,,55dEfEr'   r   ) NNNT)r(   r)   r*   r+   r,   r   r   r   r   r   primaryrC   target_moduler   r   r	   r8   r>   rF   r.   r   r'   r$   r0   r0   1   s    A3EFiG4CDG&/K&M GEX 
 Y    TXFr'   r0   )r,   r;   typingr   warningsr   comm.base_commr4   traitlets.configrG   r   r   r   r   r	   ipykernel.jsonutilr
   ipykernel.kernelbaser   	base_commr   rH   rI   r0   __all__r   r'   r$   <module>rY      sa    
      = = ) '
t~~&& 
<0F8Y%%99 0Ff (r'   