§
    �Ÿj~  ã                   ó¤   — d Z ddlZddlZddlZddlZddlmZmZ ddl	m
Z
 ddlmZ ddlmZ ddlmZmZ dd	lmZ  G d
„ de¦  «        Zej        ZdS )z@An application to launch a kernel by name in a local subprocess.é    N)Ú
JupyterAppÚ
base_flags)ÚIOLoop)ÚUnicodeé   )Ú__version__)ÚNATIVE_KERNEL_NAMEÚKernelSpecManager)ÚKernelManagerc                   ó   ‡ — e Zd ZdZeZdZeegZ	dddœZ
ded         iZ eed¬¦  «                             d	¬
¦  «        Zddej        eej        e         df         ddfˆ fd„Zdd„Zdeddfd„Zdd„Zdd„Zdd„Zˆ xZS )Ú	KernelAppz.Launch a kernel by name in a local subprocess.z$Run a kernel locally in a subprocesszKernelApp.kernel_namezKernelManager.ip)ÚkernelÚipÚdebugz"The name of a kernel type to start)ÚhelpT)ÚconfigNÚargvÚreturnc                 óÈ  •— t          ¦   «                              |¦  «         dt          j        ¦   «         z  }| j                             di ¦  «                             dt          j                             | j	        |¦  «        ¦  «         t          | j        | j        ¬¦  «        | _        t          j        ¦   «         | _        | j                             | j        ¦  «         dS )zInitialize the application.zkernel-%s.jsonr   Úconnection_file)Úkernel_namer   N)ÚsuperÚ
initializeÚuuidÚuuid4r   Ú
setdefaultÚosÚpathÚjoinÚruntime_dirr   r   Úkmr   ÚcurrentÚloopÚadd_callbackÚ_record_started)Úselfr   Úcf_basenameÚ	__class__s      €úe/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/jupyter_client/kernelapp.pyr   zKernelApp.initialize#   s¶   ø€ å‰Œ×Ò˜4Ñ Ô Ð à&­¬©¬Ñ5ˆØŒ×Ò˜°Ñ3Ô3×>Ò>Ø�rœwŸ|š|¨DÔ,<¸kÑJÔJñ	
ô 	
ð 	
õ  ¨DÔ,<ÀTÄ[ÐQÑQÔQˆŒå”NÑ$Ô$ˆŒ	ØŒ	×Ò˜tÔ3Ñ4Ô4Ð4Ð4Ð4ó    c                 óÂ   ‡ — t           j        dk    rdS dt          dt          j        ddfˆ fd„}t
          j        t
          j        fD ]}t          j        ||¦  «         ŒdS )z&Shutdown on SIGTERM or SIGINT (Ctrl-C)ÚntNÚsignoÚframer   c                 óH   •— ‰j                              ‰j        | ¦  «         d S ©N)r#   Úadd_callback_from_signalÚshutdown)r-   r.   r&   s     €r)   Úshutdown_handlerz1KernelApp.setup_signals.<locals>.shutdown_handler5   s#   ø€ ØŒI×.Ò.¨t¬}¸eÑDÔDÐDÐDÐDr*   )r   ÚnameÚintÚtÚAnyÚsignalÚSIGTERMÚSIGINT)r&   r3   Úsigs   `  r)   Úsetup_signalszKernelApp.setup_signals0   s‹   ø€ åŒ7�dŠ?ˆ?ØˆFð	E¥Cð 	Eµ´ð 	E¸$ð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eõ ”N¥F¤MÐ2ð 	1ð 	1ˆCÝŒM˜#Ð/Ñ0Ô0Ð0Ð0ð	1ð 	1r*   r-   c                 ó    — | j                              d|¦  «         | j                             ¦   «          | j                             ¦   «          dS )zShut down the application.zShutting down on signal %dN)ÚlogÚinfor!   Úshutdown_kernelr#   Ústop)r&   r-   s     r)   r2   zKernelApp.shutdown;   sE   € àŒ�ŠÐ2°EÑ:Ô:Ð:ØŒ×ÒÑ!Ô!Ð!ØŒ	�ŠÑÔÐÐÐr*   c                 óÄ   — | j         j        }| j                             d|¦  «         | j                             dt          j                             |¦  «        ¦  «         dS )z'Log the connection info for the kernel.zConnection file: %sz"To connect a client: --existing %sN)r!   r   r>   r?   r   r   Úbasename)r&   Úcfs     r)   Úlog_connection_infozKernelApp.log_connection_infoA   sP   € àŒWÔ$ˆØŒ�ŠÐ+¨RÑ0Ô0Ð0ØŒ�ŠÐ:½B¼G×<LÒ<LÈRÑ<PÔ<PÑQÔQÐQÐQÐQr*   c                 ó    — t           j                             d¦  «        }|�,t          |d¦  «        5  	 ddd¦  «         dS # 1 swxY w Y   dS dS )zvFor tests, create a file to indicate that we've started

        Do not rely on this except in our own tests!
        Ú*JUPYTER_CLIENT_TEST_RECORD_STARTUP_PRIVATENÚwb)r   ÚenvironÚgetÚopen)r&   Úfns     r)   r%   zKernelApp._record_startedG   s™   € õ
 ŒZ�^Š^ÐHÑIÔIˆØˆ>Ý�b˜$‘”ð ð Øðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ð ˆ>s   ²AÁAÁAc                 ój  — | j                              d| j        ¦  «         	 | j                             ¦   «          |                      ¦   «          |                      ¦   «          | j                             ¦   «          | j         	                    ¦   «          dS # | j         	                    ¦   «          w xY w)zStart the application.zStarting kernel %rN)
