
    yIfV                       d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	m
Z
 ddl	mZ erdd	lmZ dd
lmZ d=dZ e            ZeZ	 	 	 	 	 d>d?dZ	 	 	 	 	 d>d@dZ	 	 	 	 	 d>d?dZ	 	 	 	 	 d>d@dZ	 	 	 	 	 dAdBdZ	 	 	 	 	 dAdBd Z	 	 	 	 	 d>d?d!Z	 	 	 	 	 dAdBd"ZdCd#ZdCd$ZdCd%ZdCd&ZdCd'ZdCd(Z 	 	 	 	 	 dAdBd)Z!	 	 	 	 	 dAdBd*Z"	 	 	 	 	 d>dDd,Z#	 	 	 	 	 d>dEd-Z$	 	 	 	 	 d>dDd.Z%	 	 	 	 	 d>dEd/Z&	 	 	 	 	 dAdFd0Z'	 	 	 	 	 dAdFd1Z(	 	 	 	 	 d>dDd2Z)	 	 	 	 	 dAdFd3Z*dGd4Z+dGd5Z,dGd6Z-dGd7Z.dGd8Z/dGd9Z0	 	 	 	 	 dAdFd:Z1	 	 	 	 	 dAdFd;Z2g d<Z3dS )Hz
Utilities for determining application-specific dirs.

See <https://github.com/platformdirs/platformdirs> for details and usage.

    )annotationsN)TYPE_CHECKING   )PlatformDirsABC)__version__)__version_tuple__)Path)Literalreturntype[PlatformDirsABC]c                 R   t           j        dk    rddlm}  nt           j        dk    rddlm}  nddlm}  t          j	        d          dk    rZt          j	        d	          d
