§
    �ŸjL=  ã                  óÆ  — d Z ddlmZ ddlZddlZddlZddlZddlZddl	Z	ddl
mZmZmZ ddlmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ ej        j        Zd	Z  G d
„ de¦  «        Z! ej"        dej#        ¦  «        Z$d*d„Z%dZ&d+d„Z'd,d„Z( G d„ de)¦  «        Z* G d„ de¦  «        Z+d-d„Z,d.d „Z-	 	 	 	 d/d0d'„Z.e+j.        j         e._         d1d2d)„Z/e+j/        j         e/_         dS )3zTools for managing kernel specsé    )ÚannotationsN)ÚSYSTEM_JUPYTER_PATHÚjupyter_data_dirÚjupyter_path)	ÚBoolÚCaselessStrEnumÚDictÚ	HasTraitsÚListÚSetÚTypeÚUnicodeÚobserve)ÚLoggingConfigurableé   )ÚKernelProvisionerFactoryÚpython3c                  ó  — e Zd ZU dZ e¦   «         Zded<    e¦   «         Z e¦   «         Z	 e¦   «         Z
 e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z eddgd¬¦  «        Z e¦   «         Zedd„¦   «         Zdd„Zdd„ZdS )Ú
KernelSpeczA kernel spec model object.ú	List[str]ÚargvÚmessageÚsignal)Údefault_valueÚclsútype[KernelSpec]Úresource_dirÚstrÚreturnc                ó°   — t          |d¦  «        }t          |d¬¦  «        5 }t          j        |¦  «        }ddd¦  «         n# 1 swxY w Y    | dd|i|¤ŽS )z|Create a KernelSpec object by reading kernel.json

        Pass the path to the *directory* containing kernel.json.
        úkernel.jsonzutf-8)ÚencodingNr   © )ÚpjoinÚopenÚjsonÚload)r   r   Úkernel_fileÚfÚkernel_dicts        úf/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/jupyter_client/kernelspec.pyÚfrom_resource_dirzKernelSpec.from_resource_dir'   s    € õ ˜L¨-Ñ8Ô8ˆÝ�+¨Ð0Ñ0Ô0ð 	'°AÝœ) A™,œ,ˆKð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'àˆsÐ<Ð< Ð<°Ð<Ð<Ð<s   ¢AÁAÁ
