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/domains/__pycache__/index.cpython-310.pyc
o

�$�a��@sdZddlmZmZmZmZmZmZddlm	Z	ddl
mZmZddl
mZddlmZddlmZddlmZdd	lmZmZdd
lmZmZddlmZddlmZer\dd
lm Z e�!e"�Z#Gdd�de�Z$Gdd�de�Z%Gdd�de�Z&dddee'effdd�Z(dS)z�
    sphinx.domains.index
    ~~~~~~~~~~~~~~~~~~~~

    The index domain.

    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�)�
TYPE_CHECKING�Any�Dict�Iterable�List�Tuple)�nodes)�Node�system_message)�
directives)�addnodes)�Domain)�BuildEnvironment)�logging�split_index_msg)�
ReferenceRole�SphinxDirective)�process_index_entry)�
OptionSpec)�Sphinxc@s�eZdZdZdZdZedeee	e
eeeeefffdd��Zdeddfdd	�Zd
e
ededdfdd
�Zdedededdfdd�ZdS)�IndexDomainzMathematics domain.�index�returncCs|j�di�S�N�entries)�data�
setdefault)�self�r�6/usr/lib/python3/dist-packages/sphinx/domains/index.pyr%szIndexDomain.entries�docnameNcCs|j�|d�dS)N)r�pop)rr rrr�	clear_doc)szIndexDomain.clear_doc�docnames�	otherdatacCs |D]}|d||j|<qdSr�r)rr#r$r rrr�merge_domaindata,s�zIndexDomain.merge_domaindata�env�documentcCs�|j�|jg�}t|�tj��D]B}z|dD]}t|d|d�qWn!tyE}zt	j
t|�|d�|j�
|�WYd}~qd}~ww|dD]}|�|�qJqdS)z7Process a document after it is read by the environment.rr�)�locationN)rrr �list�traverserrr�
ValueError�logger�warning�str�parent�remove�append)rr'r r(r�node�entry�excrrr�process_doc0s�����zIndexDomain.process_doc)�__name__�
__module__�__qualname__�__doc__�name�label�propertyrr0rrrr"rr&rr	r7rrrrr s*rc@sFeZdZUdZdZdZdZdZdej	iZ
eed<de
efd	d
�ZdS)�IndexDirectivez0
    Directive to add entries to the index.
    Fr)rTr<�option_specrcCs�|jd�d�}d|jvr|jd}tjdd|gd�}nd|j�d�}tjdd|gd�}|jj�	|�t
��}g|d	<d
|d<|�|�|D]}|d	�
t||dd��qG||gS)
Nr�
r<�)�names�index-%sr��idsrF�inlinerF)�	arguments�split�optionsr�targetr'�new_serialno�stater(�note_explicit_targetrr�set_source_info�extendr)rrH�
targetname�
targetnode�targetid�	indexnoder5rrr�runKs


zIndexDirective.runN)r8r9r:r;�has_content�required_arguments�optional_arguments�final_argument_whitespacer�	unchangedr@r�__annotations__rr	rUrrrrr??s
�r?c@s*eZdZdeeeeeffdd�ZdS)�	IndexRolercCs�d|j�d�}|jr|j}t|j|�}n'|j�d�r0|jdd�}d|jdd�|ddfg}n|j}d|j|ddfg}tj|d�}t	jdd|gd	�}t	�
||�}|�|�|||ggfS)
NrDr�!r)�single�mainrBr%rE)r'rL�has_explicit_title�titlerrK�
startswithrrr�TextrO)r�	target_idrarrrK�textrrrrU`s
z
IndexRole.runN)r8r9r:rrr	r
rUrrrrr\_s"r\�apprrcCs2|�t�|�dt�|�dt��ddddd�S)Nr�builtinr)T)�version�env_version�parallel_read_safe�parallel_write_safe)�
add_domainr�
add_directiver?�add_roler\)rfrrr�setupvs
�roN))r;�typingrrrrrr�docutilsr�docutils.nodesr	r
�docutils.parsers.rstr�sphinxr�sphinx.domainsr
�sphinx.environmentr�sphinx.utilrr�sphinx.util.docutilsrr�sphinx.util.nodesr�sphinx.util.typingr�sphinx.applicationr�	getLoggerr8r.rr?r\r0rorrrr�<module>s&