HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/sphinx/util/__pycache__/typing.cpython-310.pyc
o

�$�a�I�@sbdZddlZddlZddlmZddlmZddlmZmZm	Z	m
Z
mZmZm
Z
mZmZmZddlmZddlmZddlmZmZejd	krNdd
lmZn
ddlmZGdd
�d
�ZzddlmZWneyndZYnw	edediZeejejfZ e!d�Z"ee#ge$fZ%ee#e#e#e&ee	e#efee#ge
eej'eej(ffZ)e	e#ee#geffZ*eej'ge#fZ+e
e#e#e#e#fZ,e	e#e	e#e,ffZ-d,dede	de	de	e#effdd�Z.dede$fdd�Z/deede#fdd�Z0deede#fdd �Z1deede#fd!d"�Z2d#ede#fd$d%�Z3d#ede#fd&d'�Z4d#ede#fd(d)�Z5ed*d+ee#gefie�dS)-z�
    sphinx.util.typing
    ~~~~~~~~~~~~~~~~~~

    The composite types for Sphinx.

    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�Struct)�
TracebackType)
�Any�Callable�Dict�	Generator�List�Optional�Tuple�Type�TypeVar�Union)�nodes)�Inliner)�RemovedInSphinx60Warning�deprecated_alias���)�
ForwardRef)�_ForwardRefc@s>eZdZdZd
dededdfdd�Zd	ed
edefdd�ZdS)rz#A pseudo ForwardRef class for py36.T�arg�is_argument�returnNcCs
||_dS�N)r)�selfrr�r�4/usr/lib/python3/dist-packages/sphinx/util/typing.py�__init__s
zForwardRef.__init__�globalns�localnscCst|j�}|�||�Sr)rr�
_eval_type)rrr �refrrr�	_evaluate s
zForwardRef._evaluate)T)	�__name__�
__module__�__qualname__�__doc__r�boolrrr#rrrrrsr)�	UnionTypeF)rz
struct.Structztypes.TracebackType�objrr rcCs�ddlm}zt�|||�WSty||di�YSty+||di�YSty9||di�YStyCiYSw)z�Return a dictionary containing type hints for a function, method, module or class object.

    This is a simple wrapper of `typing.get_type_hints()` that does not raise an error on
    runtime.
    r)�safe_getattr�__annotations__)�sphinx.util.inspectr+�typing�get_type_hints�	NameError�AttributeError�	TypeError�KeyError)r*rr r+rrrr/Ms�r/�typcCst|dd�}|dkot|t�S)z&Check *typ* is system defined TypeVar.r%�r.)�getattr�
isinstancer)r4�modnamerrr�is_system_TypeVarfsr9�clsc	Cs|ddlm}z�|dus|turWdS|turWdSt|t�r!|WS|tvr,dt|WS|�|�rOtj	dkrIt
|t|�t|��d|j
|jfWSd|jWStr~t|t�r~t|j�d	krrd|jvrrd
�dd�|jD��}d
|WSd
�dd�|jD��WS|j
dvr�t|d�r�d|jd�dd�|jD��fWSd|jWStj	dkr�t|�WSt|�WSttfy�|�|�YSw)�)Convert python class to a reST reference.r��inspectNz:py:obj:`None`�...�:py:class:`%s`�r�
�:py:class:`%s.%s`�� | cs��|]	}|rt|�VqdSr��restify��.0�arrr�	<genexpr>���zrestify.<locals>.<genexpr>�Optional[%s]cs��|]}t|�VqdSrrFrHrrrrK���)�__builtin__�builtins�__args__z:py:class:`%s`\ [%s]�, csrNrrF�rIrrrrrK�rOr)�sphinx.utilr=�NoneType�Ellipsisr7�str�INVALID_BUILTIN_CLASSES�	isNewType�sys�version_info�print�type�dirr%r$r)�lenrR�join�hasattr�
_restify_py37�
_restify_py36r1r2�object_description)r:r=�argsrrrrGlsB





�


