XylotrechusZ
�
Œ�g�( � �� � d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl m
Z
mZ ddlm
Z
e
rdd lmZ ej d
k( rdd�ZnddlmZ G d
� de
� Zdd�Zdd�ZdgZy)zUnix.� )�annotationsN)�ConfigParser)�Path)�
TYPE_CHECKING�NoReturn� )�PlatformDirsABC)�Iterator�win32c � � d} t | � �)Nzshould only be used on Unix)�RuntimeError)�msgs �@/opt/hc_python/lib/python3.12/site-packages/platformdirs/unix.py�getuidr s � �+���3��� )r c � � e Zd ZdZedd�� Zedd�� Zedd�� Zedd�� Zedd�� Z edd�� Z
edd�� Zedd �� Zedd
�� Z
edd�� Zedd�� Zedd
�� Zedd�� Zedd�� Zedd�� Zedd�� Zedd�� Zedd�� Zedd�� Zedd�� Zedd�� Zdd�Zdd�Zy)�Unixa�
On Unix/Linux, we follow the `XDG Basedir Spec <https://specifications.freedesktop.org/basedir-spec/basedir-spec-
latest.html>`_.
The spec allows overriding directories with environment variables. The examples shown are the default values,
alongside the name of the environment variable that overrides them. Makes use of the `appname
<platformdirs.api.PlatformDirsABC.appname>`, `version <platformdirs.api.PlatformDirsABC.version>`, `multipath
<platformdirs.api.PlatformDirsABC.multipath>`, `opinion <platformdirs.api.PlatformDirsABC.opinion>`, `ensure_exists
<platformdirs.api.PlatformDirsABC.ensure_exists>`.
c �� � t j j dd� }|j � st j j d� }| j
|� S )z�
:return: data directory tied to the user, e.g. ``~/.local/share/$appname/$version`` or
``$XDG_DATA_HOME/$appname/$version``
�
XDG_DATA_HOME� z~/.local/share��os�environ�get�strip�path�
expanduser�_append_app_name_and_version��selfr s r �
user_data_dirzUnix.user_data_dir'