HEX
Server: LiteSpeed
System: Linux ws4.angoweb.net 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: tswangoe (2287)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Upload Files
File: //proc/self/root/usr/local/lib64/python3.9/site-packages/psutil/__pycache__/_compat.cpython-39.pyc
a

q�dg�;�@sdZddlZddlZddlZddlZddlZddlZddlZgd�Zej	ddkZ
e�Ze
rze
ZeZeZeZeZdd�ZneZeZeZeZdd�Ze
r�eZneZeedfd	d
�Ze
r�eZeZeZeZeZeZn�ddlZefdd�Zee �d
d��Zee �dd��Zee �dd��Zee �dd��Zee �dd��Zee �dd��Ze�!�dk�r�ze"ej#d��Wn2e�ytYn e"�y�dZ$e%e$��Yn0zddlm&Z&Wn�e'�y<zddl(m)Z)Wn e'�y�ddl*m)Z)Yn0e�+dgd��Z,Gd d!�d!e-�Z.efe/e
ee0e1d�f�e2e3e1e4fd"d#�Z5d5d&d'�Z&Yn0zdd(l6m7Z7Wn*e'�yxej8ej9Bdfd)d*�Z7Yn0zdd+l6m:Z:Wne'�y�d6d-d.�Z:Yn0zdd/l;m<Z=Wn$e'�y�Gd0d1�d1e�Z=Yn0zdd2lm>Z>Wn"e'�yej?d3d4��Z>Yn0dS)7z�Module which provides compatibility with older Python versions.
This is more future-compatible rather than the opposite (prefer latest
Python 3 way of doing things).
�N)�PY3�long�range�super�unicode�
basestring�b�	lru_cache�which�get_terminal_size�redirect_stderr�FileNotFoundError�PermissionError�ProcessLookupError�InterruptedError�ChildProcessError�FileExistsError�cCs
|�d�S)Nzlatin-1)�encode��s�r�:/usr/local/lib64/python3.9/site-packages/psutil/_compat.pyr2srcCs|S�Nrrrrrr;s�cCsd|tu�rHt�|�}z|j|jjd}Wn"ttfyLd}t|��Yn0z
|j	}WnBt
tfy�z|jj	}Wnt
y�d}t|��Yn0Yn0|D]�}|j�
�D]�}zNt|tj�s�t|t�r�|j}q�z
|j}Wq�t
y�|�||�}Yq�0q�Wnt
tf�yYq�Yn0|j|jur��q4q�q��qHq�d}t|��|tu�r\t||�St|�S)zuLike Python 3 builtin super(). If called without any arguments
        it attempts to infer them at runtime.
        rz'super() used in a function with no argsz$super() used in a non-newstyle classzsuper() called outside a method)�	_SENTINEL�sys�	_getframe�f_locals�f_code�co_varnames�
IndexError�KeyError�RuntimeError�__mro__�AttributeError�	__class__�__dict__�values�
isinstance�types�FunctionType�property�fget�__func__�__get__�	TypeError�	func_code�_builtin_super)�type_Ztype_or_objZ
framedepth�f�msg�mro�methrrrrJsH







rcs�fdd�}|S)Ncs*G��fdd�d����j�_�j�_�S)Ncs2eZdZ��fdd�ZG�fdd�de�Z�ZS)zE_instance_checking_exception.<locals>.wrapped.<locals>.TemporaryClasscsht|�dkrNt|d��rN|d}t|�D] }|�d�s*t||t||��q*nt�|�j|i|��dS)Nrr�__)�lenr)�dir�
startswith�setattr�getattrr�__init__)�self�args�kwargsZ	unwrap_me�attr)�TemporaryClassr&rrr>�s

��zN_instance_checking_exception.<locals>.wrapped.<locals>.TemporaryClass.__init__cs eZdZ�fdd�Zdd�ZdS)zS_instance_checking_exception.<locals>.wrapped.<locals>.TemporaryClass.__metaclass__cs�|�Srr)�cls�inst��instance_checkerrr�__instancecheck__�sze_instance_checking_exception.<locals>.wrapped.<locals>.TemporaryClass.__metaclass__.__instancecheck__cSst��d}t||�S�Nr)r�exc_infor))rDZ	classinfo�valuerrr�__subclasscheck__�sze_instance_checking_exception.<locals>.wrapped.<locals>.TemporaryClass.__metaclass__.__subclasscheck__N)�__name__�
__module__�__qualname__rHrLrrFrr�
__metaclass__�srP)rMrNrOr>�typerP�
__classcell__r�rCrG)r&rrC�srC)rM�__doc__rF��base_exceptionrSr�wrapped�sz-_instance_checking_exception.<locals>.wrappedr)rVrWrrUr�_instance_checking_exception�srXcCst|dt�tjkS�N�errno)r=rrZ�ENOENT�rErrrr
�sr
cCst|dt�tjkSrY)r=rrZZESRCHr\rrrr�srcCst|dt�tjtjfvSrY)r=rrZ�EACCES�EPERMr\rrrr�srcCst|dt�tjkSrY)r=rrZZEINTRr\rrrr�srcCst|dt�tjkSrY)r=rrZZECHILDr\rrrr�srcCst|dt�tjkSrY)r=rrZ�EEXISTr\rrrr�sr�CPython�permzbbroken or incompatible Python implementation, see: https://github.com/giampaolo/psutil/issues/1659)r	)�RLock�	CacheInfo)�hits�misses�maxsize�currsizec@s$eZdZdZefdd�Zdd�ZdS)�
_HashedSeq��	hashvaluecCs||dd�<||�|_dSrri)r?�tup�hashrrrr>�sz_HashedSeq.__init__cCs|jSrri)r?rrr�__hash__�sz_HashedSeq.__hash__N)rMrNrO�	__slots__rlr>rmrrrrrh�srhc	s�|}	|r.||���}
|	|7}	|
D]}|	|7}	q |rl|	|�fdd�|D��7}	|r�|	|�fdd�|
D��7}	n$||	�dkr��|	d�|vr�|	dSt|	�S)Nc3s|]}�|�VqdSrr)�.0�v�rQrr�	<genexpr>�z_make_key.<locals>.<genexpr>c3s|]\}}�|�VqdSrr)ro�krprqrrrrrsrr)�itemsrh)r@�kwds�typed�kwd_mark�	fasttypes�sorted�tuplerQr9�key�sorted_items�itemrrqr�	_make_key�s
r�dFcs��fdd�}|S)zLeast-recently-used cache decorator, see:
        http://docs.python.org/3/library/functools.html#functools.lru_cache.
        csi�ddg�
d\��t�
�j�t�t��	g���ddg�dd�<�g�d\�����dkrl��
�fdd�}nP�dur������
��
��f	dd�}n*����������	�
���
��fdd�}����	��
fdd	�}��	��
fd
d�}�|_||_||_t�|��S)Nr)rr)rr�rcs"�|i|��}��d7<|SrIr)r@rv�result)�MISSES�stats�
user_functionrr�wrappersz7lru_cache.<locals>.decorating_function.<locals>.wrappercs\�||��}�|��}|�ur2��d7<|S�|i|��}|�|<��d7<|SrIr)r@rvr|r�)	�HITSr��cache�	cache_get�make_key�rootr�rwr�rrr�!s
cs�|s�r�
||��}n|}�	��z��|�}|dur��\}|\}}}}||�<||�<|�}||�<|�<||�<||�<�
�d7<|W�	��SW�	��n
�	��0�|i|��}�	��z��\}|�vr�n�����k�r4|}	||	�<||	�<|	�}�d<|�}
d|�<|�<�|
=|	�|<n,|�}||||g}||�<|�<�|<�
�d7<W�	��n
�	��0|S)Nrr)�acquire�release)r@rvr|�linkr�Z	link_prevZ	link_nextr��lastZoldrootZoldkey)r��KEYr��NEXT�PREV�RESULT�_lenr�r��lockr�rf�
nonlocal_rootr�rwr�rrr�.sR�
cs<���z$t�����t���W���S���0dS)zReport cache statistics.N)r��
_CacheInfor9r�r)r�r�r�r�rfr�rr�
cache_info[s��z:lru_cache.<locals>.decorating_function.<locals>.cache_infocsX���z@����d}||ddg|dd�<ddg�dd�<W���n
���0dS)z%Clear the cache and cache statistics.rN)r��clearr�)r�)r�r�r�r�rr�cache_clearesz;lru_cache.<locals>.decorating_function.<locals>.cache_clear)	r�getr9rb�__wrapped__r�r��	functools�update_wrapper)r�r�r�r��rfrw)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�decorating_functions,
*-
z&lru_cache.<locals>.decorating_functionr)rfrwr�rr�rr	sir	)r
cs"dd�}tj���r&|�|�r"�SdS|dur>tj�dtj�}|sFdS|�tj�}tj	dkr�tj
|vrt|�dtj
�tj�dd��tj�}t�fd	d
�|D��r��g}q‡fdd�|D�}n�g}t
�}|D]P}tj�|�}||vr�|�|�|D](}	tj�||	�}
||
|�r�|
Sq�q�dS)
aJGiven a command, mode, and a PATH string, return the path which
        conforms to the given mode on the PATH, or None if there is no such
        file.

        `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result
        of os.environ.get("PATH"), or can be overridden with a custom search
        path.
        cSs&tj�|�o$t�||�o$tj�|�Sr)�os�path�exists�access�isdir)�fn�moderrr�
_access_check�s

��zwhich.<locals>._access_checkN�PATH�win32r�PATHEXT�c3s |]}����|���VqdSr)�lower�endswith�ro�ext��cmdrrrr�rszwhich.<locals>.<genexpr>csg|]}�|�qSrrr�r�rr�
<listcomp>�rszwhich.<locals>.<listcomp>)r�r��dirname�environr��defpath�split�pathsepr�platform�curdir�insert�any�set�normcase�add�join)r�r�r�r��pathext�files�seenr:�normdir�thefile�namerr�rr
}s8





r
)r��P�cCszzddl}ddl}ddl}Wnty2|YS0z*|�d|�d|jd��}|d|dfWStyt|YS0dS)Nr�hhrZ1234)�fcntl�struct�termios�ImportError�unpack�ioctl�
TIOCGWINSZ�	Exception)�fallbackr�r�r��resrrrr�s
�r)�TimeoutExpiredc@seZdZdS)�SubprocessTimeoutExpiredN)rMrNrOrrrrr��sr�)rccs*tj}z|t_|VW|t_n|t_0dSr)r�stderr)�
new_target�originalrrrr�s
r)r�F)r�)@rT�collections�
contextlibrZr�r�rr*�__all__�version_infor�objectr�intrr�xrange�strrrrrr2r
rrrrrr�r�rX�EnvironmentError�python_implementation�OSErrorr_r5r#r	r��	threadingrbZdummy_threading�
namedtupler��listrhr��	frozensetrQrzr{r9r�shutilr
�F_OK�X_OKr�
subprocessr�r�r�contextmanagerrrrr�<module>s�

;





�	��
r5