� ��^i:���ddlZddlZddlmZmZddlmZddlmZm Z ej dkrddlm Z Gd�de��Z dS) �N)�ABC�abstractmethod)�Path)�Optional�Union)��)�Literalc ��eZdZdZ d"deedeeddfdeed ed ed ef d �Zd edefd�Z e e defd�����Z e e defd�����Z e e defd�����Ze e defd�����Ze e defd�����Ze e defd�����Ze e defd�����Ze e defd�����Ze e defd�����Ze defd���Ze defd���Ze defd���Ze defd���Ze defd���Ze defd���Ze defd���Ze defd ���Ze defd!���ZdS)#�PlatformDirsABCz7 Abstract base class for platform directories. NFT�appname� appauthorzLiteral[False]�version�roaming� multipath�opinionc�b�||_||_ ||_ ||_ ||_ ||_dS)a% 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`. N)r rrrrr)�selfr rrrrrs ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/platformdirs/api.py�__init__zPlatformDirsABC.__init__sN��&�� �"��� ��� � ��� � � #��� ��� � � ��base�returnc���t|dd���}|jr;|�|j��|jr|�|j��t jj|dg|�R�S)N�r)�listr �appendr�os�path�join)rr�paramss r�_append_app_name_and_versionz,PlatformDirsABC._append_app_name_and_version;so���d�1�2�2�h���� �<� ,� �M�M�$�,� '� '� '��|� ,�� � �d�l�+�+�+��w�|�D��G�-�f�-�-�-�-rc��dS)z(:return: data directory tied to the userN��rs r� user_data_dirzPlatformDirsABC.user_data_dirC����rc��dS)z':return: data directory shared by usersNr$r%s r� site_data_dirzPlatformDirsABC.site_data_dirHr'rc��dS)z*:return: config directory tied to the userNr$r%s r�user_config_dirzPlatformDirsABC.user_config_dirMr'rc��dS)z-:return: config directory shared by the usersNr$r%s r�site_config_dirzPlatformDirsABC.site_config_dirRr'rc��dS)z):return: cache directory tied to the userNr$r%s r�user_cache_dirzPlatformDirsABC.user_cache_dirWr'rc��dS)z):return: state directory tied to the userNr$r%s r�user_state_dirzPlatformDirsABC.user_state_dir\r'rc��dS)z':return: log directory tied to the userNr$r%s r� user_log_dirzPlatformDirsABC.user_log_dirar'rc��dS)z-:return: documents directory tied to the userNr$r%s r�user_documents_dirz"PlatformDirsABC.user_documents_dirfr'rc��dS)z+:return: runtime directory tied to the userNr$r%s r�user_runtime_dirz PlatformDirsABC.user_runtime_dirkr'rc�*�t|j��S)z#:return: data path tied to the user)rr&r%s r�user_data_pathzPlatformDirsABC.user_data_pathp����D�&�'�'�'rc�*�t|j��S)z":return: data path shared by users)rr)r%s r�site_data_pathzPlatformDirsABC.site_data_pathur:rc�*�t|j��S)z%:return: config path tied to the user)rr+r%s r�user_config_pathz PlatformDirsABC.user_config_pathz����D�(�)�)�)rc�*�t|j��S)z(:return: config path shared by the users)rr-r%s r�site_config_pathz PlatformDirsABC.site_config_pathr?rc�*�t|j��S)z$:return: cache path tied to the user)rr/r%s r�user_cache_pathzPlatformDirsABC.user_cache_path�����D�'�(�(�(rc�*�t|j��S)z$:return: state path tied to the user)rr1r%s r�user_state_pathzPlatformDirsABC.user_state_path�rDrc�*�t|j��S)z":return: log path tied to the user)rr3r%s r� user_log_pathzPlatformDirsABC.user_log_path�s���D�%�&�&�&rc�*�t|j��S)z(:return: documents path tied to the user)rr5r%s r�user_documents_pathz#PlatformDirsABC.user_documents_path�s���D�+�,�,�,rc�*�t|j��S)z&:return: runtime path tied to the user)rr7r%s r�user_runtime_pathz!PlatformDirsABC.user_runtime_path�s���D�)�*�*�*r)NNNFFT)�__name__� __module__� __qualname__�__doc__r�strr�boolrr"�propertyrr&r)r+r-r/r1r3r5r7rr9r<r>rArCrFrHrJrLr$rrr r s��������� "&�8<�!%����)�)��#��)���d�$4�4�5�)��#�� )� � )� � )��)�)�)�)�V.�#�.�#�.�.�.�.���7�s�7�7�7��^��X�7���6�s�6�6�6��^��X�6���9��9�9�9��^��X�9���<��<�<�<��^��X�<���8��8�8�8��^��X�8���8��8�8�8��^��X�8���6�c�6�6�6��^��X�6���<�C�<�<�<��^��X�<���:�#�:�:�:��^��X�:��(��(�(�(��X�(��(��(�(�(��X�(��*�$�*�*�*��X�*��*�$�*�*�*��X�*��)��)�)�)��X�)��)��)�)�)��X�)��'�t�'�'�'��X�'��-�T�-�-�-��X�-��+�4�+�+�+��X�+�+�+rr ) r�sys�abcrr�pathlibr�typingrr� version_infor r r$rr�rYs��� � � � � � � � �#�#�#�#�#�#�#�#�������"�"�"�"�"�"�"�"���v���������P+�P+�P+�P+�P+�c�P+�P+�P+�P+�P+r