Ë
    nûàg}
  ã                  óþ   — 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y)é    )ÚannotationsN)ÚTYPE_CHECKINGÚTypeVarÚUnion)Úunique_everseen)Ú	TypeAliasr   ÚStrPathÚStrPathT)Úboundc                óp   — t         j                  j                  | «      }t        j                  |d¬«       y)z1Ensure that the parent directory of `path` existsT)Úexist_okN)ÚosÚpathÚdirnameÚmakedirs)r   r   s     úN/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/setuptools/_path.pyÚensure_directoryr      s"   € ä�g‰g�o‰o˜dÓ#€GÜ‡K�K� $Ö'ó    c                ó0   — 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)Úp1Úp2s     r   Ú	same_pathr      s   € ô  �B‹<œ8 B›<Ñ'Ð'r   c                ó  — t         j                  dk(  rt        j                  j	                  | «      n| }t        j                  j                  t        j                  j                  t        j                  j                  |«      «      «      S )z2Normalize a file/dir name for comparison purposes.Úcygwin)ÚsysÚplatformr   r   ÚabspathÚnormcaseÚrealpathr   )ÚfilenameÚfiles     r   r   r   *   sV   € ô ),¯©¸Ò(@Œ2�7‰7�?‰?˜8Ô$Àh€DÜ�7‰7×ÑœBŸG™G×,Ñ,¬R¯W©W×-=Ñ-=¸dÓ-CÓDÓEÐEr   c              #  óh  K  — t        «       }t        j                  j                  d|«      }t        j                  j                  dd«      }	 t        j                  j                  t        | «      «      }t        d||g«      }t        j                  j                  |«      }|r|t        j                  d<   d–— ||u r!t        j                  j                  dd«       y|t        j                  d<   y# ||u r!t        j                  j                  dd«       w |t        j                  d<   w xY w­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_pythonpathr4   1   sß   è ø€ ô* ‹h€GÜ—j‘j—n‘n \°7Ó;€OÜŸ™Ÿ™¨°bÓ9Ðð7Ü—‘—‘¤°Ó!7Ó8ˆÜ˜ Ð(:Ð;Ó<ˆÜ—:‘:—?‘? 7Ó+ˆÙØ'/ŒB�J‰J�|Ñ$Ûà˜gÑ%Ü�J‰J�N‰N˜<¨Õ.à'6ŒB�J‰J�|Ò$øð ˜gÑ%Ü�J‰J�N‰N˜<¨Õ.à'6ŒB�J‰J�|Ò$üs   ‚AD2ÁA.C5 Â<9D2Ã5:D/Ä/D2)r   r	   r   r	   ÚreturnÚbool)r!   r	   r5   Ústr)Ú
__future__r   Ú
contextlibr   r   Útypingr   r   r   Úmore_itertoolsr   Útyping_extensionsr   r7   ÚPathLiker	   Ú__annotations__r
   r   r   r   Úcontextmanagerr4   © r   r   ú<module>rA      s†   ðÞ "ã Û 	Û 
ß 0Ñ 0å *áÝ+à˜3 §¡¨CÑ 0Ð0Ñ1€ˆÓ 1Ù�: U¨3°·±¸CÑ0@Ð+@Ñ%AÔB€ò(ó(ó&Fð ×Ññ"7ó ñ"7r   