Aúdict[str, t.Any]c                ó`   — | j         | j        | j        | j        | j        | j        | j        dœ}|S )z"Convert the kernel spec to a dict.©r   ÚenvÚdisplay_nameÚlanguageÚinterrupt_modeÚmetadataÚkernel_protocol_versionr/   )ÚselfÚds     r+   Úto_dictzKernelSpec.to_dict2   s=   € ð ”IØ”8Ø Ô-ØœØ"Ô1ØœØ'+Ô'Cð
ð 
ˆð ˆó    c                óN   — t          j        |                      ¦   «         ¦  «        S )zOSerialise this kernelspec to a JSON object.

        Returns a string.
        )r&   Údumpsr8   ©r6   s    r+   Úto_jsonzKernelSpec.to_json@   s   € õ
 Œz˜$Ÿ,š,™.œ.Ñ)Ô)Ð)r9   N)r   r   r   r   r   r   ©r   r-   ©r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__annotations__r   ÚnameÚmimetyper1   r2   r5   r	   r0   r   r   r3   r4   Úclassmethodr,   r8   r=   r#   r9   r+   r   r      së   € € € € € € Ø%Ð%à�d‘f”f€DÐÐÐÑØˆ7‰9Œ9€DØˆw‰yŒy€HØ�7‘9”9€LØˆw‰yŒy€HØ%˜g™iœiÐØ
ˆ$‰&Œ&€CØ�7‘9”9€LØ$�_ i°Ð%:È(ÐSÑSÔS€NØˆt‰vŒv€Hàð=ð =ð =ñ „[ð=ðð ð ð ð*ð *ð *ð *ð *ð *r9   r   z^[a-z0-9._\-]+$rE   r   r   út.Anyc                ó6   — t                                | ¦  «        S )z"Check that a kernel name is valid.)Ú_kernel_name_patÚmatch©rE   s    r+   Ú_is_valid_kernel_namerM   K   s   € õ ×!Ò! $Ñ'Ô'Ð'r9   zuKernel names can only contain ASCII letters and numbers and these separators: - . _ (hyphen, period, and underscore).ÚpathÚboolc                óš   — t           j                             | ¦  «        o,t           j                             t	          | d¦  «        ¦  «        S )zIs ``path`` a kernel directory?r!   )ÚosrN   ÚisdirÚisfiler$   )rN   s    r+   Ú_is_kernel_dirrT   W   s3   € åŒ7�=Š=˜ÑÔÐM¥2¤7§>¢>µ%¸¸mÑ2LÔ2LÑ#MÔ#MÐMr9   Údirú
str | Noneúdict[str, str]c                óP  — | �t           j                             | ¦  «        si S i }t          j        | ¦  «        D ]k}t	          | |¦  «        }t          |¦  «        sŒ"|                     ¦   «         }t          |¦  «        s!t          j	        dt          › d|› �d¬¦  «         |||<   Œl|S )z…Return a mapping of kernel names to resource directories from dir.

    If dir is None or does not exist, returns an empty dict.
    Nz#Invalid kernelspec directory name (z): é   ©Ú
stacklevel)rQ   rN   rR   Úlistdirr$   rT   ÚlowerrM   ÚwarningsÚwarnÚ_kernel_name_description)rU   Úkernelsr)   rN   Úkeys        r+   Ú_list_kernels_inrc   \   s¼   € ð
 €{�"œ'Ÿ-š-¨Ñ,Ô,€{Øˆ	Ø€GÝŒZ˜‰_Œ_ð 
ð 
ˆÝ�S˜!‰}Œ}ˆÝ˜dÑ#Ô#ð 	ØØ�gŠg‰iŒiˆÝ$ SÑ)Ô)ð 	ÝŒMØYÕ6NÐYÐYÐSWÐYÐYØðñ ô ð ð ˆ�‰ˆØ€Nr9   c                  ó"   — e Zd ZdZd	d„Zd
d„ZdS )ÚNoSuchKernelz7An error raised when there is no kernel of a give name.rE   r   r   ÚNonec                ó   — || _         dS )zInitialize the error.NrL   )r6   rE   s     r+   Ú__init__zNoSuchKernel.__init__u   s   € àˆŒ	ˆ	ˆ	r9   c                ó   — d| j         › �S )NzNo such kernel named rL   r<   s    r+   Ú__str__zNoSuchKernel.__str__y   s   € Ø2 t¤yÐ2Ð2Ð2r9   N)rE   r   r   rf   r?   )r@   rA   rB   rC   rh   rj   r#   r9   r+   re   re   r   sB   € € € € € ØAÐAðð ð ð ð3ð 3ð 3ð 3ð 3ð 3r9   re   c                  ór  — e Zd ZU dZ eedd¬¦  «        Z eddd¬¦  «        Z e	¦   «         Z
d0d„Z e	¦   «         Zd0d	„Z edd
¬¦  «        Z edd¬¦  «        Z ed¬¦  «        Zded<   ddiZ e ee¦  «        Ž d1d„¦   «         Zd2d„Zd3d„Zd4d„Zd5d„Zd6d „Zd7d"„Zd8d$„Z	 d9d:d*„Z	 	 	 	 d;d<d.„Z d=d>d/„Z!d&S )?ÚKernelSpecManagerzA manager for kernel specs.Tz„The kernel spec class.  This is configurable to allow
        subclassing of the KernelSpecManager for customized behavior.
        )ÚconfigÚhelpz†If there is no Python kernelspec registered and the IPython
        kernel is available, ensure it is added to the spec list.
        r   r   c                ó   — t          ¦   «         S )N)r   r<   s    r+   Ú_data_dir_defaultz#KernelSpecManager._data_dir_default’   s   € ÝÑ!Ô!Ð!r9   c                ó,   — t          | j        d¦  «        S )Nra   )r$   Údata_dirr<   s    r+   Ú_user_kernel_dir_defaultz*KernelSpecManager._user_kernel_dir_default—   s   € Ý�T”] IÑ.Ô.Ð.r9   z@Deprecated, use `KernelSpecManager.allowed_kernelspecs`
        z^List of allowed kernel names.

        By default, all installed kernels are allowed.
        zLList of kernel directories to search. Later ones take priority over earlier.)rn   r   Úkernel_dirsÚ	whitelist)Úallowed_kernelspecsz7.0ÚchangerH   rf   c                ó  — |j         }| j        |         \  }}t          | |¦  «        }||j        k    rU| j                             | j        j        › d|› d|› d| j        j        › d|› d�
¦  «         t          | ||j        ¦  «         dS dS )zobserver for deprecated traitsú.z! is deprecated in jupyter_client z, use z insteadN)	rE   Ú_deprecated_aliasesÚgetattrÚnewÚlogÚwarningÚ	__class__r@   Úsetattr)r6   rw   Úold_attrÚnew_attrÚversionÚ	new_values         r+   Ú_deprecated_traitz#KernelSpecManager._deprecated_trait°   sÓ   € ð ”;ˆØ Ô4°XÔ>Ñˆ�'Ý˜D (Ñ+Ô+ˆ	Ø˜œ
Ò"Ð"ð ŒH×ÒØ”>Ô*ð Oð O¨Xð Oð OØðOð OØ"&¤.Ô"9ðOð OØ<DðOð Oð Oñô ð õ �D˜( F¤JÑ/Ô/Ð/Ð/Ð/ð #Ð"r9   ú	list[str]c                óÊ   — t          d¦  «        }	 ddlm} |                     t          j                              |¦   «         d¦  «        ¦  «         n# t          $ r Y nw xY w|S )Nra   r   )Úget_ipython_dir)r   ÚIPython.pathsrˆ   ÚappendrQ   rN   ÚjoinÚModuleNotFoundError)r6   Údirsrˆ   s      r+   Ú_kernel_dirs_defaultz&KernelSpecManager._kernel_dirs_defaultÀ   sx   € Ý˜IÑ&Ô&ˆð	à5Ð5Ð5Ð5Ð5Ð5à�KŠK�œŸš _ _Ñ%6Ô%6¸	ÑBÔBÑCÔCÐCÐCøÝ"ð 	ð 	ð 	ØˆDð	øøøàˆs   ‘AA Á
A ÁA rW   c                óð  ‡ — i }‰ j         D ]P}t          |¦  «        }|                     ¦   «         D ]*\  }}||vr!‰ j                             d||¦  «         |||<   Œ+ŒQ‰ j        rlt          |vrc	 ddlm} ‰ j                             dt          |¦  «         ||t          <   n0# t          $ r# ‰ j         
                    dt          ¦  «         Y nw xY w‰ j        r ˆ fd„|                     ¦   «         D ¦   «         }|S )ú<Returns a dict mapping kernel names to resource directories.zFound kernel %s in %sr   ©Ú	RESOURCESz$Native kernel (%s) available from %sz#Native kernel (%s) is not availablec                ó.   •— i | ]\  }}|‰j         v ¯||“ŒS r#   )rv   )Ú.0rE   Úspecr6   s      €r+   ú
<dictcomp>z7KernelSpecManager.find_kernel_specs.<locals>.<dictcomp>æ   s,   ø€ Ð\Ð\Ð\¡
  d¸4À4ÔC[Ð;[Ð;[��tÐ;[Ð;[Ð;[r9   )rt   rc   Úitemsr}   ÚdebugÚensure_native_kernelÚNATIVE_KERNEL_NAMEÚipykernel.kernelspecr’   ÚImportErrorr~   rv   )r6   r7   Ú
kernel_dirra   Úknamer•   r’   s   `      r+   Úfind_kernel_specsz#KernelSpecManager.find_kernel_specsÍ   sH  ø€ àˆØÔ*ð 	$ð 	$ˆJÝ& zÑ2Ô2ˆGØ&Ÿ}š}™œð $ð $‘��tØ �>�>Ø”H—N’NÐ#:¸EÀ:ÑNÔNÐNØ#�A�e‘Høð$ð
 Ô$ð 	\Õ);À1Ð)DÐ)Dð
