Ë
    äØjjÜ  ã                  óž   — d Z ddlmZ ddlZddlmZmZ ddlmZ ddl	m
Z
 e
r ddlZej                  dk\  rddl	mZ nddlmZ  G d	„ d
e«      Zy)z	Base API.é    )ÚannotationsN)ÚABCÚabstractmethod)ÚPath)ÚTYPE_CHECKING)é   é   )ÚLiteralc                  óÚ  — e Zd ZdZ	 	 	 	 	 	 	 d"	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d#d„Zd$d„Zd%d„Zeed&d„«       «       Z	eed&d„«       «       Z
eed&d„«       «       Zeed&d	„«       «       Zeed&d
„«       «       Zeed&d„«       «       Zeed&d„«       «       Zeed&d„«       «       Zeed&d„«       «       Zeed&d„«       «       Zeed&d„«       «       Zeed&d„«       «       Zeed&d„«       «       Zeed&d„«       «       Zed'd„«       Zed'd„«       Zed'd„«       Zed'd„«       Zed'd„«       Zed'd„«       Zed'd„«       Zed'd„«       Zed'd„«       Zed'd„«       Z ed'd„«       Z!ed'd„«       Z"ed'd „«       Z#ed'd!„«       Z$y)(ÚPlatformDirsABCz-Abstract base class for platform directories.Nc                ón   — || _         || _        	 || _        	 || _        	 || _        	 || _        || _        y)aX  
        Create a new platform directory.

        :param appname: See `appname`.
        :param appauthor: See `appauthor`.
        :param version: See `version`.
        :param roaming: See `roaming`.
        :param multipath: See `multipath`.
        :param opinion: See `opinion`.
        :param ensure_exists: See `ensure_exists`.
        N)ÚappnameÚ	appauthorÚversionÚroamingÚ	multipathÚopinionÚensure_exists)Úselfr   r   r   r   r   r   r   s           ú^/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/pip/_vendor/platformdirs/api.pyÚ__init__zPlatformDirsABC.__init__   sW   € ð* ˆŒØ"ˆŒð	ð ˆŒð	ð ˆŒð	ð
 #ˆŒð	ð ˆŒØ*ˆÔð	ó    c                ó&  — t        |dd  «      }| j                  rB|j                  | j                  «       | j                  r|j                  | j                  «       t	        j
                  j                  |d   g|¢­Ž }| j                  |«       |S )Né   r   )Úlistr   Úappendr   ÚosÚpathÚjoinÚ_optionally_create_directory)r   ÚbaseÚparamsr   s       r   Ú_append_app_name_and_versionz,PlatformDirsABC._append_app_name_and_versionG   sm   € Ü�d˜1˜2�h“ˆØ�<Š<Ø�M‰M˜$Ÿ,™,Ô'Ø�|Š|Ø—‘˜dŸl™lÔ+Ü�w‰w�|‰|˜D ™GÐ- fÒ-ˆØ×)Ñ)¨$Ô/Øˆr   c                óV   — | j                   rt        |«      j                  dd¬«       y y )NT)ÚparentsÚexist_ok)r   r   Úmkdir)r   r   s     r   r    z,PlatformDirsABC._optionally_create_directoryQ   s'   € Ø×ÒÜ�‹J×Ñ T°DÐÕ9ð r   c                 ó   — y)z(:return: data directory tied to the userN© ©r   s    r   Úuser_data_dirzPlatformDirsABC.user_data_dirU   ó   � r   c                 ó   — y)z':return: data directory shared by usersNr)   r*   s    r   Úsite_data_dirzPlatformDirsABC.site_data_dirZ   r,   r   c                 ó   — y)z*:return: config directory tied to the userNr)   r*   s    r   Úuser_config_dirzPlatformDirsABC.user_config_dir_   r,   r   c                 ó   — y)z-:return: config directory shared by the usersNr)   r*   s    r   Úsite_config_dirzPlatformDirsABC.site_config_dird   r,   r   c                 ó   — y)z):return: cache directory tied to the userNr)   r*   s    r   Úuser_cache_dirzPlatformDirsABC.user_cache_diri   r,   r   c                 ó   — y)z(:return: cache directory shared by usersNr)   r*   s    r   Úsite_cache_dirzPlatformDirsABC.site_cache_dirn   r,   r   c                 ó   — y)z):return: state directory tied to the userNr)   r*   s    r   Úuser_state_dirzPlatformDirsABC.user_state_dirs   r,   r   c                 ó   — y)z':return: log directory tied to the userNr)   r*   s    r   Úuser_log_dirzPlatformDirsABC.user_log_dirx   r,   r   c                 ó   — y)z-:return: documents directory tied to the userNr)   r*   s    r   Úuser_documents_dirz"PlatformDirsABC.user_documents_dir}   r,   r   c                 ó   — y)z-:return: downloads directory tied to the userNr)   r*   s    r   Úuser_downloads_dirz"PlatformDirsABC.user_downloads_dir‚   r,   r   c                 ó   — y)z,:return: pictures directory tied to the userNr)   r*   s    r   Úuser_pictures_dirz!PlatformDirsABC.user_pictures_dir‡   r,   r   c                 ó   — y)z*:return: videos directory tied to the userNr)   r*   s    r   Úuser_videos_dirzPlatformDirsABC.user_videos_dirŒ   r,   r   c                 ó   — y)z):return: music directory tied to the userNr)   r*   s    r   Úuser_music_dirzPlatformDirsABC.user_music_dir‘   r,   r   c                 ó   — y)z+:return: runtime directory tied to the userNr)   r*   s    r   Úuser_runtime_dirz PlatformDirsABC.user_runtime_dir–   r,   r   c                ó,   — t        | j                  «      S )z#:return: data path tied to the user)r   r+   r*   s    r   Úuser_data_pathzPlatformDirsABC.user_data_path›   ó   € ô �D×&Ñ&Ó'Ð'r   c                ó,   — t        | j                  «      S )z":return: data path shared by users)r   r.   r*   s    r   Úsite_data_pathzPlatformDirsABC.site_data_path    rI   r   c                ó,   — t        | j                  «      S )z%:return: config path tied to the user)r   r0   r*   s    r   Úuser_config_pathz PlatformDirsABC.user_config_path¥   ó   € ô �D×(Ñ(Ó)Ð)r   c                ó,   — t        | j                  «      S )z(:return: config path shared by the users)r   r2   r*   s    r   Úsite_config_pathz PlatformDirsABC.site_config_pathª   rN   r   c                ó,   — t        | j                  «      S )z$:return: cache path tied to the user)r   r4   r*   s    r   Úuser_cache_pathzPlatformDirsABC.user_cache_path¯   ó   € ô �D×'Ñ'Ó(Ð(r   c                ó,   — t        | j                  «      S )z#:return: cache path shared by users)r   r6   r*   s    r   Úsite_cache_pathzPlatformDirsABC.site_cache_path´   rS   r   c                ó,   — t        | j                  «      S )z$:return: state path tied to the user)r   r8   r*   s    r   Úuser_state_pathzPlatformDirsABC.user_state_path¹   rS   r   c                ó,   — t        | j                  «      S )z":return: log path tied to the user)r   r:   r*   s    r   Úuser_log_pathzPlatformDirsABC.user_log_path¾   s   € ô �D×%Ñ%Ó&Ð&r   c                ó,   — t        | j                  «      S )z(:return: documents path tied to the user)r   r<   r*   s    r   Úuser_documents_pathz#PlatformDirsABC.user_documents_pathÃ   ó   € ô �D×+Ñ+Ó,Ð,r   c                ó,   — t        | j                  «      S )z(:return: downloads path tied to the user)r   r>   r*   s    r   Úuser_downloads_pathz#PlatformDirsABC.user_downloads_pathÈ   r\   r   c                ó,   — t        | j                  «      S )z':return: pictures path tied to the user)r   r@   r*   s    r   Úuser_pictures_pathz"PlatformDirsABC.user_pictures_pathÍ   s   € ô �D×*Ñ*Ó+Ð+r   c                ó,   — t        | j                  «      S )z%:return: videos path tied to the user)r   rB   r*   s    r   Úuser_videos_pathz PlatformDirsABC.user_videos_pathÒ   rN   r   c                ó,   — t        | j                  «      S )z$:return: music path tied to the user)r   rD   r*   s    r   Úuser_music_pathzPlatformDirsABC.user_music_path×   rS   r   c                ó,   — t        | j                  «      S )z&:return: runtime path tied to the user)r   rF   r*   s    r   Úuser_runtime_pathz!PlatformDirsABC.user_runtime_pathÜ   s   € ô �D×)Ñ)Ó*Ð*r   )NNNFFTF)r   ú