�rGcCs�ddlm}|�|�rU|jdkrU|jturUt|j�dkrF|jdturFt|j�dkr=d�	dd	�|jd
d�D��}d|Sdt
|jd�Sd�	d
d	�|jD��}d|S|�|�r�t|jtj
�rgt
|j�}n"t|dd
�r�|jdkr{d|j|jf}nd|j|jf}nt
|j�}t|dd
�}t|d�s�	|Stdd	�|jD��r�	|S|jdkr�|jdkr�d�	dd	�|jd
d�D��}|d|t
|jd�f7}|S|jdkr�t|dd
�dkr�|dd�	dd	�|jD��7}|S|jr�|dd�	dd	�|jD��7}|St|tj
��r
d|j|jfSt|d��r)|jdk�r!d|j|jfSd|j|jfSt|t��r4d|jS|jdk�rBd|j|jfSd|j|jfS) r;rr<r.rC����rScsrNrrFrHrrrrK�rOz _restify_py37.<locals>.<genexpr>Nz8:py:obj:`~typing.Optional`\ [:obj:`~typing.Union`\ [%s]]� :py:obj:`~typing.Optional`\ [%s]csrNrrFrHrrrrK�rO�:py:obj:`~typing.Union`\ [%s]�_name�:py:class:`~%s.%s`rB�
__origin__rRcsrNr�r9rHrrrrK�rOrcsrNrrFrHrrrrK�rO�\ [[%s], %s]�Literal�\ [%s]csrNr��reprrHrrrrK�rOcsrNrrFrHrrrrK�rO�:py:obj:`~%s.%s`r&r?�:py:obj:`%s.%s`)rUr=�isgenericaliasr%rmr
r`rRrVrarGr7r.�_SpecialFormr6rkrb�allr&r�__forward_arg__r$)r:r=rf�text�originrrrrc�s\




�	���
rccCs.t|dd�}|dkr=t|dd�r|j}n:t|dd�r|j}n0t|dd�r(|j}n&t|dd�r4t|j�}nt|��dd�}nt|d�rJd	||jf}nt|�}t	|t
j�r}t|d
�s}|dkrbd|}nd|}|j}|r{d
�
dd�|D��}|d|S|St	|t
j�r�|dkr�d|}nd|}|jdus�t|j�dkr�|j}n'|jtkr�|j}nd
�
dd�|jdd�D��}t|jd�}|d||fS|r�d
�
dd�|D��}|d|S|St|d��r/|jt
ju�r/|j}|du�r-t|�dk�r|dtu�rt|�dk�rd
�
dd�|dd�D��}d|Sdt|d�Sd
�
dd�|D��}d|SdSt|d��rK|jdk�rCd|j|jfSd|j|jfSt|d��rg|jdk�r_d |j|jfSd!|j|jfSt|d"��r�|jdk�r{d |j|jfSd!|j|jfS|jdk�r�d |j|fSd!|j|fS)#Nr%r.rkr&ryrm�typing.r5�%s.%s�__tuple_params__z:py:class:`~typing.%s`r?rScsrNrrF�rI�prrrrK�rOz _restify_py36.<locals>.<genexpr>rqrhcsrNrrFrTrrrrK�rOrgrocsrNrrFrrrrrKrOrCcsrNrrFrrrrrKrOz;:py:obj:`~typing.Optional`\ [:py:obj:`~typing.Union`\ [%s]]rircsrNrrFrrrrrKrOrjz:py:obj:`Union`rlrBrtrur$)r6rkr&ry�	stringifyrmrs�replacerbr7r.�	TupleMetarRra�GenericMetar`rrGr
rVr%r$)r:�module�qualname�reftext�params�	param_strrf�resultrrrrd�s�
�



