
    ǆi}                     l    S SK r S SKrS SKJrJr  S SKJs  Jr  SSK	J
r
   " S S\R                  5      rg)    N)productstarmap   )StrPathc                   t    \ rS rSrSrS rS rS r\S 5       r	S r
\S 5       r    SS	\S
\4S jjrS rSrg)install_lib   z9Don't add compiled flags to filenames of non-Python filesc                 n    U R                  5         U R                  5       nUb  U R                  U5        g g N)buildinstallbyte_compile)selfoutfiless     n/home/dmtnaga/Documents/work/airagagent/rag_env/lib/python3.13/site-packages/setuptools/command/install_lib.pyruninstall_lib.run   s/    

<<>h'      c                    ^  U 4S jT R                  5        5       n[        UT R                  5       5      n[        [	        T R
                  U5      5      $ )z
Return a collections.Sized collections.Container of paths to be
excluded for single_version_externally_managed installations.
c              3   Z   >#    U  H   nTR                  U5        H  nUv   M	     M"     g 7fr   )_all_packages).0ns_pkgpkgr   s      r   	<genexpr>-install_lib.get_exclusions.<locals>.<genexpr>   s0      
/))&1 1 /s   (+)_get_SVEM_NSPsr   _gen_exclusion_pathssetr   _exclude_pkg_path)r   all_packages
excl_specss   `  r   get_exclusionsinstall_lib.get_exclusions   sJ    

--/
 \4+D+D+FG
7411:>??r   c                     UR                  S5      U/-   n[        R                  R                  " U R                  /UQ76 $ )z_
Given a package name and exclusion path within that package,
compute the full exclusion path.
.)splitospathjoininstall_dir)r   r   exclusion_pathpartss       r   r    install_lib._exclude_pkg_path    s7    
 		#.!11ww||D,,5u55r   c              #   ^   #    U (       a"  U v   U R                  S5      u  pnU (       a  M!  gg7f)zV
>>> list(install_lib._all_packages('foo.bar.baz'))
['foo.bar.baz', 'foo.bar', 'foo']
r&   N)
rpartition)pkg_namesepchilds      r   r   install_lib._all_packages(   s+      N#+#6#6s#; H5 hs   '--c                     U R                   R                  (       d  / $ U R                  S5      nUR                  nU(       a  U R                   R                  $ / $ )zq
Get namespace packages (list) but only for
single_version_externally_managed installations and empty otherwise.
r   )distributionnamespace_packagesget_finalized_command!single_version_externally_managed)r   install_cmdsvems      r   r   install_lib._get_SVEM_NSPs2   sL       33I00;<<7;t  33CCr   c               #      #    Sv   Sv   Sv   [        [        S5      (       d  g[        R                  R	                  SS[        R
                  R                  -   5      n U S-   v   U S	-   v   U S
-   v   U S-   v   g7f)zS
Generate file paths to be excluded for namespace packages (bytecode
cache files).
z__init__.pyz__init__.pycz__init__.pyoimplementationN__pycache__z	__init__.z.pycz.pyoz
.opt-1.pycz
.opt-2.pyc)hasattrsysr(   r)   r*   r>   	cache_tag)bases    r   r    install_lib._gen_exclusion_pathsB   sy      s,--ww||M;9K9K9U9U+UVVmVm\!!\!!s   A;A=infileoutfilec                    ^	^
^ U(       a  U(       a  U(       a   eU R                  5       m	T	(       d   [        R                  R                  XU5      $ SSKJn  SSKJm
  / mU	U
U4S jnU" XU5        T$ )Nr   )unpack_directory)logc                    > UT;   a  TR                  SU5        gTR                  SU [        R                  R	                  U5      5        TR                  U5        U$ )Nz/Skipping installation of %s (namespace package)Fzcopying %s -> %s)warninfor(   r)   dirnameappend)srcdstexcluderI   r   s     r   pf!install_lib.copy_tree.<locals>.pfm   sK    g~JCPHH'bggooc.BCOOC Jr   )r#   origr   	copy_treesetuptools.archive_utilrH   	distutilsrI   )r   rE   rF   preserve_modepreserve_timespreserve_symlinkslevelrH   rR   rQ   rI   r   s            @@@r   rU   install_lib.copy_treeW   s`     8III%%'##--dGDD 	=!	 	"-r   c                     [         R                  R                  U 5      nU R                  5       nU(       a  U Vs/ s H  o3U;  d  M
  UPM     sn$ U$ s  snf r   )rT   r   get_outputsr#   )r   outputsrQ   fs       r   r^   install_lib.get_outputsy   sM    ""..t4%%'&;w!7*:Aw;; <s   	AA N)TTF   )__name__
__module____qualname____firstlineno____doc__r   r#   r    staticmethodr   r   r   r   strrU   r^   __static_attributes__rb   r   r   r   r      sn    C(@6 < <D  " "0     Dr   r   )r(   rA   	itertoolsr   r   distutils.command.install_libcommandr   rT   _pathr   rb   r   r   <module>rp      s+    	 
 & , , v$"" vr   