\Ø:Ð:Ð:Ð:Ð:Ð:à”—’Ø:Ý&Øñô ð ð
 )2�Õ$Ñ%Ð%øÝð \ð \ð \Ø”× Ò Ð!FÕHZÑ[Ô[Ð[Ð[Ð[ð\øøøð Ô#ð 	]à\Ð\Ð\Ð\¨a¯gªg©i¬iÐ\Ñ\Ô\ˆAØˆs   Á-1B Â*CÃCÚkernel_namer   r   c                óB  — d}|t           k    r9	 ddlm}m} ||k    r |¦   «         } | j        dd|i|¤Ž}n# t
          $ r Y nw xY w|s| j                             |¦  «        }t          j        | j	        ¬¦  «         
                    |¦  «        st          |¦  «        ‚|S )zaReturns a :class:`KernelSpec` instance for a given kernel_name
        and resource_dir.
        Nr   )r’   Úget_kernel_dictr   )Úparentr#   )rš   r›   r’   r¢   Úkernel_spec_classrœ   r,   ÚKPFÚinstancer£   Úis_provisioner_availablere   )r6   r    r   Úkspecr’   r¢   Úkdicts          r+   Ú_get_kernel_spec_by_namez*KernelSpecManager._get_kernel_spec_by_nameê   sç   € ð ˆØÕ,Ò,Ð,ðWØKÐKÐKÐKÐKÐKÐKÐKð
   9Ò,Ð,Ø+˜OÑ-Ô-�EØ2˜DÔ2ÐVÐVÀÐVÐPUÐVÐV�Eøøõ ð ð ð à�ðøøøð ð 	KØÔ*×<Ò<¸\ÑJÔJˆEåŒ| 4¤;Ð/Ñ/Ô/×HÒHÈÑOÔOð 	,Ý˜{Ñ+Ô+Ð+àˆs   �7 ·
AÁArV   c                ó"  — d„ | j         D ¦   «         D ]X}t          j        |¦  «        }|D ]?}t          ||¦  «        }|                     ¦   «         |k    rt          |¦  «        r|c c S Œ@ŒY|t          k    r	 ddlm} |S # t          $ r Y nw xY wdS )z2Find the resource directory of a named kernel specc                óP   — g | ]#}t           j                             |¦  «        ¯!|‘Œ$S r#   )rQ   rN   rR   )r”   Úkds     r+   ú
<listcomp>z:KernelSpecManager._find_spec_directory.<locals>.<listcomp>  s+   € ÐNÐNÐN "½B¼G¿MºMÈ"Ñ<MÔ<MÐN˜2ÐNÐNÐNr9   r   r‘   N)
rt   rQ   r\   r$   r]   rT   rš   r›   r’   rœ   )r6   r    r�   Úfilesr)   rN   r’   s          r+   Ú_find_spec_directoryz&KernelSpecManager._find_spec_directory  sØ   € àNÐN¨Ô(8ÐNÑNÔNð 	 ð 	 ˆJÝ”J˜zÑ*Ô*ˆEØð  ð  �Ý˜Z¨Ñ+Ô+�Ø—7’7‘9”9 Ò+Ð+µ¸tÑ0DÔ0DÐ+Ø�K�K�K�K�Køð ð
 Õ,Ò,Ð,ð!Ø:Ð:Ð:Ð:Ð:Ð:ð !Ð øõ ð ð ð Ø�ðøøøð ˆts   Á7A? Á?
BÂBc                ó  — t          |¦  «        s%| j                             d|› dt          › �¦  «         |                      |                     ¦   «         ¦  «        }|€t          |¦  «        ‚|                      ||¦  «        S )z•Returns a :class:`KernelSpec` instance for the given kernel_name.

        Raises :exc:`NoSuchKernel` if the given kernel name is not found.
        zKernelspec name z is invalid: )rM   r}   r~   r`   r°   r]   re   rª   )r6   r    r   s      r+   Úget_kernel_specz!KernelSpecManager.get_kernel_spec  s�   € õ
 % [Ñ1Ô1ð 	ØŒH×ÒØW ;ÐWÐWÕ=UÐWÐWñô ð ð ×0Ò0°×1BÒ1BÑ1DÔ1DÑEÔEˆØÐÝ˜{Ñ+Ô+Ð+à×,Ò,¨[¸,ÑGÔGÐGr9   r-   c                ó€  — |                       ¦   «         }i }|                     ¦   «         D ]’\  }}	 | j        t          u r|                      ||¦  «        }n|                      |¦  «        }||                     ¦   «         dœ||<   Œ[# t          $ r Y Œgt          $ r  | j	         
                    d|d¬¦  «         Y Œ�w xY w|S )a*  Returns a dict mapping kernel names to kernelspecs.

        Returns a dict of the form::

            {
              'kernel_name': {
                'resource_dir': '/path/to/kernel_name',
                'spec': {"the spec itself": ...}
              },
              ...
            }
        )r   r•   zError loading kernelspec %rT)Úexc_info)rŸ   r—   r   rl   rª   r²   r8   re   Ú	Exceptionr}   r~   )r6   r7   Úresrž   r   r•   s         r+   Úget_all_specszKernelSpecManager.get_all_specs#  só   € ð ×"Ò"Ñ$Ô$ˆØˆØ#$§7¢7¡9¤9ð 	Vð 	VÑˆE�<ðVØ”>Õ%6Ð6Ð6Ø×8Ò8¸ÀÑMÔM�D�Dð
  ×/Ò/°Ñ6Ô6�Dà.:ÀDÇLÂLÁNÄNÐSÐS��E‘
�
øÝð ð ð Ø�Ýð Vð Vð VØ”× Ò Ð!>ÀÐPTÐ ÑUÔUÐUÐUÐUðVøøøàˆ
s   ±ABÂ
B;Â&B;Â:B;rE   c                óJ  — | j         }	 d| _         |                      ¦   «         }|| _         n# || _         w xY w||         }| j                             d|¦  «         t          j                             |¦  «        rt	          j        |¦  «         nt          j	        |¦  «         |S )z\Remove a kernel spec directory by name.

        Returns the path that was deleted.
        FzRemoving %s)
r™   rŸ   r}   r˜   rQ   rN   ÚislinkÚremoveÚshutilÚrmtree)r6   rE   Úsave_nativeÚspecsÚspec_dirs        r+   Úremove_kernel_specz$KernelSpecManager.remove_kernel_specC  s¦   € ð
 Ô/ˆð	4Ø(-ˆDÔ%Ø×*Ò*Ñ,Ô,ˆEà(3ˆDÔ%Ð%ø¨ˆDÔ%Ð3Ð3Ð3Ð3Ø˜”;ˆØŒ�Š�} hÑ/Ô/Ð/ÝŒ7�>Š>˜(Ñ#Ô#ð 	$ÝŒI�hÑÔÐÐåŒM˜(Ñ#Ô#Ð#Øˆs   ‰, ¬	5FNÚuserrO   Úprefixc                ó,  — |r%t           j                             | j        |¦  «        S |r@t           j                             t           j                             |¦  «        ddd|¦  «        S t           j                             t
          d         d|¦  «        S )NÚshareÚjupyterra   r   )rQ   rN   r‹   Úuser_kernel_dirÚabspathr   )r6   r    rÁ   rÂ   s       r+   Ú_get_destination_dirz&KernelSpecManager._get_destination_dirV  sx   € ð ð 	PÝ”7—<’< Ô 4°kÑBÔBÐBØð 	PÝ”7—<’<¥¤§¢°Ñ 7Ô 7¸À)ÈYÐXcÑdÔdÐdå”7—<’<Õ 3°AÔ 6¸	À;ÑOÔOÐOr9   Ú
source_dirÚreplaceúbool | Nonec                óL  — |                      d¦  «        }|st          j                             |¦  «        }|                     ¦   «         }t          |¦  «        sd|›dt          › �}t          |¦  «        ‚|r|rd}t          |¦  «        ‚|�t          j	        dt          d¬¦  «         |                      |||¬	¦  «        }| j                             d
|¦  «         t          j                             |¦  «        }|| j        vr!| j                             d|| j        ¦  «         t          j                             |¦  «        r/| j                             d|¦  «         t'          j        |¦  «         t'          j        ||¦  «         | j                             d||¦  «         |S )a#  Install a kernel spec by copying its directory.

        If ``kernel_name`` is not given, the basename of ``source_dir`` will
        be used.

        If ``user`` is False, it will attempt to install into the systemwide
        kernel registry. If the process does not have appropriate permissions,
        an :exc:`OSError` will be raised.

        If ``prefix`` is given, the kernelspec will be installed to
        PREFIX/share/jupyter/kernels/KERNEL_NAME. This can be sys.prefix
        for installation inside virtual or conda envs.
        z/\zInvalid kernel name z.  zCCan't specify both user and prefix. Please choose one or the other.NzTreplace is ignored. Installing a kernelspec always replaces an existing installationé   rZ   )rÁ   rÂ   zInstalling kernelspec in %szFInstalling to %s, which is not in %s. The kernelspec may not be found.z"Removing existing kernelspec in %szInstalled kernelspec %s in %s)ÚrstriprQ   rN   Úbasenamer]   rM   r`   Ú