r>   r?   r   r!   Ústart_kernelrE   r<   r#   ÚstartÚcleanup_resources)r&   s    r)   rO   zKernelApp.startQ   sŸ   € àŒ�ŠÐ*¨DÔ,<Ñ=Ô=Ð=ð	(ØŒG× Ò Ñ"Ô"Ð"Ø×$Ò$Ñ&Ô&Ð&Ø×ÒÑ Ô Ð ØŒI�OŠOÑÔÐàŒG×%Ò%Ñ'Ô'Ð'Ð'Ð'øˆDŒG×%Ò%Ñ'Ô'Ð'Ð'øøøs   ¢AB ÂB2r0   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚversionÚdescriptionr   r
   ÚclassesÚaliasesr   Úflagsr   r	   Útagr   r6   ÚUnionÚstrÚSequencer   r<   r5   r2   rE   r%   rO   Ú__classcell__)r(   s   @r)   r   r      sI  ø€ € € € € Ø8Ð8à€GØ8€KàÐ/Ð0€Gð *Ø ðð €Gð �j Ô)Ð*€Eà�'Ð,Ð3WÐXÑXÔX×\Ò\Øð ]ñ ô €Kð5ð 5˜qœw s¨A¬J°s¬O¸TÐ'AÔBð 5Èdð 5ð 5ð 5ð 5ð 5ð 5ð	1ð 	1ð 	1ð 	1ð˜cð  dð ð ð ð ðRð Rð Rð Rðð ð ð ð	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(r*   r   )rT   r   r8   Útypingr6   r   Újupyter_core.applicationr   r   Útornado.ioloopr   Ú	traitletsr   Ú r   Ú
kernelspecr	   r
   Úmanagerr   r   Úlaunch_instanceÚmain© r*   r)   ú<module>ri      së   ðØ FÐ Fà 	€	€	€	Ø €€€Ø Ð Ð Ð Ø €€€à ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø "Ð "Ð "Ð "Ð "Ð "ðI(ð I(ð I(ð I(ð I(�
ñ I(ô I(ð I(ðX Ô €€€r*   