HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/opt/saltstack/salt/lib/python3.10/zoneinfo/__pycache__/_tzpath.cpython-310.pyc
o

�N�g��@s�ddlZddlZddd�Zdd�Zdd�Zdd	�Zej�ej�d
d
��dd�Z	e	fdd
�Z
[	dd�ZGdd�de�Z
dae�dS)�NcCs�|}|dur-t|ttf�rtddt|��d|����tttjj	|��s*t
t|���|}ntj�
dd�}|dur=t|�}ntt�d��}t|�adS)Nz!tzpaths must be a list or tuple, znot z: ZPYTHONTZPATH�TZPATH)�
isinstance�str�bytes�	TypeError�type�all�map�os�path�isabs�
ValueError�_get_invalid_paths_message�environ�get�_parse_python_tzpath�	sysconfig�get_config_var�tupler)�to�tzpathsZbase_tzpath�env_var�r�6/opt/saltstack/salt/lib/python3.10/zoneinfo/_tzpath.py�reset_tzpaths$��
�rcCsZ|sdS|�tj�}tttjj|��}t|�t|�kr+ddl}t	|�}|�
d|t�|S)Nrrz>Invalid paths specified in PYTHONTZPATH environment variable. )�splitr
�pathsepr�filterrr�len�warningsr�warn�InvalidTZPathWarning)rZ
raw_tzpathZ
new_tzpathr�msgrrrrs��rcCs(dd�|D�}d}||�|�}d|S)Ncss �|]}tj�|�s|VqdS�N)r
rr)�.0rrrr�	<genexpr>6s�z-_get_invalid_paths_message.<locals>.<genexpr>z
    z@Paths should be absolute but found the following relative paths:)�join)rZ
invalid_paths�prefixZindented_strrrrr5s��rcCs8t|�tD]}tj�||�}tj�|�r|SqdS)z,Retrieve the path to a TZif file from a key.N)�_validate_tzfile_pathrr
rr&�isfile)�keyZsearch_path�filepathrrr�find_tzfileAs�r,�_���cCsvtj�|�r
td|����tj�|�}t|�t|�kr"td|����tj�tj�||��}|�|�s9td|����dS)Nz.ZoneInfo keys may not be absolute paths, got: z6ZoneInfo keys must be normalized relative paths, got: z;ZoneInfo keys must refer to subdirectories of TZPATH, got: )r
rrr
�normpathrr&�
startswith)rZ_base�new_pathZresolvedrrrr(Os��
��r(c	CsRddlm}t�}z(|�dd��}|D]
}|��}|r |�|�qWd�n1s+wYWnttfy<Ynwdd�}tD]Z}t	j
�|�sLqCt	�|�D]K\}}}||krld|vrc|�
d�d	|vrl|�
d	�|D]-}	t	j
�||	�}
t	j
j|
|d
�}t	jdkr�|�t	jd�}|r�||vr�qn||
�r�|�|�qnqQqCd|vr�|�
d�|S)
a"Returns a set containing all available time zones.

    .. caution::

        This may attempt to open a large number of files, since the best way to
        determine if a given file on the time zone search path is to open it
        and check for the "magic string" at the beginning.
    r)�	resourcesZtzdataZzonesNcSsVz t|d��}|�d�dkWd�WS1swYWdSty*YdSw)N�rb�sTZifF)�open�read�	Exception)�fpath�frrr�	valid_key�s(��z&available_timezones.<locals>.valid_key�right�posix)�start�/Z
posixrules)�	importlibr2�setZ	open_text�strip�add�ImportError�FileNotFoundErrorrr
r�exists�walk�remover&�relpath�sep�replace)r2Zvalid_zonesr9�zoner:Ztz_root�root�dirnames�files�filer8r*rrr�available_timezonesisP	
�����



���
rPc@seZdZdZdS)r!z?Warning raised if an invalid path is specified in PYTHONTZPATH.N)�__name__�
__module__�__qualname__�__doc__rrrrr!�sr!rr#)r
rrrrr,rr/r&Z
_TEST_PATHr(rP�RuntimeWarningr!rrrrr�<module>s
A