Ë
    óÇ:jå  ã                   ó‚   — d dl Z d dlZddlmZ d dlmZ e j                  j                  Z G d„ d«      Z	 G d„ de	«      Z
y)	é    Né   )Úpy312)Úlogc                   óZ   — e Zd ZdZdd„Zdd„Zd„ Zd„ ZdZ	 dZ		 d	„ Z
d
„ Zd„ Zed„ «       Zy)Ú	Installerz
-nspkg.pthNc                 ó\  — | j                  «       }|sy | j                  «       }| j                  j                  |«       t	        j
                  d|«       t        | j                  |«      }t        |dt        j                  ¬«      5 }|j                  |«       d d d «       y # 1 sw Y   y xY w)NzInstalling %sÚwt)Úencoding)Ú_get_all_ns_packagesÚ_get_nspkg_fileÚoutputsÚappendr   ÚinfoÚmapÚ_gen_nspkg_lineÚopenr   ÚPTH_ENCODINGÚ
writelines)ÚselfÚnspÚfilenameÚlinesÚfs        új/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/setuptools/namespaces.pyÚinstall_namespaceszInstaller.install_namespaces   s�   € Ø×'Ñ'Ó)ˆÙØØ×'Ñ'Ó)ˆØ�‰×Ñ˜HÔ%Ü�‰� (Ô+Ü�D×(Ñ(¨#Ó.ˆä�(˜D¬5×+=Ñ+=Ô>ð 	 À!ð �L‰L˜Ô÷	 ÷ 	 ñ 	 ús   ÂB"Â"B+c                 óº   — | j                  «       }t        j                  j                  |«      sy t	        j
                  d|«       t        j                  |«       y )NzRemoving %s)r   ÚosÚpathÚexistsr   r   Úremove)r   r   s     r   Úuninstall_namespaceszInstaller.uninstall_namespaces   s=   € Ø×'Ñ'Ó)ˆÜ�w‰w�~‰~˜hÔ'ØÜ�‰� Ô)Ü
�	‰	�(Õó    c                 ó€   — t         j                  j                  | j                  «       «      \  }}|| j                  z   S ©N)r   r   ÚsplitextÚ_get_targetÚ	nspkg_ext)r   r   Ú_s      r   r   zInstaller._get_nspkg_file#   s2   € Ü—g‘g×&Ñ& t×'7Ñ'7Ó'9Ó:‰ˆ�!Ø˜$Ÿ.™.Ñ(Ð(r"   c                 ó   — | j                   S r$   )Útarget©r   s    r   r&   zInstaller._get_target'   s   € Ø�{‰{Ðr"   )zimport sys, types, osz$p = os.path.join(%(root)s, *%(pth)r)z(importlib = __import__('importlib.util')z!__import__('importlib.machinery')z�m = sys.modules.setdefault(%(pkg)r, importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec(%(pkg)r, [os.path.dirname(p)])))zCm = m or sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))z7mp = (m or []) and m.__dict__.setdefault('__path__',[])z(p not in mp) and mp.append(p))z4m and setattr(sys.modules[%(parent)r], %(child)r, m)c                  ó   — y)Nz$sys._getframe(1).f_locals['sitedir']© r+   s    r   Ú	_get_rootzInstaller._get_root?   s   € Ø5r"   c                 óø   — t        |j                  d«      «      }| j                  «       }| j                  }|j	                  d«      \  }}}|r|| j
                  z  }dj                  |«      t        «       z  dz   S )Nú.ú;ú
)ÚtupleÚsplitr.   Ú_nspkg_tmplÚ
rpartitionÚ_nspkg_tmpl_multiÚjoinÚlocals)r   ÚpkgÚpthÚrootÚ
tmpl_linesÚparentÚsepÚchilds           r   r   zInstaller._gen_nspkg_lineB   sn   € Ü�C—I‘I˜c“NÓ#ˆØ�~‰~ÓˆØ×%Ñ%ˆ
Ø Ÿ^™^¨CÓ0Ñˆ��UÙØ˜$×0Ñ0Ñ0ˆJØ�x‰x˜
Ó#¤f£hÑ.°Ñ5Ð5r"   c           
      ó˜   — | j                   j                  xs g }t        t        t	        t        | j                  |«      «      «      «      S )z,Return sorted list of all package namespaces)ÚdistributionÚnamespace_packagesÚsortedÚsetÚflattenr   Ú
_pkg_names)r   Úpkgss     r   r   zInstaller._get_all_ns_packagesK   s8   € à× Ñ ×3Ñ3Ò9°rˆÜ”cœ'¤# d§o¡o°tÓ"<Ó=Ó>Ó?Ð?r"   c              #   ó€   K  — | j                  d«      }|r'dj                  |«      –— |j                  «        |rŒ&yy­w)zÏ
        Given a namespace package, yield the components of that
        package.

        >>> names = Installer._pkg_names('a.b.c')
        >>> set(names) == set(['a', 'a.b', 'a.b.c'])
        True
        r0   N)r4   r8   Úpop)r:   Úpartss     r   rG   zInstaller._pkg_namesP   s4   è ø€ ð —	‘	˜#“ˆÙØ—(‘(˜5“/Ò!Ø�I‰IŒKô ùs   ‚9>¼>)ÚreturnN)Ú__name__Ú
__module__Ú__qualname__r'   r   r!   r   r&   r5   r7   r.   r   r   ÚstaticmethodrG   r-   r"   r   r   r      sT   „ Ø€Ió óò)òð€Kð  (àQÐØ;ò6ò6ò@ð
 ñó ñr"   r   c                   ó   — e Zd Zd„ Zd„ Zy)ÚDevelopInstallerc                 ó>   — t        t        | j                  «      «      S r$   )ÚreprÚstrÚegg_pathr+   s    r   r.   zDevelopInstaller._get_roota   s   € Ü”C˜Ÿ™Ó&Ó'Ð'r"   c                 ó   — | j                   S r$   )Úegg_linkr+   s    r   r&   zDevelopInstaller._get_targetd   s   € Ø�}‰}Ðr"   N)rM   rN   rO   r.   r&   r-   r"   r   rR   rR   `   s   „ ò(ór"   rR   )Ú	itertoolsr   Úcompatr   Ú	distutilsr   ÚchainÚfrom_iterablerF   r   rR   r-   r"   r   ú<module>r^      s9   ðÛ Û 	å å à
�/‰/×
'Ñ
'€÷Rñ Rôj�yõ r"   