ValueErrorr^   r_   ÚDeprecationWarningrÈ   r}   r˜   Údirnamert   r~   rR   Úinfor»   r¼   Úcopytree)	r6   rÉ   r    rÁ   rÊ   rÂ   ÚmsgÚdestinationr�   s	            r+   Úinstall_kernel_specz%KernelSpecManager.install_kernel_spec`  s«  € ð*  ×&Ò& uÑ-Ô-ˆ
Øð 	7Ýœ'×*Ò*¨:Ñ6Ô6ˆKØ!×'Ò'Ñ)Ô)ˆÝ$ [Ñ1Ô1ð 	"ØU¨ÐUÐUÕ;SÐUÐUˆCÝ˜S‘/”/Ð!àð 	"�Fð 	"ØWˆCÝ˜S‘/”/Ð!àÐÝŒMðå"Øð	ñ ô ð ð ×/Ò/°À$ÈvÐ/ÑVÔVˆØŒ�ŠÐ4°kÑBÔBÐBå”W—_’_ [Ñ1Ô1ˆ
Ø˜TÔ-Ð-Ð-ØŒH×ÒØXØØÔ ñô ð õ Œ7�=Š=˜Ñ%Ô%ð 	'ØŒH�MŠMÐ>ÀÑLÔLÐLÝŒM˜+Ñ&Ô&Ð&åŒ˜
 KÑ0Ô0Ð0ØŒ�ŠÐ5°{ÀKÑPÔPÐPØÐr9   c                óX   — t          j        dd¬¦  «         ddlm}  || |¬¦  «         dS )z,DEPRECATED: Use ipykernel.kernelspec.installzRinstall_native_kernel_spec is deprecated. Use ipykernel.kernelspec import install.rÍ   rZ   r   )Úinstall©rÁ   N)r^   r_   r›   rÙ   )r6   rÁ   rÙ   s      r+   Úinstall_native_kernel_specz,KernelSpecManager.install_native_kernel_specœ  sP   € åŒØ`Øð	