k    rBt          j	        d          st          j	        d          r| S ddl
m}  |            ddl
m} |S | S )Nwin32r   )Windowsdarwin)MacOS)UnixANDROID_DATAz/dataANDROID_ROOTz/systemSHELLPREFIX)_android_folder)Android)sysplatformplatformdirs.windowsr   platformdirs.macosr   platformdirs.unixr   osgetenvplatformdirs.androidr   r   )Resultr   r   s      I/var/www/piapp/venv/lib/python3.11/site-packages/platformdirs/__init__.py_set_platform_dir_classr#      s    
|w:::::::		!	!6666666444444	y  G++	.0I0IY0V0V9W 	8!4!4 	M888888?(444444NM    Fappname
str | None	appauthorstr | None | Literal[False]versionroamingboolensure_existsstrc                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data directory tied to the user
    r%   r'   r)   r*   r,   )PlatformDirsuser_data_dirr/   s        r"   r1   r1   1   /     #   r$   	multipathc                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data directory shared by users
    r%   r'   r)   r3   r,   )r0   site_data_dirr5   s        r"   r6   r6   I   s/     #   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config directory tied to the user
    r/   )r0   user_config_dirr/   s        r"   r8   r8   a   /     #   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config directory shared by the users
    r5   )r0   site_config_dirr5   s        r"   r;   r;   y   s/     #   r$   Topinionc                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache directory tied to the user
    r%   r'   r)   r<   r,   )r0   user_cache_dirr>   s        r"   r?   r?      /     #   r$   c                4    t          | ||||          j        S a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache directory tied to the user
    r>   )r0   site_cache_dirr>   s        r"   rC   rC      r@   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: state directory tied to the user
    r/   )r0   user_state_dirr/   s        r"   rE   rE      r@   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: log directory tied to the user
    r>   )r0   user_log_dirr>   s        r"   rG   rG      s/     #   r$   c                 (    t                      j        S )z.:returns: documents directory tied to the user)r0   user_documents_dir r$   r"   rI   rI          >>,,r$   c                 (    t                      j        S )z.:returns: downloads directory tied to the user)r0   user_downloads_dirrJ   r$   r"   rM   rM      rK   r$   c                 (    t                      j        S )z-:returns: pictures directory tied to the user)r0   user_pictures_dirrJ   r$   r"   rO   rO          >>++r$   c                 (    t                      j        S )z+:returns: videos directory tied to the user)r0   user_videos_dirrJ   r$   r"   rR   rR          >>))r$   c                 (    t                      j        S )z*:returns: music directory tied to the user)r0   user_music_dirrJ   r$   r"   rU   rU     s    >>((r$   c                 (    t                      j        S )z,:returns: desktop directory tied to the user)r0   user_desktop_dirrJ   r$   r"   rW   rW   
      >>**r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime directory tied to the user
    r>   )r0   user_runtime_dirr>   s        r"   rZ   rZ     /     #   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime directory shared by users
    r>   )r0   site_runtime_dirr>   s        r"   r]   r]   '  r[   r$   r	   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path tied to the user
    r/   )r0   user_data_pathr/   s        r"   r_   r_   ?  r@   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `multipath <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path shared by users
    r5   )r0   site_data_pathr5   s        r"   ra   ra   W  s/     #   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config path tied to the user
    r/   )r0   user_config_pathr/   s        r"   rc   rc   o  r[   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config path shared by the users
    r5   )r0   site_config_pathr5   s        r"   re   re     s/     #   r$   c                4    t          | ||||          j        S rB   )r0   site_cache_pathr>   s        r"   rg   rg     r9   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache path tied to the user
    r>   )r0   user_cache_pathr>   s        r"   ri   ri     r9   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: state path tied to the user
    r/   )r0   user_state_pathr/   s        r"   rk   rk     r9   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: log path tied to the user
    r>   )r0   user_log_pathr>   s        r"   rm   rm     r2   r$   c                 (    t                      j        S )z+:returns: documents a path tied to the user)r0   user_documents_pathrJ   r$   r"   ro   ro         >>--r$   c                 (    t                      j        S )z):returns: downloads path tied to the user)r0   user_downloads_pathrJ   r$   r"   rr   rr     rp   r$   c                 (    t                      j        S )z(:returns: pictures path tied to the user)r0   user_pictures_pathrJ   r$   r"   rt   rt   	  rK   r$   c                 (    t                      j        S )z&:returns: videos path tied to the user)r0   user_videos_pathrJ   r$   r"   rv   rv     rX   r$   c                 (    t                      j        S )z%:returns: music path tied to the user)r0   user_music_pathrJ   r$   r"   rx   rx     rS   r$   c                 (    t                      j        S )z':returns: desktop path tied to the user)r0   user_desktop_pathrJ   r$   r"   rz   rz     rP   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime path tied to the user
    r>   )r0   user_runtime_pathr>   s        r"   r|   r|     /     #   r$   c                4    t          | ||||          j        S )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime path shared by users
    r>   )r0   site_runtime_pathr>   s        r"   r   r   5  r}   r$   )%AppDirsr0   r   r   __version_info__rC   rg   r;   re   r6   ra   r]   r   r?   ri   r8   rc   r1   r_   rW   rz   rI   ro   rM   rr   rG   rm   rU   rx   rO   rt   rZ   r|   rE   rk   rR   rv   )r   r   )NNNFF)r%   r&   r'   r(   r)   r&   r*   r+   r,   r+   r   r-   )r%   r&   r'   r(   r)   r&   r3   r+   r,   r+   r   r-   )NNNTF)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&   r'   r(   r)   r&   r3   r+   r,   r+   r   r	   )r%   r&   r'   r(   r)   r&   r<   r+   r,   r+   r   r	   )r   r	   )4__doc__
__future__r   r   r   typingr   apir   r)   r   r   r   pathlibr	   r
   r#   r0   r   r1   r6   r8   r;   r?   rC   rE   rG   rI   rM   rO   rR   rU   rW   rZ   r]   r_   ra   rc   re   rg   ri   rk   rm   ro   rr   rt   rv   rx   rz   r|   r   __all__rJ   r$   r"   <module>r      s    # " " " " " 				 



                                     : : : : : :    , '&((
 -1    2 -1    2 -1    2 -1    2 -1    2 -1    2 -1    2 -1    0- - - -
- - - -
, , , ,
* * * *
) ) ) )
+ + + + -1    2 -1    2 -1    2 -1    2 -1    2 -1    2 -1    2 -1    2 -1    2 -1    0. . . .
. . . .
- - - -
+ + + +
* * * *
, , , , -1    2 -1    0& & &r$   