
    -Ph                    F   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ er6ddlmZmZ ddlmZ ddlmZmZmZ ddlmZ ddlmZ ddlmZ ddl m!Z! ddl"m#Z#  ej$        e%          Z& G d de          Z' G d de
          Z(ddZ)dS )zThe math domain.    )annotations)TYPE_CHECKING)nodes)make_id)Domain)__)XRefRole)logging)make_refnode)IterableSet)Any)ElementNodesystem_message)pending_xref)Sphinx)Builder)BuildEnvironment)ExtensionMetadatac                      e Zd ZddZdS )MathReferenceRoledocumentnodes.documentenvr   noder   is_refboolreturn'tuple[list[Node], list[system_message]]c                    d|d<   |gg fS )Nmath	refdomain )selfr   r   r   r   s        S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/domains/math.pyresult_nodeszMathReferenceRole.result_nodes!   s     #[vrz    N)
r   r   r   r   r   r   r   r   r   r    )__name__
__module____qualname__r'   r$   r(   r&   r   r       s(             r(   r   c                      e Zd ZU dZdZdZi i dZded<   ddiZe	j
        d	iZd
 e            iZed1d            Zd2d3dZd4dZd5dZd6dZd7d)Zd8d+Zd9d-Zd2d:d0ZdS );
MathDomainzMathematics domain.r"   mathematics)objectshas_equationsdict[str, Any]initial_dataeqzequation not found: %(target)s)displaymathNnumrefr   dict[str, tuple[str, int]]c                8    | j                             di           S Nr/   )data
setdefaultr%   s    r&   	equationszMathDomain.equationsA   s    y##Ir222r(   Ndocnamestrlabelidlocationr   Nonec                    || j         v r>| j         |         d         }t                              t          d          |||           || j                            d          dz   f| j         |<   d S )Nr   z4duplicate label of equation %s, other instance in %sr@   eqno   )r<   loggerwarningr   r   new_serialno)r%   r=   r?   r@   others        r&   note_equationzMathDomain.note_equationE   s~    dn$$N7+A.ENNIJJ!	     $+DH,A,A&,I,IA,M"Nwr(   
int | Nonec                >    || j         v r| j         |         d         S d S )NrE   )r<   )r%   r?   s     r&   get_equation_number_forz"MathDomain.get_equation_number_forQ   s&    dn$$>'*1--4r(   c                    t          | j                                                  D ]\  }\  }}||k    r| j        |= d S N)listr<   items)r%   r=   equation_iddoc_eqnos        r&   	clear_doczMathDomain.clear_docW   sN    )-dn.B.B.D.D)E)E 	0 	0%K#ug~~N;/	0 	0r(   docnamesSet[str]	otherdatac                l    |d                                          D ]\  }\  }}||v r||f| j        |<   d S r8   )rQ   r<   )r%   rV   rX   r?   rS   rD   s         r&   merge_domaindatazMathDomain.merge_domaindata\   sO    $-i$8$>$>$@$@ 	6 	6 G[c4h+.+w'	6 	6r(   r   r   fromdocnamebuilderr   typtargetr   r   contnoder   nodes.reference | Nonec                0   |dv sJ | j                             |          }|rr|\  }	}
t          d|z            }|j        j        r|j        j        r|	|j        v r|j        |	         d         }|                    |d          }d                    t          t          |                    }|j        j
                            |                    dd                    }nd}nt          |
          }	 |j        j        pd}t          j        |                    |	                    }nX# t           $ rK}t"                              t'          d
          ||           t          j        d|
z            }Y d }~nd }~ww xY wt)          |||	||          S d S )N>   r3   r5   zequation-%sr4   r$   .rE    z
({number}))numberzInvalid math_eqref_format: %rrC   z(%d))r<   getr   configmath_numfignumfigtoc_fignumbersjoinmapr>   math_numseprsplitmath_eqref_formatr   TextformatKeyErrorrF   rG   r   r   )r%   r   r[   r\   r]   r^   r   r_   resultr=   rd   node_idtoc_dmnumbersrD   eqref_formattitleexcs                     r&   resolve_xrefzMathDomain.resolve_xrefa   s    &&&&&##F++ 	$OGVmf455Gz% 	##**; 	#c000 /8GF$jj"55G88CW$5$566D:166t{{37J7JKKDDDD6{{4"z;K|
<#6#6d#6#C#CDD 4 4 4r"ABBCRVWWW
6F?334  gwNNN4s   46D+ +
F 5AE;;F !list[tuple[str, nodes.reference]]c           	     J    |                      |||d|||          }|g S d|fgS )Nr3   )ry   )r%   r   r[   r\   r^   r   r_   refnodes           r&   resolve_any_xrefzMathDomain.resolve_any_xref   sA     ##gtVT8
 
 ?I7O$$r(   -Iterable[tuple[str, str, str, str, str, int]]c                    g S rO   r$   r;   s    r&   get_objectszMathDomain.get_objects   s    	r(   
str | Noner   c                    dS )NTr$   )r%   r=   s     r&   r0   zMathDomain.has_equations   s    tr(   )r   r6   rO   )r=   r>   r?   r>   r@   r   r   rA   )r?   r>   r   rK   )r=   r>   r   rA   )rV   rW   rX   r1   r   rA   )r   r   r[   r>   r\   r   r]   r>   r^   r>   r   r   r_   r   r   r`   )r   r   r[   r>   r\   r   r^   r>   r   r   r_   r   r   rz   )r   r~   )r=   r   r   r   )r)   r*   r+   __doc__namelabelr2   __annotations__dangling_warningsr   
math_blockenumerable_nodesr   rolespropertyr<   rJ   rM   rU   rZ   ry   r}   r   r0   r$   r(   r&   r-   r-   ,   sY        DE $ $L     	. 	/ 	##%%E 3 3 3 X3
O 
O 
O 
O 
O   0 0 0 0
6 6 6 6
# # # #J% % % %"         r(   r-   appr   r   r   c                    |                      t                     |                     dt          d                     dddddS )Nr3   T)warn_danglingbuiltin   )versionenv_versionparallel_read_safeparallel_write_safe)
add_domainr-   add_roler   )r   s    r&   setupr      sQ    NN:LL(t<<<=== "#	  r(   N)r   r   r   r   )*r   
__future__r   typingr   docutilsr   docutils.nodesr   sphinx.domainsr   sphinx.localer   sphinx.rolesr	   sphinx.utilr
   sphinx.util.nodesr   collections.abcr   r   r   r   r   r   sphinx.addnodesr   sphinx.applicationr   sphinx.buildersr   sphinx.environmentr   sphinx.util.typingr   	getLoggerr)   rF   r   r-   r   r$   r(   r&   <module>r      s     " " " " " "                   " " " " " " ! ! ! ! ! !       ! ! ! ! ! !       * * * * * * 
5--------<<<<<<<<<<,,,,,,))))))''''''333333444444 
	8	$	$	 	 	 	 	 	 	 	p p p p p p p pf	 	 	 	 	 	r(   