str | Noner   zstr | None | Literal[False]r   rg   r   Úboolr   rh   r   rh   r   rh   ÚreturnÚNone)r!   Ústrri   rk   )r   rk   ri   rj   )ri   rk   )ri   r   )%Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r#   r    Úpropertyr   r+   r.   r0   r2   r4   r6   r8   r:   r<   r>   r@   rB   rD   rF   rH   rK   rM   rP   rR   rU   rW   rY   r[   r^   r`   rb   rd   rf   r)   r   r   r   r      s  „ Ù7ð #Ø15Ø"ØØØØ#ð0àð0ð /ð0ð ð	0ð
 ð0ð ð0ð ð0ð ð0ð 
ó0ódó:ð Øò7ó ó ð7ð Øò6ó ó ð6ð Øò9ó ó ð9ð Øò<ó ó ð<ð Øò8ó ó ð8ð Øò7ó ó ð7ð Øò8ó ó ð8ð Øò6ó ó ð6ð Øò<ó ó ð<ð Øò<ó ó ð<ð Øò;ó ó ð;ð Øò9ó ó ð9ð Øò8ó ó ð8ð Øò:ó ó ð:ð ò(ó ð(ð ò(ó ð(ð ò*ó ð*ð ò*ó ð*ð ò)ó ð)ð ò)ó ð)ð ò)ó ð)ð ò'ó ð'ð ò-ó ð-ð ò-ó ð-ð ò,ó ð,ð ò*ó ð*ð ò)ó ð)ð ò+ó ñ+r   r   )ro   Ú
__future__r   r   Úabcr   r   Úpathlibr   Útypingr   ÚsysÚversion_infor
   Úpip._vendor.typing_extensionsr   r)   r   r   ú<module>rx      s?   ðÙ Ý "ã 	ß #Ý Ý  áÛà
×Ñ˜6Ò!Þ"å9ôM+�cõ M+r   