§
    »"½j}
  ã                  ó  — U d dl m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
 erd dlmZ eeej        e         f         Zded<    edeeej        e         f         ¬	¦  «        Zd
„ Zdd„Zdd„Zej        d„ ¦   «         ZdS )é    )ÚannotationsN)ÚTYPE_CHECKINGÚTypeVarÚUnion)Úunique_everseen)Ú	TypeAliasr   ÚStrPathÚStrPathT)Úboundc                óp   — t           j                             | ¦  «        }t          j        |d¬¦  «         dS )z1Ensure that the parent directory of `path` existsT)Úexist_okN)ÚosÚpathÚdirnameÚmakedirs)r   r   s     úP/home/spazio/kingdom_calls/venv/lib/python3.11/site-packages/setuptools/_path.pyÚensure_directoryr      s0   € åŒg�oŠo˜dÑ#Ô#€GÝ„K� $Ð'Ñ'Ô'Ð'Ð'Ð'ó    Úp1Úp2ÚreturnÚboolc                óB   — t          | ¦  «        t          |¦  «        k    S )a‘  Differs from os.path.samefile because it does not require paths to exist.
    Purely string based (no comparison between i-nodes).
    >>> same_path("a/b", "./a/b")
    True
    >>> same_path("a/b", "a/./b")
    True
    >>> same_path("a/b", "././a/b")
    True
    >>> same_path("a/b", "./a/b/c/..")
    True
    >>> same_path("a/b", "../a/b/c")
    False
    >>> same_path("a", "a/b")
    False
    )Únormpath)r   r   s     r   Ú	same_pathr      s   € õ  �B‰<Œ<�8 B™<œ<Ò'Ð'r   ÚfilenameÚstrc                ó  — t           j        dk    rt          j                             | ¦  «        n| }t          j                             t          j                             t          j                             |¦  «        ¦  «        ¦  «        S )z2Normalize a file/dir name for comparison purposes.Úcygwin)ÚsysÚplatformr   r   ÚabspathÚnormcaseÚrealpathr   )r   Úfiles     r   r   r   *   s^   € õ ),¬¸Ò(@Ð(@�2Œ7�?Š?˜8Ñ$Ô$Ð$Àh€DÝŒ7×Ò�BœG×,Ò,­R¬W×-=Ò-=¸dÑ-CÔ-CÑDÔDÑEÔEÐEr   c              #  óh  K  — t          ¦   «         }t          j                             d|¦  «        }t          j                             dd¦  «        }	 t          j                             t          | ¦  «        ¦  «        }t          d||g¦  «        }t          j                             |¦  «        }|r|t          j        d<   dV — ||u r"t          j                             dd¦  «         dS |t          j        d<   dS # ||u r!t          j                             dd¦  «         n|t          j        d<   w xY w)a°  
    Add the indicated paths to the head of the PYTHONPATH environment
    variable so that subprocesses will also see the packages at
    these paths.

    Do this in a context that restores the value on exit.

    >>> getfixture('monkeypatch').setenv('PYTHONPATH', 'anything')
    >>> with paths_on_pythonpath(['foo', 'bar']):
    ...     assert 'foo' in os.environ['PYTHONPATH']
    ...     assert 'anything' in os.environ['PYTHONPATH']
    >>> os.environ['PYTHONPATH']
    'anything'

    >>> getfixture('monkeypatch').delenv('PYTHONPATH')
    >>> with paths_on_pythonpath(['foo', 'bar']):
    ...     assert 'foo' in os.environ['PYTHONPATH']
    >>> os.environ.get('PYTHONPATH')
    Ú
PYTHONPATHÚ N)	Úobjectr   ÚenvironÚgetÚpathsepÚjoinr   ÚfilterÚpop)ÚpathsÚnothingÚorig_pythonpathÚcurrent_pythonpathÚprefixÚto_joinÚnew_paths          r   Úpaths_on_pythonpathr7   1   s  è è € õ* ‰hŒh€GÝ”j—n’n \°7Ñ;Ô;€OÝœŸš¨°bÑ9Ô9Ðð7Ý”—’¥°Ñ!7Ô!7Ñ8Ô8ˆÝ˜ Ð(:Ð;Ñ<Ô<ˆÝ”:—?’? 7Ñ+Ô+ˆØð 	0Ø'/�BŒJ�|Ñ$Øˆˆˆà˜gÐ%Ð%ÝŒJ�NŠN˜<¨Ñ.Ô.Ð.Ð.Ð.à'6�BŒJ�|Ñ$Ð$Ð$øð ˜gÐ%Ð%ÝŒJ�NŠN˜<¨Ñ.Ô.Ð.Ð.à'6�BŒJ�|Ñ$Ð6Ð6Ð6Ð6s   ÁA2C; Ã;6D1)r   r	   r   r	   r   r   )r   r	   r   r   )Ú
__future__r   Ú
contextlibr   r    Útypingr   r   r   Úmore_itertoolsr   Útyping_extensionsr   r   ÚPathLiker	   Ú__annotations__r
   r   r   r   Úcontextmanagerr7   © r   r   ú<module>rA      s-  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø 	€	€	€	Ø 
€
€
€
Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à *Ð *Ð *Ð *Ð *Ð *àð ,Ø+Ð+Ð+Ð+Ð+Ð+à˜3 ¤¨CÔ 0Ð0Ô1€Ð 1Ð 1Ð 1Ñ 1Øˆ7�: U¨3°´¸CÔ0@Ð+@Ô%AÐBÑBÔB€ð(ð (ð (ð(ð (ð (ð (ð&Fð Fð Fð Fð Ôð"7ð "7ñ Ôð"7ð "7ð "7r   