
    if                        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dS )z	Base API.    )annotationsN)ABCabstractmethod)Path)TYPE_CHECKING)      )Literalc                     e Zd ZdZ	 	 	 	 	 	 	 d4d5dZd6dZd7dZeed8d                        Z	eed8d                        Z
eed8d                        Zeed8d                        Zeed8d                        Zeed8d                        Zeed8d                        Zeed8d                        Zeed8d                        Zeed8d                         Zeed8d!                        Zeed8d"                        Zeed8d#                        Zeed8d$                        Zed9d&            Zed9d'            Zed9d(            Zed9d)            Zed9d*            Zed9d+            Zed9d,            Zed9d-            Zed9d.            Zed9d/            Z ed9d0            Z!ed9d1            Z"ed9d2            Z#ed9d3            Z$dS ):PlatformDirsABCz-Abstract base class for platform directories.NFTappname
str | None	appauthorstr | None | Literal[False]versionroamingbool	multipathopinionensure_existsreturnNonec                p    || _         || _        	 || _        	 || _        	 || _        	 || _        || _        dS )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)r   r   r   r   r   r   r   )selfr   r   r   r   r   r   r   s           N/var/www/html/env/lib/python3.11/site-packages/pip/_vendor/platformdirs/api.py__init__zPlatformDirsABC.__init__   s\    * "	 	 	
 #	 *	 	    basestrc                   t          |dd                    }| j        r;|                    | j                   | j        r|                    | j                   t	          j        j        |d         g|R  }|                     |           |S )N   r   )listr   appendr   ospathjoin_optionally_create_directory)r   r   paramsr%   s       r   _append_app_name_and_versionz,PlatformDirsABC._append_app_name_and_versionG   s    d122h< 	,MM$,'''| ,dl+++w|DG-f---))$///r   r%   c                `    | j         r&t          |                              dd           d S d S )NT)parentsexist_ok)r   r   mkdir)r   r%   s     r   r'   z,PlatformDirsABC._optionally_create_directoryQ   s<     	:JJTD99999	: 	:r   c                    dS )z(:return: data directory tied to the userN r   s    r   user_data_dirzPlatformDirsABC.user_data_dirU         r   c                    dS )z':return: data directory shared by usersNr/   r0   s    r   site_data_dirzPlatformDirsABC.site_data_dirZ   r2   r   c                    dS )z*:return: config directory tied to the userNr/   r0   s    r   user_config_dirzPlatformDirsABC.user_config_dir_   r2   r   c                    dS )z-:return: config directory shared by the usersNr/   r0   s    r   site_config_dirzPlatformDirsABC.site_config_dird   r2   r   c                    dS )z):return: cache directory tied to the userNr/   r0   s    r   user_cache_dirzPlatformDirsABC.user_cache_diri   r2   r   c                    dS )z(:return: cache directory shared by usersNr/   r0   s    r   site_cache_dirzPlatformDirsABC.site_cache_dirn   r2   r   c                    dS )z):return: state directory tied to the userNr/   r0   s    r   user_state_dirzPlatformDirsABC.user_state_dirs   r2   r   c                    dS )z':return: log directory tied to the userNr/   r0   s    r   user_log_dirzPlatformDirsABC.user_log_dirx   r2   r   c                    dS )z-:return: documents directory tied to the userNr/   r0   s    r   user_documents_dirz"PlatformDirsABC.user_documents_dir}   r2   r   c                    dS )z-:return: downloads directory tied to the userNr/   r0   s    r   user_downloads_dirz"PlatformDirsABC.user_downloads_dir   r2   r   c                    dS )z,:return: pictures directory tied to the userNr/   r0   s    r   user_pictures_dirz!PlatformDirsABC.user_pictures_dir   r2   r   c                    dS )z*:return: videos directory tied to the userNr/   r0   s    r   user_videos_dirzPlatformDirsABC.user_videos_dir   r2   r   c                    dS )z):return: music directory tied to the userNr/   r0   s    r   user_music_dirzPlatformDirsABC.user_music_dir   r2   r   c                    dS )z+:return: runtime directory tied to the userNr/   r0   s    r   user_runtime_dirz PlatformDirsABC.user_runtime_dir   r2   r   r   c                *    t          | j                  S )z#:return: data path tied to the user)r   r1   r0   s    r   user_data_pathzPlatformDirsABC.user_data_path        D&'''r   c                *    t          | j                  S )z":return: data path shared by users)r   r4   r0   s    r   site_data_pathzPlatformDirsABC.site_data_path   rO   r   c                *    t          | j                  S )z%:return: config path tied to the user)r   r6   r0   s    r   user_config_pathz PlatformDirsABC.user_config_path        D()))r   c                *    t          | j                  S )z(:return: config path shared by the users)r   r8   r0   s    r   site_config_pathz PlatformDirsABC.site_config_path   rT   r   c                *    t          | j                  S )z$:return: cache path tied to the user)r   r:   r0   s    r   user_cache_pathzPlatformDirsABC.user_cache_path        D'(((r   c                *    t          | j                  S )z#:return: cache path shared by users)r   r<   r0   s    r   site_cache_pathzPlatformDirsABC.site_cache_path   rY   r   c                *    t          | j                  S )z$:return: state path tied to the user)r   r>   r0   s    r   user_state_pathzPlatformDirsABC.user_state_path   rY   r   c                *    t          | j                  S )z":return: log path tied to the user)r   r@   r0   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   rB   r0   s    r   user_documents_pathz#PlatformDirsABC.user_documents_path        D+,,,r   c                *    t          | j                  S )z(:return: downloads path tied to the user)r   rD   r0   s    r   user_downloads_pathz#PlatformDirsABC.user_downloads_path   rb   r   c                *    t          | j                  S )z':return: pictures path tied to the user)r   rF   r0   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   rH   r0   s    r   user_videos_pathz PlatformDirsABC.user_videos_path   rT   r   c                *    t          | j                  S )z$:return: music path tied to the user)r   rJ   r0   s    r   user_music_pathzPlatformDirsABC.user_music_path   rY   r   c                *    t          | j                  S )z&:return: runtime path tied to the user)r   rL   r0   s    r   user_runtime_pathz!PlatformDirsABC.user_runtime_path   s     D)***r   )NNNFFTF)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   )r%   r   r   r   )r   r   )r   r   )%__name__
__module____qualname____doc__r   r)   r'   propertyr   r1   r4   r6   r8   r:   r<   r>   r@   rB   rD   rF   rH   rJ   rL   rN   rQ   rS   rV   rX   r[   r]   r_   ra   rd   rf   rh   rj   rl   r/   r   r   r   r      s       77 #15"#0 0 0 0 0d   : : : : 7 7 7 ^ X7 6 6 6 ^ X6 9 9 9 ^ X9 < < < ^ X< 8 8 8 ^ X8 7 7 7 ^ X7 8 8 8 ^ X8 6 6 6 ^ X6 < < < ^ X< < < < ^ X< ; ; ; ^ X; 9 9 9 ^ X9 8 8 8 ^ X8 : : : ^ X: ( ( ( X( ( ( ( X( * * * X* * * * X* ) ) ) X) ) ) ) X) ) ) ) X) ' ' ' X' - - - X- - - - X- , , , X, * * * X* ) ) ) X) + + + X+ + +r   r   )rp   
__future__r   r$   abcr   r   pathlibr   typingr   sysversion_infor
   pip._vendor.typing_extensionsr   r/   r   r   <module>ry      s     " " " " " " 				 # # # # # # # #                   :JJJ
6!!"""""""999999M+ M+ M+ M+ M+c M+ M+ M+ M+ M+r   