ñ 	
ô 	
ð 	
ð 	1Ð0Ð0Ð0Ð0Ð0àˆ�˜4Ð Ñ Ô Ð Ð Ð r9   r?   )rw   rH   r   rf   )r   r†   ©r   rW   )r    r   r   r   r   r   )r    r   r   rV   ©r    r   r   r   r>   )rE   r   r   r   )FN)r    r   rÁ   rO   rÂ   rV   r   r   )NFNN©rÉ   r   r    rV   rÁ   rO   rÊ   rË   rÂ   rV   r   r   ©F©rÁ   rO   r   rf   )"r@   rA   rB   rC   r   r   r¤   r   r™   r   rr   rp   rÆ   rs   r   ru   rv   r   rt   rD   rz   r   Úlistr…   rŽ   rŸ   rª   r°   r²   r·   rÀ   rÈ   r×   rÛ   r#   r9   r+   rl   rl   }   sN  € € € € € € Ø%Ð%à˜ØØððñ ô Ðð  ˜4ØØððñ ô Ðð ˆw‰yŒy€Hð"ð "ð "ð "ð �g‘i”i€Oð/ð /ð /ð /ð �Øððñ ô €Ið
 ˜#Øððñ ô Ðð "˜TØ[ðñ ô €Kð ð ð ñ ð
 	Ð3ðÐð €WˆdˆdÐ&Ñ'Ô'Ð(ð0ð 0ð 0ñ )Ô(ð0ðð ð ð ðð ð ð ð:ð ð ð ð.ð ð ð ð$Hð Hð Hð Hð ð ð ð ð@ð ð ð ð( JNðPð Pð Pð Pð Pð #'ØØ#Ø!ð:ð :ð :ð :ð :ðx!ð !ð !ð !ð !ð !ð !r9   rl   c                 óB   — t          ¦   «                              ¦   «         S )r�   )rl   rŸ   r#   r9   r+   rŸ   rŸ   §  s   € åÑÔ×0Ò0Ñ2Ô2Ð2r9   r    c                óD   — t          ¦   «                              | ¦  «        S )z‚Returns a :class:`KernelSpec` instance for the given kernel_name.

    Raises KeyError if the given kernel name is not found.
    )rl   r²   )r    s    r+   r²   r²   ¬  s   € õ
 ÑÔ×.Ò.¨{Ñ;Ô;Ð;r9   FrÉ   rÁ   rÊ   rË   rÂ   c                óL   — t          ¦   «                              | ||||¦  «        S )z+Install a kernel spec in a given directory.)rl   r×   )rÉ   r    rÁ   rÊ   rÂ   s        r+   r×   r×   ´  s(   € õ ÑÔ×2Ò2°:¸{ÈDÐRYÐ[aÑbÔbÐbr9   rf   c                óJ   — t          ¦   «                              | ¬¦  «         dS )zInstall the native kernel spec.rÚ   N)rl   rÛ   rÚ   s    r+   rÛ   rÛ   Â  s%   € åÑÔ×2Ò2¸Ð2Ñ=Ô=Ð=Ð=Ð=r9   )rE   r   r   rH   )rN   r   r   rO   )rU   rV   r   rW   rÜ   rÝ   )NFFNrÞ   rß   rà   )0rC   Ú
