
    O&i                     :   d Z ddlmZmZmZmZmZmZmZ ddl	m
Z
 ddlmZ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 dd
lmZ ddlmZ er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dee'ef         fdZ(dS )zThe math domain.    )TYPE_CHECKINGAnyDictIterableListOptionalTuple)nodes)ElementNodemake_idsystem_message)pending_xref)Domain)BuildEnvironment)__)XRefRole)logging)make_refnode)Sphinx)Builderc                   \    e Zd Zdej        dedededee	e
         e	e         f         f
dZdS )MathReferenceRoledocumentenvnodeis_refreturnc                     d|d<   |gg fS )Nmath	refdomain )selfr   r   r   r   s        `/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinx/domains/math.pyresult_nodeszMathReferenceRole.result_nodes   s    "[vrz    N)__name__
__module____qualname__r
   r   r   r   boolr	   r   r   r   r%   r"   r&   r$   r   r      sd        U^ :J RY !&+DJ^8L,L&M     r&   r   c                      e Zd ZU dZdZdZi i dZeed<   ddiZ	e
j        diZd	 e            iZed
eeeeef         f         fd            Zd$dededed
dfdZded
efdZdedede
j        d
dfdZded
dfdZdee         ded
dfdZdededddedededed
ee         fd Z dededddededed
e!eeef                  fd!Z"d
e!fd"Z#d$ded
e$fd#Z%dS )%
MathDomainzMathematics domain.r    mathematics)objectshas_equationsinitial_dataeqzequation not found: %(target)s)displaymathNnumrefr   c                 8    | j                             di           S )Nr.   )data
setdefaultr#   s    r$   	equationszMathDomain.equations2   s    y##Ir222r&   Ndocnamelabelidlocationc                     || j         v rA| j         |         d         }t                              t          d          ||fz  |           || j                            d          dz   f| j         |<   d S )Nr   z4duplicate label of equation %s, other instance in %sr;   eqno   )r8   loggerwarningr   r   new_serialno)r#   r9   r:   r;   others        r$   note_equationzMathDomain.note_equation6   s    dn$$N7+A.ENN2TUU#U+,6>  @ @ @ $+DH,A,A&,I,IA,M"Nwr&   c                 >    || j         v r| j         |         d         S d S )Nr?   )r8   )r#   r:   s     r$   get_equation_number_forz"MathDomain.get_equation_number_for>   s&    dn$$>'*1--4r&   r   r   c                     dt           dt          fd}t          |                    |                    | j        d         |<   d S )Nr   r   c                 N    t          | t          j        t          j        f          S N)
isinstancer
   r    
math_block)r   s    r$   	math_nodez)MathDomain.process_doc.<locals>.math_nodeF   s    dUZ1A$BCCCr&   r/   )r   r*   anyfindallr5   )r#   r   r9   r   rL   s        r$   process_doczMathDomain.process_docD   sY    	DD 	DT 	D 	D 	D 	D /2(2B2B92M2M.N.N	/"7+++r&   c                     t          | j                                                  D ]\  }\  }}||k    r| j        |= | j        d                             |d            d S )Nr/   )listr8   itemsr5   pop)r#   r9   equation_iddoc_eqnos        r$   	clear_doczMathDomain.clear_docK   sg    )-dn.B.B.D.D)E)E 	0 	0%K#ug~~N;/	/"&&w55555r&   docnames	otherdatac                     |d                                          D ]\  }\  }}||v r||f| j        |<   |D ]}|d         |         | j        d         |<   d S )Nr.   r/   )rR   r8   r5   )r#   rX   rY   r:   rU   r>   r9   s          r$   merge_domaindatazMathDomain.merge_domaindataR   s    $-i$8$>$>$@$@ 	6 	6 G[c4h+.+w' 	V 	VG2;O2LW2UDIo&w//	V 	Vr&   fromdocnamebuilderr   typtargetr   contnodec                    |dv sJ | j                             |d          \  }}	|rOt          d|z            }
|j        j        rh|j        j        r\||j        v rP|j        |         d                             |
d          }d                    t          t          |                    }nd}nt          |	          }	 |j        j
        pd}t          j        |                    |	                    }no# t          $ rb}t                              t#          d
          ||           t          j        d|	z            }t          j        d|	z            }Y d }~nd }~ww xY wt%          ||||
|          S d S )N)r1   r3   )NNzequation-%sr2   r"   . z
({number}))numberzInvalid math_eqref_format: %rr=   z(%d))r8   getr   configmath_numfignumfigtoc_fignumbersjoinmapstrmath_eqref_formatr
   TextformatKeyErrorr@   rA   r   r   )r#   r   r\   r]   r^   r_   r   r`   r9   rd   node_idnumbersr>   eqref_formattitleexcs                   r$   resolve_xrefzMathDomain.resolve_xrefZ   s    &&&&&.,,V\BB 	mf455Gz% ##**; #c000!09-HLLWVXYYG88CW$5$566DDDD6{{4"z;K|
<#6#6d#6#C#CDD 4 4 4r"ABBC(,  . . .
6F?33
6F?33	4
  gwNNN4s   >6C5 5
E!?AEE!c           	      J    |                      |||d|||          }|g S d|fgS )Nr1   )rv   )r#   r   r\   r]   r_   r   r`   refnodes           r$   resolve_any_xrefzMathDomain.resolve_any_xrefw   s;     ##CgtVTS[\\?I7O$$r&   c                     g S rI   r"   r7   s    r$   get_objectszMathDomain.get_objects   s    	r&   c                     |r!| j         d                             |d          S t          | j         d                                                   S )Nr/   F)r5   re   rM   values)r#   r9   s     r$   r/   zMathDomain.has_equations   sH     	<9_-11'5AAAty188::;;;r&   rI   )&r'   r(   r)   __doc__namelabelr0   r   __annotations__dangling_warningsr
   rK   enumerable_nodesr   rolespropertyrl   r	   intr8   r   rD   rF   r   r   rO   rW   r   r[   r   r   r   rv   r   ry   r{   r*   r/   r"   r&   r$   r,   r,      s        DE  L$   
 	. 	/ 	##%%E 34U38_ 45 3 3 3 X3O OS O3 O# OQU O O O Os s    O/ O# O#nO15O O O O6 6 6 6 6 6V# V4 VD V V V V 0 s Y '*2>JQ"7+   :%$4 %3 %QZ %!$%,8%DK%"5g#67% % % %T    < <S <D < < < < < <r&   r,   appr   r   c                     |                      t                     |                     dt          d                     dddddS )Nr1   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~   typingr   r   r   r   r   r   r	   docutilsr
   docutils.nodesr   r   r   r   sphinx.addnodesr   sphinx.domainsr   sphinx.environmentr   sphinx.localer   sphinx.rolesr   sphinx.utilr   sphinx.util.nodesr   sphinx.applicationr   sphinx.buildersr   	getLoggerr'   r@   r   r,   rl   r   r"   r&   r$   <module>r      s     L L L L L L L L L L L L L L L L L L       A A A A A A A A A A A A ( ( ( ( ( ( ! ! ! ! ! ! / / / / / /       ! ! ! ! ! !       * * * * * * ())))))'''''' 
	8	$	$       h< h< h< h< h< h< h< h<V	x 	DcN 	 	 	 	 	 	r&   