�rd�
annotationcCs"ddlm}t|t�r|�d�r|�d�r|dd�S|St|t�r3|jdkr*|jSd�	|j|jg�S|�
|�rHtjdkrEd	|j|jfS|jS|sNt
|�S|turTd
S|tvr\t|St|��d�rdn t|dd
�dkr~t|dd
�r~t|d�r{t
|�S|jS|tur�dStjdkr�t|�St|�S)z!Stringify type annotation object.rr<�'rCrgr.�.r@r}�None�typing.Annotatedr%NrQr&rRr>r)rUr=r7rX�
startswith�endswithrr%r$rarZr[r\rsrVrYr6rbr&rW�_stringify_py37�_stringify_py36)r�r=rrrr�.s@





�

r�cCstt|dd�}|dkr.t|dd�r|j}n@t|dd�r|j}n6t|dd�r(|j}n,t|j�}n&t|d�r;d||jf}nt|d�rFt|j�}ntrPt|t�rPd	}nt	|�St|d
d��r8t|j
ttf�sf	|S|dvr�t
|j
�dkr�|j
d
tur�t
|j
�dkr�d�dd�|j
dd
�D��}d|Sdt|j
d�Sd�dd�|j
D��}d|S|d	kr�t
|j
�dkr�d|j
vr�d�dd�|j
D��}d|Sd�dd�|j
D��S|dkr�d�dd�|j
dd
�D��}t|j
d
�}d|||fS|dk�rd�dd�|j
D��}d||fSt|��d ��rt|j
d�Std!d�|j
D���r'|Sd�d"d�|j
D��}d||fS|S)#zstringify() for py37+.r%Nr.rkr&ryr}rmztypes.UnionrR)r	r
rCrgrhrScsrNr�r�rHrrrrKyrOz"_stringify_py37.<locals>.<genexpr>�Optional[Union[%s]]rMrcsrNrr�rHrrrrK~rO�	Union[%s]rDcsrErr�rHrrrrK�rLcsrNrr�rHrrrrK�rOrcsrNrr�rHrrrrK�rO�%s[[%s], %s]rpcsrNrrrrHrrrrK�rO�%s[%s]r�csrNrrnrHrrrrK�rOcsrNrr�rHrrrrK�rO)r6rkr&ryr�rmrbr)r7rsrR�list�tupler`rVrarXr�rx)r�r�r�rf�returnsrrrr�Zs^

!�
r�cCs.t|dd�}|dkr=t|dd�r|j}n:t|dd�r|j}n0t|dd�r(|j}n&t|dd�r4t|j�}nt|��dd	�}nt|d�rJd
||jf}nt|�}t	|t
j�rpt|d�sp|j}|rnd�
d
d�|D��}d||fS|St	|t
j�r�d}|jdus�t|j�dkr�|j}n&|jtkr�|j}nd�
dd�|jdd�D��}t|jd�}d|||fS|dur�d�
dd�|D��}d||fS|St|d��r|jt
ju�r|j}|du�rt|�dk�r|dtu�rt|�dkr�d�
dd�|dd�D��}d|Sdt|d�Sd�
dd�|D��}d|S|S)zstringify() for py36.r%Nr.rkr&ryrmr|r5r}r~rScsrNrr�rrrrrK�rOz"_stringify_py36.<locals>.<genexpr>r�rhcsrNrr�rTrrrrK�rOrgr�csrNrr�rrrrrK�rOrCcsrNrr�rrrrrK�rOr�rMrcsrNrr�rrrrrK�rOr�)r6rkr&ryr�rmrsr�rbr7r.r�rRrar�r`rr
rV)r�r�r�r�r�rfr�rrrr��sb
�

��
r�zsphinx.util.typing�DirectiveOption)NN)6r'r[r.�structr�typesrrrrrrr	r
rrr
�docutilsr�docutils.parsers.rst.statesr�sphinx.deprecationrrr\rrr)�ImportErrorrY�Text�TextElement�TextlikeNoder^rVrXr(�PathMatcher�int�Node�system_message�RoleFunction�
OptionSpec�TitleGetter�
InventoryItem�	Inventoryr/r9rGrcrdr�r�r�rrrr�<module>sZ
0
	���$+;\,?:��