__future__r   r&   rQ   Úrer»   ÚtypingÚtr^   Újupyter_core.pathsr   r   r   Ú	traitletsr   r   r	   r
   r   r   r   r   r   Útraitlets.configr   Úprovisioningr   r¥   rN   r‹   r$   rš   r   ÚcompileÚ
IGNORECASErJ   rM   r`   rT   rc   ÚKeyErrorre   rl   rŸ   r²   r×   rÛ   r#   r9   r+   ú<module>rñ      sl  ðØ %Ð %ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø €€€à RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0à 9Ð 9Ð 9Ð 9Ð 9Ð 9à
ŒŒ€àÐ ð,*ð ,*ð ,*ð ,*ð ,*�ñ ,*ô ,*ð ,*ð^ �2”:Ð0°"´-Ñ@Ô@Ð ð(ð (ð (ð (ð/ð ðNð Nð Nð Nð
ð ð ð ð,3ð 3ð 3ð 3ð 3�8ñ 3ô 3ð 3ðg!ð g!ð g!ð g!ð g!Ð+ñ g!ô g!ð g!ðT	3ð 3ð 3ð 3ð
<ð <ð <ð <ð #ØØ Øðcð cð cð cð cð 0ÔCÔKÐ Ô ð>ð >ð >ð >ð >ð
 &7Ô%QÔ%YÐ Ô "Ð "Ð "r9   