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/ext/__pycache__/mathjax.cpython-310.pyc
o

o�a��@s�dZddlZddlmZmZmZddlmZddlZddl	m
Z
ddlmZddl
mZddlmZdd	lmZdd
lmZdZejj�e�Zded
ejddfdd�Zded
ejddfdd�Zde
dededededdfdd�Z de
deeeffdd�Z!dS)aT
    sphinx.ext.mathjax
    ~~~~~~~~~~~~~~~~~~

    Allow `MathJax <https://www.mathjax.org/>`_ to be used to display math in
    Sphinx's HTML writer -- requires the MathJax JavaScript library on your
    webserver/computer.

    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�Any�Dict�cast)�nodes)�Sphinx)�
MathDomain)�ExtensionError)�_)�get_node_equation_number)�HTMLTranslatorz;https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js�self�node�returncCsV|j�|j|dddd��|j�|jjjd|�|���|jjjdd�tj	�)N�span��math notranslate nohighlight��CLASSr��</span>)
�body�append�starttag�builder�config�mathjax_inline�encode�astextr�SkipNode)rr
�r�4/usr/lib/python3/dist-packages/sphinx/ext/mathjax.py�html_visit_math!s���r!cCsn|j�|j|ddd��|dr$|j�|�|����|j�d�tj�|drCt||�}|j�d|�|�|t	d��|j�d	�|j�|j
jjd
�dd�|���
d
�D�}t|�dkrf|j�d�t|�D],\}}|�|�}d|vr�|j�d|d�n|j�|�|t|�dkr�|j�d�qjt|�dkr�|j�d�|j�|j
jjd�|j�d�tj�)N�divrr�nowrapz</div>�numberz<span class="eqno">(%s)zPermalink to this equationrrcSsg|]}|��r|�qSr)�strip)�.0�prtrrr �
<listcomp>7sz*html_visit_displaymath.<locals>.<listcomp>z

rz \begin{align}\begin{aligned}z\\z
\begin{split}z\end{split}z\end{aligned}\end{align} z</div>
)rrrrrrrr
�add_permalink_refr	rr�mathjax_display�split�len�	enumerate)rr
r$�parts�i�partrrr �html_visit_displaymath)s6

�r1�app�pagename�templatename�context�	event_argcCs"|jjdks|jjdkrdS|jjstd��tt|j�	d��}|j
jdks*|�|�r�i}|jj
r7|�|jj
�d|vrLd|vrL|jjrHd|d<nd|d<|j|jjfi|��|jjrw|jjtkrft�d�d	t�|jj�}|jdd
|d�|jjr�dt�|jj�}|jd|d
�dSdSdS)N�html�mathjaxzGmathjax_path config value must be set for the mathjax extension to work�math�always�async�deferzimathjax_config/mathjax2_config does not work for the current MathJax version, use mathjax3_config insteadzMathJax.Hub.Config(%s)ztext/x-mathjax-config)�typerzwindow.MathJax = %s)r)r�format�math_renderer_namer�mathjax_pathrrr�env�
get_domain�registry�html_assets_policy�
has_equations�mathjax_options�update�mathjax3_config�add_js_file�mathjax2_config�MATHJAX_URL�logger�warning�json�dumps)r2r3r4r5r6�domain�optionsrrrr �install_mathjaxIs4
��rRcCs�|�dtdftdf�|�dtd�|�did�|�dddgd�|�dd	d
gd�|�ddd�|�dd
d�d�|�ddd�|�dt�tjdd�S)Nr8r@r7rFrz\(z\)r*z\[z\]�mathjax_configrJcSs|jS)N)rS)�crrr �<lambda>vszsetup.<locals>.<lambda>rHzhtml-page-contextT)�version�parallel_read_safe)	�add_html_math_rendererr!r1�add_config_valuerK�connectrR�sphinx�__display_version__)r2rrr �setupls�r])"�__doc__rN�typingrrr�docutilsrr[�sphinx.applicationr�sphinx.domains.mathr�
sphinx.errorsr�
sphinx.localer	�sphinx.util.mathr
�sphinx.writers.htmlrrK�util�logging�	getLogger�__name__rLr9r!�
math_blockr1�strrRr]rrrr �<module>s* �
�#