ó
    Ñ]jv  ã                  ó®   • S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	  SSK
Jr  \	(       a  SSKJr  SSKJr  SS	KJr   " S
 S\5      r " S S\5      rSS/rg)z&Application data stored by virtualenv.é    )Úannotations)ÚABCÚabstractmethod)Úcontextmanager)ÚTYPE_CHECKING)Ú	IS_ZIPAPP)Ú	Generator)ÚPath)ÚAnyc                  ó   • \ rS rSrSr\SS j5       r\SS j5       r\SS j5       r\SS j5       r	\
SS j5       r\SS j5       r\
SS	 j5       r\
SS
 j5       r\SS j5       r\SSS jj5       r\\SS j5       5       r\\SS j5       5       rSrg)ÚAppDataé   z:Abstract storage interface for the virtualenv application.c                ó   • g)zCalled before virtualenv exits.N© ©Úselfs    ÚU/home/mande/repo/quber/.venv/lib/python3.13/site-packages/virtualenv/app_data/base.pyÚcloseÚAppData.close   ó   � ó    c                ó   • g)z2Called when the user passes in the reset app data.Nr   r   s    r   ÚresetÚAppData.reset   r   r   c                ó   • [         e)z«Return a content store for cached interpreter information at the given path.

:param path: the interpreter executable path

:returns: a content store for the cached data

©ÚNotImplementedError©r   Úpaths     r   Úpy_infoÚAppData.py_info   s
   € ô "Ð!r   c                ó   • [         e)z)Clear all cached interpreter information.r   r   s    r   Úpy_info_clearÚAppData.py_info_clear'   ó
   € ô "Ð!r   c                ó   • [         e)zA``True`` if this app data store supports updating cached content.r   r   s    r   Ú
can_updateÚAppData.can_update,   r%   r   c                ó   • [         e)zàReturn a content store for the embed update log of a distribution.

:param distribution: the package name (e.g. ``pip``)
:param for_py_version: the target Python version string

:returns: a content store for the update log

r   )r   ÚdistributionÚfor_py_versions      r   Úembed_update_logÚAppData.embed_update_log1   ó
   € ô "Ð!r   c                ó   • [         e)z1The root directory of the application data store.r   r   s    r   ÚhouseÚAppData.house=   r%   r   c                ó   • [         e)zN``True`` if this app data store is transient and does not persist across runs.r   r   s    r   Ú	transientÚAppData.transientB   r%   r   c                ó   • [         e)z©Return the path to a cached wheel image.

:param for_py_version: the target Python version string
:param name: the package name

:returns: the path to the cached wheel

r   )r   r+   Únames      r   Úwheel_imageÚAppData.wheel_imageG   r.   r   Nc              #  óŠ   #   • [         (       a  U R                  X5       nUv •  SSS5        gUv •  g! , (       d  f       g= f7f)zÚEnsure a path is available on disk, extracting from zipapp if needed.

:param path: the path to ensure is available
:param to_folder: optional target directory for extraction

:returns: yields the usable path on disk

N)r   Úextract)r   r   Ú	to_folderÚresults       r   Úensure_extractedÚAppData.ensure_extractedS   s6   é € ÷ Š9Ø—‘˜dÔ.°&Ø’÷ /Ð.ð ‹J÷ /Õ.üs   ‚AŸ2¤A²
A ¼Ac                ó   • [         e)zªExtract a path from the zipapp to a location on disk.

:param path: the path to extract
:param to_folder: optional target directory

:returns: yields the extracted path

r   )r   r   r;   s      r   r:   ÚAppData.extractc   s
   € ô "Ð!r   c                ó   • [         e)zMAcquire an exclusive lock on the given path.

:param path: the path to lock

r   r   s     r   ÚlockedÚAppData.lockedp   s
   € ô "Ð!r   r   ©ÚreturnÚNone)r   r
   rE   ÚContentStore©rE   Úbool)r*   Ústrr+   rJ   rE   rG   )rE   r
   )r+   rJ   r6   rJ   rE   r
   )N)r   r
   r;   zPath | NonerE   zGenerator[Path])r   r
   rE   úGenerator[None])Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r    r#   Úpropertyr'   r,   r0   r3   r7   r   r=   r:   rB   Ú__static_attributes__r   r   r   r   r      s  † ÙDàó.ó ð.ð óAó ðAð ó"ó ð"ð ó"ó ð"ð ó"ó ð"ð ó	"ó ð	"ð ó"ó ð"ð ó"ó ð"ð ó	"ó ð	"ð õó ðð Øó	"ó ó ð	"ð Øó"ó ó ó"r   r   c                  ó†   • \ rS rSrSr\S
S j5       r\SS j5       r\SS j5       r\SS j5       r	\\
SS j5       5       rSrg	)rG   é{   z/A store for reading and writing cached content.c                ó   • [         e)zKCheck if the stored content exists.

:returns: ``True`` if content exists

r   r   s    r   ÚexistsÚContentStore.exists~   ó
   € ô "Ð!r   c                ó   • [         e)z8Read the stored content.

:returns: the stored content

r   r   s    r   ÚreadÚContentStore.read‡   rX   r   c                ó   • [         e)zCWrite content to the store.

:param content: the content to write

r   )r   Úcontents     r   ÚwriteÚContentStore.write�   rX   r   c                ó   • [         e)zRemove the stored content.r   r   s    r   ÚremoveÚContentStore.remove™   r%   r   c                ó   • g)z0Acquire an exclusive lock on this content store.Nr   r   s    r   rB   ÚContentStore.lockedž   r   r   r   NrH   )rE   r   )r]   r   rE   rF   rD   )rE   rK   )rL   rM   rN   rO   rP   r   rV   rZ   r^   ra   r   rB   rR   r   r   r   rG   rG   {   so   † Ù9àó"ó ð"ð ó"ó ð"ð ó"ó ð"ð ó"ó ð"ð Øó?ó ó ó?r   rG   N)rP   Ú
__future__r   Úabcr   r   Ú
contextlibr   Útypingr   Úvirtualenv.infor   Úcollections.abcr	   Úpathlibr
   r   r   rG   Ú__all__r   r   r   Ú<module>rm      sN   ðÙ ,å "ç #Ý %Ý  å %æÝ)ÝÝôg"ˆcô g"ôT&?�3ô &?ðT Øð�r   