403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/docutils/writers/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/docutils/writers/__pycache__/_html_base.cpython-311.pyc
�

��bm���dZddlZddlZddlZddlZddlZddlmZddlZddl	Z	ddl	m
Z
mZmZm
Z
mZddlmZddlmZddlmZddlmZmZmZmZmZGd	�d
ej��ZGd�dej��ZGd
�dej��ZdS)z,common definitions for Docutils HTML writers�N)�url2pathname)�frontend�	languages�nodes�utils�writers)� length_or_percentage_or_unitless)�PIL)�
writer_aux)�unichar2tex�pick_math_environment�	math2html�latex2mathml�tex2mathml_externc��eZdZdZ	ddddgddifdd	gd
dejd�fd
dgddejd�fddgdejd�fddgddejd�fddgddd�fdd gd!���d"d#d$�fd%d&gd'd(gd(d)d*d+�fd,d-ggd.�d/d)d$�fd0d1gd2dejd�fd3d4gd5dd�fd6d7gd2dejd�fd8d9gd:dd�fd;d<gd=d>ifd?d@gd=dAifdBdCgdDdejd�fdEdFgdGdd�fdHdIgdejdJ�fffZdKdLiZ	dMZ
dNZdOZdP�Z
dQ�ZdR�ZdS�ZdT�ZdS)U�Writer)�html�xhtmlzHTML Writer OptionsNzFSpecify the template file (UTF-8 encoded). (default: writer dependent)z
--template�metavarz<file>zhComma separated list of stylesheet URLs. Overrides previous --stylesheet and --stylesheet-path settings.z--stylesheetz<URL[,URL,...]>�stylesheet_path)r�	overrides�	validatorz�Comma separated list of stylesheet paths. Relative paths are expanded if a matching file is found in the --stylesheet-dirs. With --link-stylesheet, the path is rewritten relative to the output HTML file. (default: writer dependent)z--stylesheet-pathz<file[,file,...]>�
stylesheetz�Comma-separated list of directories where stylesheets are found. Used by --stylesheet-path when expanding relative path arguments. (default: writer dependent)z--stylesheet-dirsz<dir[,dir,...]>)rrzvEmbed the stylesheet(s) in the output HTML file.  The stylesheet files must be accessible during processing. (default)z--embed-stylesheet��
store_true)�default�actionrz3Link to the stylesheet(s) in the output HTML file. z--link-stylesheet�embed_stylesheet�store_false)�destrz}Specify the initial header level. Does not affect document title & subtitle (see --no-doc-title).(default: writer dependent).z--initial-header-levelz1 2 3 4 5 6�2z<level>)�choicesrrzYFormat for footnote references: one of "superscript" or "brackets". (default: "brackets")z--footnote-references�superscript�bracketsz<format>�trim_footnote_reference_space)r"rrrzyFormat for block quote attributions: one of "dash" (em-dash prefix), "parentheses"/"parens", or "none". (default: "dash")z
--attribution��dash�parentheses�parens�noner'zgRemove extra vertical whitespace between items of "simple" bullet lists and enumerated lists. (default)z--compact-listsTz3Disable compact simple bullet and enumerated lists.z--no-compact-lists�
compact_listszORemove extra vertical whitespace between items of simple field lists. (default)z--compact-field-listsz#Disable compact simple field lists.z--no-compact-field-lists�compact_field_listsz�Added to standard table classes. Defined styles: borderless, booktabs, align-left, align-center, align-right, colwidths-auto, colwidths-grid.z
--table-styler�zmMath output format (one of "MathML", "HTML", "MathJax", or "LaTeX") and option(s). (default: "HTML math.css")z
--math-outputz
HTML math.csszPrepend an XML declaration. z--xml-declarationFzOmit the XML declaration.z--no-xml-declaration�xml_declarationzyObfuscate email addresses to confuse harvesters while still keeping email links usable with standards-compliant browsers.z--cloak-email-addresses)rr�output_encoding_error_handler�xmlcharrefreplacezhtml base writer)rzhtml writers)�head_prefix�headr�body_prefix�body_pre_docinfo�docinfo�body�body_suffix�title�subtitle�header�footer�meta�fragment�html_prolog�	html_head�
html_title�
html_subtitle�	html_bodyc�\�tj�|��tjgzS�N)rr�get_transformsr�Admonitions��selfs �=/usr/lib/python3/dist-packages/docutils/writers/_html_base.pyrEzWriter.get_transforms�s#���~�,�,�T�2�2�j�6L�5M�M�M�c	��|�|j��x|_}|j�|��|jD]!}t||t
||�����"|���|_dSrD)	�translator_class�document�visitor�	walkabout�visitor_attributes�setattr�getattr�apply_template�output)rHrN�attrs   rI�	translatezWriter.translate�s|��!%�!6�!6�t�}�!E�!E�E���w��
����(�(�(��+�	8�	8�D��D�$���� 6� 6�7�7�7�7��)�)�+�+����rJc���t|jjjdd���5}|���}ddd��n#1swxYwY|���}||zS)N�r�utf-8)�encoding)�openrM�settings�template�read�interpolation_dict)rH�
template_filer]�subss    rIrSzWriter.apply_template�s���
�$�-�(�1�3�"�$�$�$�	,�'4�$�)�)�+�+�H�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,��&�&�(�(���$��s�A�A�
Ac���i}|jj}|jD];}d�t	||�����d��||<�<|j|d<tj|d<|S)Nr-�
rZ�version)	rMr\rP�joinrR�rstrip�output_encoding�docutils�__version__)rHrar\rUs    rIr_zWriter.interpolation_dict�sr�����=�)���+�	C�	C�D������t�!4�!4�5�5�<�<�T�B�B�D��J�J�#�3��Z��"�.��Y���rJc��tj�|��|jD]-}d�t||����|j|<�.dS�Nr-)rr�assemble_partsrPrerR�parts)rH�parts  rIrlzWriter.assemble_parts�sY����%�%�d�+�+�+��+�	<�	<�D�!�w�w�w�t�T�':�':�;�;�D�J�t���	<�	<rJ)�__name__�
__module__�__qualname__�	supportedr�validate_comma_separated_list�validate_boolean�split�
settings_spec�settings_defaults�config_section�config_section_dependenciesrPrErVrSr_rl�rJrIrr$s������!�I�'�	��(��.��h�
�
!�L��
�'�6G� �>�@�@�
A�
(�
�
�)�� �>�@�@�

A�(��
�'� �>�@�@�	
A�B��
 ��<� �1�3�3�
4�
@��
�%��
?�
?�
A�)�$�
$�#�)�)�+�+���!�!�	
"�.�"�
#�$�j�1�j� �7�9�9�
:���
�?�?�?���5�5�	
6�2��
��l� �1�3�3�
4�
@��
 �"�m�
<�
<�
>��"�
#��l� �1�3�3�
4�
0�%�
&�(�M�
B�
B�
D�,��
��b�/�
�'��
��o�
&�	
(�
)��
��|� �1�3�3�
4�&�!�
"�$�
�
>�
>�
@�J�$�
%�!��0I�
J�
J�
L�gW	�[
�M�z9�:M�N��'�N�"=����N�N�N�,�,�,�������<�<�<�<�<rJrc���eZdZdZdZdZeZdZdZdZ	dZ
dZ	d	Zd
Z
ejd��Zejd��Zd
Zed��ded��ded��ded��ded��diZ	d�Zd�Zd�Zd�Zd�Zejd��fd�Zd�d �Zd�d#�Zd�d$�Zd�d&�Zd'�Zd(�Z d)�Z!d*�Z"d+�Z#d,�Z$d-�Z%d.�Z&d/�Z'd�d0�Z(d1d2d2d3d4�Z)d5�Z*d6�Z+d7�Z,d8�Z-d9�Z.d:�Z/d;�Z0d<�Z1d=�Z2d>�Z3d?�Z4d@�Z5dA�Z6dB�Z7dC�Z8dD�Z9dE�Z:dF�Z;dG�Z<dH�Z=dI�Z>dJ�Z?ejdK��j@fdL�ZAdM�ZBdN�ZCdO�ZDdP�ZEdQ�ZFdR�ZGdS�ZHdT�ZIdU�ZJdV�ZKdW�ZLdX�ZMdY�ZNdZ�ZOd[�ZPd\�ZQd]�ZRd^�ZSd_�ZTd`�ZUda�ZVdb�ZWd�dd�ZXde�ZYdf�ZZdg�Z[dh�Z\di�Z]dj�Z^dk�Z_dl�Z`dm�Zadn�Zbdo�Zcdp�Zddq�Zedr�Zfds�Zgdt�Zhdu�Zidv�Zjdw�Zkdx�Zldy�Zmdz�Znd{�Zod|�Zpd}�Zqd~�Zrd�Zsd��Ztd��Zud��Zvd��Zwd��Zxd��Zyd��Zzd��Z{d��Z|d��Z}d��Z~d��Zd��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d�d�d�d�d��Z�d�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d„Z�dÄZ�dĄZ�dńZ�dƄZ�dDŽZ�dȄZ�dɄZ�dʄZ�d˄Z�d̄Z�d̈́Z�d΄Z�dτZ�dЄZ�dфZ�d҄Z�dӄZ�dԄZ�dՄZ�dքZ�dׄZ�d؄Z�dلZ�dڄZ�dۄZ�d܄Z�d݄Z�dބZ�d߄Z�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�d�Z�dS)��HTMLTranslatorai
    Generic Docutils to HTML translator.

    See the `html4css1` and `html5_polyglot` writers for full featured
    HTML writers.

    .. IMPORTANT::
      The `visit_*` and `depart_*` methods use a
      heterogeneous stack, `self.context`.
      When subclassing, make sure to be consistent in its use!

      Examples for robust coding:

      a) Override both `visit_*` and `depart_*` methods, don't call the
         parent functions.

      b) Extend both and unconditionally call the parent functions::

           def visit_example(self, node):
               if foo:
                   self.body.append('<div class="foo">')
               html4css1.HTMLTranslator.visit_example(self, node)

           def depart_example(self, node):
               html4css1.HTMLTranslator.depart_example(self, node)
               if foo:
                   self.body.append('</div>')

      c) Extend both, calling the parent functions under the same
         conditions::

           def visit_example(self, node):
               if foo:
                   self.body.append('<div class="foo">
')
               else: # call the parent method
                   _html_base.HTMLTranslator.visit_example(self, node)

           def depart_example(self, node):
               if foo:
                   self.body.append('</div>
')
               else: # call the parent method
                   _html_base.HTMLTranslator.depart_example(self, node)

      d) Extend one method (call the parent), but don't otherwise use the
         `self.context` stack::

           def depart_example(self, node):
               _html_base.HTMLTranslator.depart_example(self, node)
               if foo:
                   # implementation-specific code
                   # that does not use `self.context`
                   self.body.append('</div>
')

      This way, changes in stack use will not bite you.
    z%<?xml version="1.0" encoding="%s" ?>
z<!DOCTYPE html>
zW<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="%(lang)s" lang="%(lang)s">
<head>
z<meta charset="%s" />
zR<meta name="generator" content="Docutils %s: https://docutils.sourceforge.io/" />
z2<script type="text/javascript" src="%s"></script>
z-file:/usr/share/javascript/mathjax/MathJax.jsz4<link rel="stylesheet" href="%s" type="text/css" />
z%<style type="text/css">

%s
</style>
z
[^ \n]+| +|\nz.+\W\W.+|[-?].+�lang�&z&amp;�<z&lt;�"z&quot;�>z&gt;�@�&#64;c���tj��|��|jx�_}|j}tj||j���_�j	tjzg�_g�_
g�_|jrF�j
��j|jz���j��j���jdd��_�fd�t'j|��D���_dg�_g�_g�_g�_g�_dg�_d�_t;|j���_t?|dd���_ t?|dd��dur*tCj"dtFd	�
���j �d�_ t?|dd��durtCj"d
tFd	�
���j �d�_ |j$�%���_$�j$dd��_&�j$d�'���_$g�_(	g�_)d�_*d�_+d�_,d�_-d�_.g�_/g�_0g�_1g�_2�j3g�_4g�_5g�_6g�_7d�_8d�_9d�_:g�_;dS)Nc�:��g|]}��|����Srz)�stylesheet_call)�.0�pathrHs  �rI�
<listcomp>z+HTMLTranslator.__init__.<locals>.<listcomp>&s=���L�L�L�#� �/�/��5�5�L�L�LrJz</head>
<body>
z</body>
</html>
r�
image_loading�embed_imagesTzeThe configuration setting "embed_images" will be removed in Docutils 2.0. Use "image_loading: embed".�)�
stacklevel�embedFzdThe configuration setting "embed_images" will be removed in Docutils 2.0. Use "image_loading: link".�linkr)<r�NodeVisitor�__init__r\�
language_coder�get_language�reporter�language�	generatorrhrir<r1r>r.�appendrgr2r�get_stylesheet_listrr3r4r5r6r=r7�
section_level�int�initial_header_levelrRr��warnings�warn�
FutureWarning�math_outputru�math_output_options�lower�context�colspecs�	compact_p�compact_simple�compact_field_list�
in_docinfo�
in_sidebarr8r9r:r;�content_typer?r@rArB�in_document_title�	in_mailto�author_in_authors�math_header)rHrMr\�lcodes`   rIr�zHTMLTranslator.__init__s����
��"�"�4��2�2�2�#+�#4�4��
���&��!�.�u�h�6G�H�H��
��^�h�&:�:�;��	��������#�	:���#�#�D�$8�&.�&>�%?�
@�
@�
@�
��#�#�D�$8�9�9�9��I�a�a�a�L��	�L�L�L�L�',�'@��'J�'J�L�L�L���/�0��� "��������	���
�0�1������$'��(E�$F�$F��!�$�X���E�E����8�^�T�2�2�d�:�:��M�8�(�A�
7�
7�
7�
7��!�)�%,��"��8�^�T�2�2�e�;�;��M�7�(�A�
7�
7�
7�
7���%�!'�D��#�/�5�5�7�7���#'�#3�A�B�B�#7�� ��+�A�.�4�4�6�6������	H�
��
����#���"'�����������
���
��������+�,������������!"������!&�������rJc��d�|j|jz|jz|jz|jz|jz|jz|jz��Srk)	rer1r2rr3r4r5r6r7rGs rI�astextzHTMLTranslator.astext`sg���w�w�t�'�$�)�3���)�+/�+;�<��.�/�15��>���#�&*�%5�6�7�7�	7rJc�T�t|��}|�|j��S)z-Encode special characters in `text` & return.)�strrV�special_characters)rH�texts  rI�encodezHTMLTranslator.encodefs$��
�4�y�y���~�~�d�5�6�6�6rJc�.�|�dd��S)z*Try to hide a mailto: URL from harvesters.r��%40��replace)rH�uris  rI�cloak_mailtozHTMLTranslator.cloak_mailtons��
�{�{�3��&�&�&rJc�Z�|�dd��}|�dd��S)z;Try to hide the link text of a email link from harversters.r�z<span>&#64;</span>�.z<span>&#46;</span>r�)rH�addrs  rI�cloak_emailzHTMLTranslator.cloak_emailus-���|�|�G�%9�:�:���|�|�C�!5�6�6�6rJz[

	]c���|�|�d|����}|jr8|jjr,|�dd��}|�dd��}|S)z6Cleanse, HTML encode, and return attribute value text.� r�z&#37;&#52;&#48;r�z&#46;)r��subr�r\�cloak_email_addressesr�)rHr��
whitespace�encodeds    rI�attvalzHTMLTranslator.attval|se���+�+�j�n�n�S�$�7�7�8�8���>�	4�d�m�A�	4��o�o�e�->�?�?�G��o�o�c�7�3�3�G��rJNc��|�t|jj��}|jjr�	tj�|d������}|jj�	|��n@#t$r3}d|��}|jj�
|��d|zcYd}~Sd}~wwxYw|j|zS|rtj|jj|��}|j|�|��zS)z8Return code to reference or embed stylesheet file `path`NrY)�source_pathrZzCannot embed stylesheet: z
<--- %s --->
)�boolr\rrrh�io�	FileInputr^�record_dependencies�add�OSErrorrMr��error�embedded_stylesheetr�
relative_path�_destination�stylesheet_linkr�)rHr��adjust_path�content�err�msgs      rIr�zHTMLTranslator.stylesheet_call�s$�����t�}�<�=�=�K��=�)�
	6�
<�"�+�/�/�D�9@�0�B�B�BF�$�&�&���
�1�5�5�d�;�;�;�;���
.�
.�
.�7�#�7�7���
�&�,�,�S�1�1�1�'�#�-�-�-�-�-�-�-�����
.�����+�g�5�5��	I��&�t�}�'A�4�H�H�D��#�d�k�k�$�&7�&7�7�7s�3A<�<
B9�(B4�.B9�4B9rcFc
�l��|���}g}i}|���D]\}}	|	||���<�|�dg��}
g}|�dg��|�dd�����zD]]}|�d��r|j|dd����0|���r||
vr|
�|���^|r|d||j<d�t|tj��r�fd	�|
D��}
|
rd
�|
��|d<d|vsJ�|�dg��}
|
�
|�dg����|
rl|
d|d<|
d
d�D]V}|s1t|tjtjtjf��r|�d|z���N|d|zz
}�Wt!|�����}|g}|D]�\}}	|	�J�t|	t"��r`d�|	D��}|�|����d|�d
�|�����d����~|�|����d|�t'|	�����d�����|rd}nd}d�|��dd
�|���|�d�z|zS)z�
        Construct and return a start tag given a node (id & class attributes
        are extracted), tag name, and optional attributes.
        �classes�classr-z	language-�	Nr)�colwidths-auto�colwidths-given�colwidths-gridc���g|]}|�v�|��	Srzrz)r��cls�internals  �rIr�z+HTMLTranslator.starttag.<locals>.<listcomp>�s#���E�E�E�s��H�1D�1D�s�1D�1D�1DrJr��id�idsrz<span id="%s"></span>c�,�g|]}t|����Srz)r�)r��vs  rIr�z+HTMLTranslator.starttag.<locals>.<listcomp>�s��0�0�0�Q�#�a�&�&�0�0�0rJz="r�z /rr�)r��items�pop�getru�
startswithr��strip�lang_attribute�
isinstancer�tablere�extend�
Sequentialr5�sorted�listr�r�)rH�node�tagname�suffix�empty�
attributes�prefix�atts�name�valuer�rr�r�r��attlistrm�values�infixr�s                   @rI�starttagzHTMLTranslator.starttag�s����
�-�-�/�/������'�-�-�/�/�	'�	'�M�T�5�!&�D���������(�(�9�b�)�)���	��8�8�I�r�*�*�T�X�X�g�r�-B�-B�-H�-H�-J�-J�J�	$�	$�C��~�~�k�*�*�
$� �	� ��Q�R�R��)�)�)�)������
$��G�!3�!3����s�#�#�#���	5�(1�!��D��$�%�J���d�E�K�(�(�	F�E�E�E�E�g�E�E�E�G��	.��H�H�W�-�-�D��M��4������h�h�u�b�!�!���
�
�4�8�8�E�2�&�&�'�'�'��	;��Q��D��J��!�"�"�g�
;�
;���;�J�t�e�.>�.3�m�.3�k�.;�<�<�;��M�M�"9�B�">�?�?�?�?��5��:�:�F�F�������&�&���	��"�
	D�
	D�K�D�%��$�$�$��%��&�&�
D�0�0�%�0�0�0�����$�*�*�,�,�,�,�*.�+�+�c�h�h�v�6F�6F�*G�*G�*G�*G�I�J�J�J�J����$�*�*�,�,�,�,�*.�+�+�c�%�j�j�*A�*A�*A�*A�C�D�D�D�D��	��E�E��E��w�w�v����S�X�X�e�_�_�_�e�e�e�!D�D�v�M�MrJc�&�|j|||fddi|��S)z1Construct and return an XML-compatible empty tag.r�T)r�)rHr�r�r�r�s     rI�emptytagzHTMLTranslator.emptytag�s%���t�}�T�7�F�M�M�$�M�*�M�M�MrJrc��d�|D��}	||}n#t$rYdSwxYw|d�|��dS)z�
        Set class `class_` on the visible child no. index of `node`.
        Do nothing if node has fewer children than `index`.
        c�F�g|]}t|tj���|��Srz�r�r�	Invisible)r��ns  rIr�z5HTMLTranslator.set_class_on_child.<locals>.<listcomp>�s)��J�J�J�!�:�a���+I�+I�J�A�J�J�JrJNr�)�
IndexErrorr�)rHr��class_�index�children�childs      rI�set_class_on_childz!HTMLTranslator.set_class_on_child�si��
K�J�t�J�J�J��	��U�O�E�E���	�	�	��F�F�	����
�i�����'�'�'�'�'s��
%�%c���|���}|�|��}|jr!|jjr|�|��}|j�|��dSrD)r�r�r�r\r�r�r6r�)rHr�r�r�s    rI�
visit_TextzHTMLTranslator.visit_Text�se���{�{�}�}���+�+�d�#�#���>�	0�d�m�A�	0��&�&�w�/�/�G��	����!�!�!�!�!rJc��dSrDrz�rHr�s  rI�depart_TextzHTMLTranslator.depart_Text�����rJc�d�|j�|�|dd����dS)N�abbrr-�r6r�r�rs  rI�visit_abbreviationz!HTMLTranslator.visit_abbreviation�s.���	������t�V�R�8�8�9�9�9�9�9rJc�:�|j�d��dS)Nz</abbr>�r6r�rs  rI�depart_abbreviationz"HTMLTranslator.depart_abbreviation�����	����#�#�#�#�#rJc�d�|j�|�|dd����dS)N�acronymr-rrs  rI�
visit_acronymzHTMLTranslator.visit_acronym�s.���	������t�Y��;�;�<�<�<�<�<rJc�:�|j�d��dS)Nz
</acronym>rrs  rI�depart_acronymzHTMLTranslator.depart_acronym����	����&�&�&�&�&rJc��|�|dd���|j�|�|ddd�����dS)N�addressF�r<�prer-�r��CLASS)�visit_docinfo_itemr6r�r�rs  rI�
visit_addresszHTMLTranslator.visit_addresssf������i�e��<�<�<��	������t�U�.0�	�'�C�C�	D�	D�	D�	D�	DrJc�b�|j�d��|���dS�N�
</pre>
)r6r��depart_docinfo_itemrs  rI�depart_addresszHTMLTranslator.depart_address
s0���	����&�&�&�� � �"�"�"�"�"rJc�h�|j�|�|ddg�����dS)N�aside�
admonition�r�rrs  rI�visit_admonitionzHTMLTranslator.visit_admonitions2���	������t�W�|�n��M�M�N�N�N�N�NrJc�:�|j�d��dS�N�	</aside>
rrs  rI�depart_admonitionz HTMLTranslator.depart_admonitionrrJ)u—r-)�(�))r-r-r&c���|j|jj\}}|j�|��|j�|�|d|d�����dS)N�p�attribution�r%)�attribution_formatsr\r:r�r�r6r�)rHr�r�r�s    rI�visit_attributionz HTMLTranslator.visit_attributionsn���1�$�-�2K�L��������F�#�#�#��	����M�M�$��V�=�M�A�A�	C�	C�	C�	C�	CrJc�n�|j�|j���dz��dS�N�</p>
�r6r�r�r�rs  rI�depart_attributionz!HTMLTranslator.depart_attributions1���	�����)�)�+�+�h�6�7�7�7�7�7rJc��t|jtj��s|�|d��|j�d��dS)N�authorz<p>)r��parentr�authorsr&r6r�rs  rI�visit_authorzHTMLTranslator.visit_author"sJ���$�+�u�}�5�5�	4��#�#�D�(�3�3�3��	��������rJc���|j�d��t|jtj��r|j�d��dS|���dS)N�</p>rc)r6r�r�rErrFr+rs  rI�
depart_authorzHTMLTranslator.depart_author'sb���	���� � � ��d�k�5�=�1�1�	'��I���T�"�"�"�"�"��$�$�&�&�&�&�&rJc�2�|�|d��dS)NrF�r&rs  rI�
visit_authorszHTMLTranslator.visit_authors.s������i�0�0�0�0�0rJc�.�|���dSrD�r+rs  rI�depart_authorszHTMLTranslator.depart_authors1���� � �"�"�"�"�"rJc�b�|j�|�|d����dS)N�
blockquoterrs  rI�visit_block_quotez HTMLTranslator.visit_block_quote4s,���	������t�\�:�:�;�;�;�;�;rJc�:�|j�d��dS)Nz</blockquote>
rrs  rI�depart_block_quotez!HTMLTranslator.depart_block_quote7s���	���*�+�+�+�+�+rJc��t|j��}	|�|��dS#tj$rYdSwxYw)z7Check for a simple list that can be rendered compactly.TF)�SimpleListCheckerrM�walkr�	NodeFound)rHr�rNs   rI�check_simple_listz HTMLTranslator.check_simple_list:sU��#�D�M�2�2��	��I�I�g�����4����	�	�	��5�5�	���s�-�A�Ac�N�d|dvrdSd|dvrdSt|tjtjf��r|jjsdSt|tjtjf��r|jjsdSd|j	dvrdS|�
|��S)N�compactr�Tr[F�contents)r�r�
field_list�definition_listr\r,�enumerated_list�bullet_listr+rEr[rs  rI�is_compactablezHTMLTranslator.is_compactableKs�����Y��'�'��4��T�)�_�$�$��5��t�e�.��0E�F�G�G�	��M�5�	��5��t�e�3�U�5F�G�H�H�	��M�/�	��5����Y�/�/�/��4��%�%�d�+�+�+rJc��i}|j}|j�|j|jf��d|_|�|��|_|jr|sd|d<|j�|j|dfi|����dS)N�simpler��ul)r�r�r�r�rcr6r�)rHr�r��old_compact_simples    rI�visit_bullet_listz HTMLTranslator.visit_bullet_list^s�����!�0������T�0�$�.�A�B�B�B����"�1�1�$�7�7�����	%�'9�	%�$�D��M��	������t�T�:�:�T�:�:�;�;�;�;�;rJc��|j���\|_|_|j�d��dS)Nz</ul>
)r�r�r�r�r6r�rs  rI�depart_bullet_listz!HTMLTranslator.depart_bullet_lisths;��.2�l�.>�.>�.@�.@�+���T�^��	����#�#�#�#�#rJc�h�|j�|�|ddd�����dS)Nr9r-�captionr;rrs  rI�
visit_captionzHTMLTranslator.visit_captionls2���	������t�S�"�I��F�F�G�G�G�G�GrJc�:�|j�d��dSr?rrs  rI�depart_captionzHTMLTranslator.depart_captiono����	����"�"�"�"�"rJc��t|���t|����s|j�d��|j�|�|d|jgd�����dS)Nz(<div role="list" class="citation-list">
�divzdoc-biblioentry�r��role)r��previous_sibling�typer6r�r�r�rs  rI�visit_citationzHTMLTranslator.visit_citationss����$�/�/�1�1�4��:�:�>�>�	J��I���H�I�I�I��	������t�U�T�\�N�,=�'�?�?�	@�	@�	@�	@�	@rJc���|j�d��t|�dd���t	|����s|j�d��dSdS)N�</div>
FT��descend�siblings�r6r�r��	next_nodervrs  rI�depart_citationzHTMLTranslator.depart_citation|sk���	����$�$�$��$�.�.���.�F�F��t�*�*�&�&�	)��I���Z�(�(�(�(�(�	)�	)rJc
���d}d|vr||dz
}nd|vr||jj|dz
}|j�|�|dd|dgd�����dS)	N�#�refid�refname�a�[zcitation-referencez
doc-biblioref)r��hrefr�rt)rM�nameidsr6r�r�)rHr�r�s   rI�visit_citation_referencez'HTMLTranslator.visit_citation_reference�s������d�?�?��D��M�!�D�D�
�$�
�
��D�M�)�$�y�/�:�:�D�	
�	������t�S��4�0D�/E�,;�'�=�=�	>�	>�	>�	>�	>rJc�:�|j�d��dS)Nz]</a>rrs  rI�depart_citation_referencez(HTMLTranslator.depart_citation_reference�����	����!�!�!�!�!rJc�h�|j�|�|ddd�����dS)N�spanr-�
classifierr;rrs  rI�visit_classifierzHTMLTranslator.visit_classifier�s2���	������t�V�R�|��L�L�M�M�M�M�MrJc�:�|j�d��dS�N�</span>rrs  rI�depart_classifierz HTMLTranslator.depart_classifier�rrJc��|j�|��|jj�|j�d����dS)N�stub)r�r�rE�stubsr�r�rs  rI�
visit_colspeczHTMLTranslator.visit_colspec�sG���
���T�"�"�"���� � ���!4�!4�V�!<�!<�=�=�=�=�=rJc
�6�t|�dd���tj��rdSd|jjdvs"d|jjvrd|jjdvrdS|j�|�	|d����td	�|jD����}|jD]A}|d
|z}|j�|�|dd|d
��������B|j�d��dS)NFTrzr�r�r�r��colgroupc3�&K�|]}|dV��
dS)�colwidthNrz)r�r�s  rI�	<genexpr>z0HTMLTranslator.depart_colspec.<locals>.<genexpr>�s'����E�E�t�$�z�*�E�E�E�E�E�ErJr��colzwidth: z.1%)�stylez</colgroup>
)
r�r~r�colspecrEr\�table_styler6r�r��sumr�r)rHr��total_widthr�s    rI�depart_colspeczHTMLTranslator.depart_colspec�s;���d�n�n�U�T�n�B�B��m�%�%�	��F��t�{�1�)�<�<�<��D�M�$=�=�=�!���);�I�)F�F�F��F��	������t�Z�8�8�9�9�9��E�E�t�}�E�E�E�E�E���M�	L�	L�D��J�'�+�5�H��I���T�]�]�4��1I�8�1I�1I�1I�+�K�K�
L�
L�
L�
L��	����)�)�)�)�)rJz-(?=-)c��|j�d|d|�����z��tj�)z%Escape double-dashes in comment text.z<!-- %s -->
z- )r6r�r�r�SkipNode)rHr�r�s   rI�
visit_commentzHTMLTranslator.visit_comment�s;��	
�	����3�3�t�T�[�[�]�]�+C�+C�C�D�D�D��n�rJc�f�|j�|�|dd�����dS)Nrr�compoundr;rrs  rI�visit_compoundzHTMLTranslator.visit_compound�s0���	������t�U�*��E�E�F�F�F�F�FrJc�:�|j�d��dS�Nryrrs  rI�depart_compoundzHTMLTranslator.depart_compound�����	����$�$�$�$�$rJc�f�|j�|�|dd�����dS)Nrrzdocutils containerr;rrs  rI�visit_containerzHTMLTranslator.visit_container�sI���	������t�U�-A�'�C�C�	D�	D�	D�	D�	DrJc�:�|j�d��dSr�rrs  rI�depart_containerzHTMLTranslator.depart_container�r�rJc�6�|�|dd���dS)N�contactFr"rLrs  rI�
visit_contactzHTMLTranslator.visit_contact��#������i�e��<�<�<�<�<rJc�.�|���dSrDrOrs  rI�depart_contactzHTMLTranslator.depart_contact�rQrJc�2�|�|d��dS)N�	copyrightrLrs  rI�visit_copyrightzHTMLTranslator.visit_copyright�s������k�2�2�2�2�2rJc�.�|���dSrDrOrs  rI�depart_copyrightzHTMLTranslator.depart_copyright�rQrJc�2�|�|d��dS)N�daterLrs  rI�
visit_datezHTMLTranslator.visit_date�s������f�-�-�-�-�-rJc�.�|���dSrDrOrs  rI�depart_datezHTMLTranslator.depart_date�rQrJc��dSrDrzrs  rI�visit_decorationzHTMLTranslator.visit_decoration�rrJc��dSrDrzrs  rI�depart_decorationz HTMLTranslator.depart_decoration�rrJc��d|jjdvr|j�d��dS|j�d��|j�|�|dd����dS)N�detailsr�z</summary>
z</dt>
�ddr-�rEr6r�r�rs  rI�visit_definitionzHTMLTranslator.visit_definition�su�����*�9�5�5�5��I���^�,�,�,�,�,��I���Y�'�'�'��I���T�]�]�4��r�:�:�;�;�;�;�;rJc�f�d|jjdvr|j�d��dSdS)Nr�r��</dd>
�rEr6r�rs  rI�depart_definitionz HTMLTranslator.depart_definition�s;���D�K�.�y�9�9�9��I���Y�'�'�'�'�'�:�9rJc��d|dvrL|�|��rdgng}|j�|�|d|�����dSdS)Nr�r�re�dlr0)rcr6r�r��rHr�r�s   rI�visit_definition_listz$HTMLTranslator.visit_definition_list�se���D��O�+�+�$(�$7�$7��$=�$=�E�x�j�j�2�G��I���T�]�]�4��w�]�G�G�H�H�H�H�H�,�+rJc�R�d|dvr|j�d��dSdS)Nr�r��</dl>
rrs  rI�depart_definition_listz%HTMLTranslator.depart_definition_list�s5���D��O�+�+��I���Y�'�'�'�'�'�,�+rJc��d|jdvr?i}d|jdvrd|d<|j�|j|dfi|����dSdS)Nr�r�r[r��rHr�r�s   rI�visit_definition_list_itemz)HTMLTranslator.visit_definition_list_item�sn�����I�.�.�.��D����Y�/�/�/�%��V���I���]�T�]�4��C�C�d�C�C�D�D�D�D�D�	/�.rJc�\�d|jdvr|j�d��dSdS)Nr�r�z</details>
r�rs  rI�depart_definition_list_itemz*HTMLTranslator.depart_definition_list_item�s8�����I�.�.�.��I���^�,�,�,�,�,�/�.rJc�d�|j�|�|dd����dS)Nr�r-rrs  rI�visit_descriptionz HTMLTranslator.visit_description��.���	������t�T�2�6�6�7�7�7�7�7rJc�:�|j�d��dS�Nr�rrs  rI�depart_descriptionz!HTMLTranslator.depart_descriptionrrJc��|j�t|j����dg}|�|��r|�d��|j�|�|d|�����dS)Nr5rer�r0)r�r��lenr6rcr�r�s   rI�
visit_docinfozHTMLTranslator.visit_docinfos}������C��	�N�N�+�+�+��+�����t�$�$�	%��N�N�8�$�$�$��	������t�T�7��C�C�D�D�D�D�DrJc��|j�d��|j���}|j|d�|_g|_dS�Nr�)r6r�r�r�r5)rHr��starts   rI�depart_docinfozHTMLTranslator.depart_docinfosH���	����#�#�#��� � �"�"���y����(�����	�	�	rJTc�T�|rCd|�d|�|������d�}|�|��|j�d|�d|jj|�d���|j�|�|dd|�	����dS)
Nz<meta name="z" content="z" />
z<dt class="�">�"<span class="colon">:</span></dt>
r�r-r;)r�r��add_metar6r�r��labelsr�)rHr�r�r<�meta_tags     rIr&z!HTMLTranslator.visit_docinfo_items����	$�	$��$�$����D�K�K�M�M� :� :� :� :�<�H��M�M�(�#�#�#��	�����t�t�T�]�)�$�/�/�/�
1�	2�	2�	2�	
�	������t�T�2�T��B�B�C�C�C�C�CrJc�:�|j�d��dSr�rrGs rIr+z"HTMLTranslator.depart_docinfo_itemrrJc	�l�|j�|�|ddgd������dS)Nr#r-)�code�python�doctest)r�r�rrs  rI�visit_doctest_blockz"HTMLTranslator.visit_doctest_blocksQ���	������t�U�2�/L�/L�/L�'�N�N�	O�	O�	O�	O�	OrJc�:�|j�d��dSr)rrs  rI�depart_doctest_blockz#HTMLTranslator.depart_doctest_block"rrJc���|�dd��p&tj�|d��pd}|j�d|�|��z��dS)Nr8r-�sourcezdocutils document without titlez<title>%s</title>
)r��osr��basenamer2r�r�)rHr�r8s   rI�visit_documentzHTMLTranslator.visit_document%si�����'�2�&�&�6�"�'�*:�*:�4��>�*J�*J�6�5�	��	���.����U�1C�1C�C�D�D�D�D�DrJc�|�|j�|j|jd|jjizg��|j�|j��|j�	d|j
|jjz��|j�	d|j
|jjz��dd�
|j��vr|j�d��|jrJ|jdkr |j�|j��n|j�|j��|j�|jdd���|j�|�|dd	�
����|j�	dd��|j�|j��|j�|jdd�|jz|jz|jz|jdd�z��|jrJd
t7|j��z���dS)Nr}rzname="dcterms.r-z<<link rel="schema.dcterms"href="http://purl.org/dc/terms/"/>�mathjaxrrrrMr;ry���zlen(context) = %s)r1r��doctype�head_prefix_templater\r�r>r�r<�insertr�rgr2rer�r�rr?r3r�r7r=r6rBr4r5r�r�rs  rI�depart_documentzHTMLTranslator.depart_document*s2��������!%�!:�"(�$�-�*E�!F�"G�!H�	I�	I�	I�	
������-�-�-��	����D�-��
�0M�M�N�N�N��	����D�-��
�0M�M�N�N�N��r�w�w�t�y�1�1�1�1��I���B�
C�
C�
C���	9���9�,�,��	� � ��!1�2�2�2�2���&�&�t�'7�8�8�8�����d�i����m�,�,�,������
�
�d�E��
� L� L�M�M�M������:�.�.�.��
���T�Y�'�'�'�����d�.�q�r�r�2�T�5J�J� $��-�/3�y�9� $� 0��"�� 5�6�	7�	7�	7��<�H�H�!4�s�4�<�7H�7H�!H�H�H�H�H�HrJc�d�|j�|�|dd����dS)N�emr-rrs  rI�visit_emphasiszHTMLTranslator.visit_emphasisCr�rJc�:�|j�d��dS)Nz</em>rrs  rI�depart_emphasiszHTMLTranslator.depart_emphasisFr�rJc�~�dgi}t|jjtj��r|d�d��|jjjj|jjr|d�d��|drd}nd}|jxjdz
c_d|vr|ddz|d<d	|vr)|d	dz|d
<|jxj|d	z
c_|j�|j||dfi|����|j	�d|�
��z��dS)
Nr�r2r��th�tdr�morerows�rowspan�morecols�colspanr-�</%s>
)r�rEr�theadr�r��columnr6r�r�r�)rHr�r�r�s    rI�visit_entryzHTMLTranslator.visit_entryIsM���2����d�k�(�%�+�6�6�	+���O�"�"�6�*�*�*��;��$�*�4�;�+=�>�	+���O�"�"�6�*�*�*��	�?�	��G�G��G�����a��������"�:�.��2�D��O�����"�:�.��2�D��O��K���$�z�"2�2����	������t�W�b�A�A�D�A�A�B�B�B�����I��
�
���7�8�8�8�8�8rJc�h�|j�|j�����dSrDrArs  rI�depart_entryzHTMLTranslator.depart_entry]�,���	�����)�)�+�+�,�,�,�,�,rJc�$�dgi}d|vr|d|d<d|vr!|d�|d��|�|��r|d�d��|j�|j|dfi|����dS)Nr�r��enumtypere�ol)r�rcr6r�r�s   rI�visit_enumerated_listz$HTMLTranslator.visit_enumerated_list`s����2����d�?�?� ��M�D��M�������O�"�"�4�
�#3�4�4�4����t�$�$�	-���O�"�"�8�,�,�,��	������t�T�:�:�T�:�:�;�;�;�;�;rJc�:�|j�d��dS)Nz</ol>
rrs  rI�depart_enumerated_listz%HTMLTranslator.depart_enumerated_listjrrJc���i}|�dg��}t|��D]d\}}|�d��rJ	t|dd�d��}n#t$rYn$wxYwd|z|d<|�|��n�e|�d��|�|��r|�d��|j�|j	|d	fi|����dS)
Nr�z
field-indent-�
�pxz--field-indent: %s;r�z
field-listrer�)
�
setdefault�	enumerater�r	�
ValueErrorr�r�rcr6r�)rHr�r�r��ir��
indent_lengths       rI�visit_field_listzHTMLTranslator.visit_field_listms%�����/�/�)�R�0�0����(�(�		�		�F�A�s��~�~�o�.�.�
��$D�8;�B�C�C��$�%H�%H�M�M��!�����E�E����� 5�
� E��W�
����A������
�	���|�$�$�$����t�$�$�	%��N�N�8�$�$�$��	������t�T�:�:�T�:�:�;�;�;�;�;s�A�
A*�)A*c�:�|j�d��dSr�rrs  rI�depart_field_listz HTMLTranslator.depart_field_listrrJc��dSrDrzrs  rI�visit_fieldzHTMLTranslator.visit_field�rrJc��dSrDrzrs  rI�depart_fieldzHTMLTranslator.depart_field�rrJc	�~�|j�|�|dd|jd�����dS)N�dtr-r�r0)r6r�r�rErs  rI�visit_field_namezHTMLTranslator.visit_field_name�sR���	������t�T�2�/3�{�9�/E�'�G�G�	H�	H�	H�	H�	HrJc�:�|j�d��dS)Nr�rrs  rI�depart_field_namez HTMLTranslator.depart_field_name�s���	���>�?�?�?�?�?rJc	���|j�|�|dd|jd�����|js|j�d��dSdS)Nr�r-r�r0z<p></p>)r6r�r�rEr	rs  rI�visit_field_bodyzHTMLTranslator.visit_field_body�sx���	������t�T�2�/3�{�9�/E�'�G�G�	H�	H�	H��}�	(��I���Y�'�'�'�'�'�	(�	(rJc�:�|j�d��dSr�rrs  rI�depart_field_bodyz HTMLTranslator.depart_field_body�rrJc��ddi}|�d��rd|dz|d<|�d��r|dxxd|dzz
cc<|j�|j|dfi|����dS)	Nr��figure�widthz	width: %sr��alignz align-rr)r�r6r�r�r�s   rI�visit_figurezHTMLTranslator.visit_figure�s�����"���8�8�G���	8�'�$�w�-�7�D��M��8�8�G���	7���M�M�M�Y��g��6�6�M�M�M��	������t�U�;�;�d�;�;�<�<�<�<�<rJc�:�|j�d��dSr�rrs  rI�
depart_figurezHTMLTranslator.depart_figure�r�rJc�^�|j�t|j����dSrD�r�r�r�r6rs  rI�visit_footerzHTMLTranslator.visit_footer��&������C��	�N�N�+�+�+�+�+rJc�:�|j���}|�|dd���dg}|�|j|d���|�d��|j�|��||jdd�<|j|d�=dS)Nrrr;r;z<hr class="footer" />
z
</div>
r)r�r�r�r�r6r�r;r7)rHr�r�r;s    rI�
depart_footerzHTMLTranslator.depart_footer�s����� � �"�"���-�-��e�8�-�<�<�+�-���
�
�d�i����'�(�(�(��
�
�l�#�#�#�����6�"�"�"�%����!����I�e�f�f���rJc�(�|jj}t|���t	|����s|j�d|�d���|j�|�|d|j|gd�����dS)Nz<aside class="footnote-list z">
r.�noters)	r\�footnote_referencesr�rurvr6r�r�r�)rHr��label_styles   rI�visit_footnotezHTMLTranslator.visit_footnote�s����m�7���$�/�/�1�1�4��:�:�>�>�	O��I���M�K�M�M�M�N�N�N��	������t�W�04��k�/J�,2�'�4�4�	5�	5�	5�	5�	5rJc���|j�d��t|�dd���t	|����s|j�d��dSdS)Nr4FTrzr}rs  rI�depart_footnotezHTMLTranslator.depart_footnote�sk���	����&�&�&��$�.�.���.�F�F��t�*�*�&�&�	+��I���\�*�*�*�*�*�	+�	+rJc
���d|dz}d|jjg}|j�|�|dd|d|�����|j�d��dS)	Nr�r�zfootnote-referencer�r-zdoc-noteref)r�r�rtr��!<span class="fn-bracket">[</span>)r\rBr6r�r�)rHr�r�r�s    rI�visit_footnote_referencez'HTMLTranslator.visit_footnote_reference�s}���T�'�]�"��'���)J�K���	������t�S��W�,9��'�F�F�	G�	G�	G��	���<�=�=�=�=�=rJc�n�|j�d��|j�d��dS)Nz!<span class="fn-bracket">]</span>�</a>rrs  rI�depart_footnote_referencez(HTMLTranslator.depart_footnote_reference�s5���	���<�=�=�=��	���� � � � � rJc���d|dvrc|����d��}|j�d|�|��z��t
j�dS)N�sectnumr�� z <span class="sectnum">%s </span>)r�rfr6r�r�rr�)rHr�rNs   rI�visit_generatedzHTMLTranslator.visit_generated�so����Y��'�'��k�k�m�m�*�*�4�0�0�G��I���?�#�{�{�7�3�3�4�
5�
5�
5��.� �
(�'rJc��dSrDrzrs  rI�depart_generatedzHTMLTranslator.depart_generated�rrJc�^�|j�t|j����dSrDr;rs  rI�visit_headerzHTMLTranslator.visit_header�r=rJc�T�|j���}|�|dd���g}|�|j|d���|�d��|j�|��|j�|��|j|d�=dS)Nrrr:r;z
<hr class="header"/>
</div>
)r�r�r�r�r6r�r3r:)rHr�r�r:s    rI�
depart_headerzHTMLTranslator.depart_header�s����� � �"�"���-�-��e�8�-�<�<�=���
�
�d�i����'�(�(�(��
�
�8�9�9�9������'�'�'�����6�"�"�"��I�e�f�f���rJc�6�i}|d}tj|��d}d|vr|d|d<d|vr|d|d<d|v�rVtr�d|vsd|vr�|jjr�t|��}	tj�|��5}|j}ddd��n#1swxYwY|jj	�
|�dd����d|vrd|dz|d<d|vrd|d	z|d<~n#ttf$rYnwxYwd
D]z}||vrttjd||��}	|	sJ�t!|	�d	����t!|d��dzz�|	�d
����||<�{g}
d
D]U}||vrOtjd||��r||xxdz
cc<|
�|�d||�d���||=�V|
rd�|
��|d<t)|jt,j��sCt)|jt,j��r't)|jjt,j��sd}nd}d|vrd|dz|d<|jdkr�	tt|��d��5}|���}
ddd��n#1swxYwY|jj	�
|�dd����t7j|
�����}d|�d|��}nQ#t$r4}|jj� d|�d|j!����Yd}~nd}~wwxYw|jdkrd|d<|d kr5||d!<|j"|d"dfd#|i|��|�#d$|��zd%z|z}n1|�#d$|d��|d$<|j$|d&|fd'|i|��}|j%�|��dS)(Nr�rr5�height�scale�\�/z%dpxr)r5rXz([0-9.]+)(\S*)$�d�z	^[0-9.]+$rz: �;r�r�r-rcr6�align-%sr�r��rbzdata:z;base64,zCannot embed image �lazy�loadingzapplication/x-shockwave-flashrv�object�data�altz	</object>�img�src)&�	mimetypes�
guess_typer
r\�file_insertion_enabledr�Imager[�sizer�r�r�r��UnicodeEncodeError�re�match�float�groupr�rer�rEr�TextElement�	referencer�r^�base64�	b64encode�decoderMr�r��strerrorr�r�rr6)rHr�r�r��mimetype�	imagepathrf�imgsize�att_nameror�r��	imagefile�	imagedata�data64r��tags                 rI�visit_imagezHTMLTranslator.visit_image�se�����5�k���'��,�,�Q�/���d�?�?� ��M�D��M��t���!�(�^�D��N��d�?�?��
���,�,���0D�0D��M�8�1E�(��-�-�	������	�2�2�+�c�"%�(��+�+�+�+�+�+�+�+�+�+�+����+�+�+�+�
�M�5�9�9�!�)�)�$��4�4�6�6�6��d�*�*�(.����(;��W�
��t�+�+�)/�'�!�*�)<��X����� �!3�4�����D�����.�
(�
(���t�#�#��H�%7��h��H�H�E� �L�L�L��e�k�k�!�n�n�-�-��t�G�}�1E�1E��1K�L�L����A����&(�D��N����)�	#�	#�H��4����8�L�$�x�.�9�9�+���N�N�N�d�*�N�N�N����(�(�(�D��N�N�N�C�D�D�D���N���	,��H�H�U�O�O�D��M��t�{�E�$5�6�6�	��4�;���8�8�	�"�4�;�#5�u�7H�I�I�	��F�F��F��d�?�?�&��g��6�D��M����(�(�
?��,�s�+�+�T�2�2�1�i� )��� 0� 0�I�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1��
�1�5�5�,/�K�K��c�,B�,B�D�D�D� �)�)�4�4�;�;�=�=���-5�X�X�v�v�>�����
D�
D�
D��
�&�,�,�,�03���S�\�\�.C�D�D�D�D�D�D�D�D�����
D�����
�6�
)�
)�$�D��O��6�6�6�#�D��L� �4�=��x��F�F�#�F��F�F��X�X�e�S�)�)�*�,7�8�:@�A�C�C��(�(�5�$�u�+�6�6�D��K��$�-��e�V�E�E��E��E�E�C��	��������sr�3D
�B&�D
�&B*�*D
�-B*�.D
�
D�D�M�4K�	M�K�M�K�M�
N�*M;�;Nc��dSrDrzrs  rI�depart_imagezHTMLTranslator.depart_image8rrJc�d�|j�|�|dd����dS)Nr�r-rrs  rI�visit_inlinezHTMLTranslator.visit_inline;�.���	������t�V�R�8�8�9�9�9�9�9rJc�:�|j�d��dSr�rrs  rI�
depart_inlinezHTMLTranslator.depart_inline>rrJc�0�|j�d��|j�d��|jjrS|j�dg��}t
|��dkr'|j�d|dz��dSdSdS)Nz<span class="label">rH�backrefsrz"<a role="doc-backlink" href="#%s">r)r6r�r\�footnote_backlinksrEr�r�)rHr�r�s   rI�visit_labelzHTMLTranslator.visit_labelBs����	���/�0�0�0��	���<�=�=�=��=�+�	?��{���z�2�6�6�H��8�}�}��!�!��	� � �"0�2:�1�+�">�?�?�?�?�?�	?�	?�!�!rJc��g}|jjr|j�d|��}t	|��dkr|j�d��|j�d��t	|��dkrLd�t|d��D��}|j�dd�|��z��dSdS)Nr�rrKz)<span class="fn-bracket">]</span></span>
c�&�g|]\}}d|�d|�d���S)z<a role="doc-backlink" href="#r�rKrz)r�r!�refs   rIr�z/HTMLTranslator.depart_label.<locals>.<listcomp>TsC��A�A�A�%�a���HK�s�s�A�A�A�N�A�A�ArJz#<span class="backrefs">(%s)</span>
�,)	r\r�rEr�r�r6r�rre)rHr�r��	backlinkss    rI�depart_labelzHTMLTranslator.depart_labelLs������=�+�	=��{���z�8�<�<�H��x�=�=�A����I���V�$�$�$��	���E�F�F�F��x�=�=�1���A�A�)2�8�Q�)?�)?�A�A�A�I��I���C�"�x�x�	�2�2�3�
4�
4�
4�
4�
4��rJc�f�|j�|�|dd�����dS)Nrr�legendr;rrs  rI�visit_legendzHTMLTranslator.visit_legendYs0���	������t�U�(��C�C�D�D�D�D�DrJc�:�|j�d��dSr�rrs  rI�
depart_legendzHTMLTranslator.depart_legend\r�rJc��|j�|�|ddd�����t|��s|j�d��dSdS)Nrrr-�liner$z<br />)r6r�r�r�rs  rI�
visit_linezHTMLTranslator.visit_line_s`���	������t�U�2�V��L�L�M�M�M��4�y�y�	'��I���X�&�&�&�&�&�	'�	'rJc�:�|j�d��dSr�rrs  rI�depart_linezHTMLTranslator.depart_linedr�rJc�f�|j�|�|dd�����dS)Nrrz
line-blockr;rrs  rI�visit_line_blockzHTMLTranslator.visit_line_blockgs0���	������t�U�,��G�G�H�H�H�H�HrJc�:�|j�d��dSr�rrs  rI�depart_line_blockz HTMLTranslator.depart_line_blockjr�rJc�d�|j�|�|dd����dS)N�lir-rrs  rI�visit_list_itemzHTMLTranslator.visit_list_itemmr�rJc�:�|j�d��dS)Nz</li>
rrs  rI�depart_list_itemzHTMLTranslator.depart_list_itemprrJc�^�|d}d|vrY|�|�d����|j�|�|dd����dS|j�|�|ddd�����|���}t
|jtj	��s|�
dd��}|j�|��D]�}|�
��rK|j�|��r1|j�d	|�|��z���a|j�|�|������|j�d
��tj�)Nr�r�r-r�zdocutils literalr;rcr�z<span class="pre">%s</span>r�)r�rr6r�r�r�r�rEr�
literal_blockr��words_and_spaces�findallr��in_word_wrap_point�searchr�r�)rHr�r�r��tokens     rI�
visit_literalzHTMLTranslator.visit_literalts����y�/���W����K�K��
�
�f�-�-�.�.�.��I���T�]�]�4���<�<�=�=�=��F��	����M�M�$���2D�M�E�E�	G�	G�	G��{�{�}�}���$�+�u�':�;�;�	+��<�<��c�*�*�D��*�2�2�4�8�8�	5�	5�E��{�{�}�}�
5��!8�!?�!?��!F�!F�
5��	� � �!>�#'�;�;�u�#5�#5�"6�7�7�7�7��	� � ����U�!3�!3�4�4�4�4��	����#�#�#��n�rJc�:�|j�d��dS)N�</code>rrs  rI�depart_literalzHTMLTranslator.depart_literal�s���	����#�#�#�#�#rJc��|j�|�|ddd�����d|dvr|j�d��dSdS)Nr#r-�
literal-blockr;r�r�z<code>rrs  rI�visit_literal_blockz"HTMLTranslator.visit_literal_block�s_���	������t�U�B�o��N�N�O�O�O��T�)�_�$�$��I���X�&�&�&�&�&�%�$rJc��d|dvr|j�d��|j�d��dS)Nr�r�r�z</pre>
rrs  rI�depart_literal_blockz#HTMLTranslator.depart_literal_block�sC���T�)�_�$�$��I���Y�'�'�'��	����$�$�$�$�$rJ)rrr��formula)r#�tt�math)rrr-r-)rrr�r��r�latex�mathmlr�r-c
�
���j�jvr/�jj�d�j�d���d�_�j�j|dk}�j�jd}ddddd	�}|�j|dk}�jd
kr�jr�jddkrd}|����tj	��}|r	||||fz}n#t$r||z}YnwxYw�jd
vr��|��}�jdkrz�jss	�jd�_
n/#t$r"�jj�d��YnwxYwd�j
vr�xj
dz
c_
�j�j
zg�_�n�jdkrj�jr8�js1�fd��jd�d��D���_|dkt$j_t%j|��}�n}�jd
k�rqd�jvr�j�_�j�_d��j�����}	|dkr t7j|�jj��}n�|dkr t7j|�jj��}nb|dkr#t7j||�jj���}n9|st?j ||���}n�jj�d���ns#tB$rtCd���tD$�rM}	�jj�|	|���}
��#|
���j$�%��&|d�����j$�%d�|	j'�����j$�%d���j$�%��&|d d!�"�����j$�%��|�����j$�%d#����(|
��tRj*�d}	~	wwxYw|rA�j$�%��&||d$tW|��z|�%�����j$�%|��|r�j$�%d$��|r�j$�%d&|z��|r�j$�%d$��tRj*�)'Nzmath-output format "z'" not supported falling back to "latex"r�r-r])z$%s$�\begin{%s}
%s
\end{%s})NN)z\(%s\)r�r�r�r�	blahtexml)r�r�r�z@No MathJax URL specified, using local fallback (see config.html)�?z?config=TeX-AMS_CHTMLrc�x��g|]6}��tj|�jj��d�����7S)T)r�)r�r�find_file_in_dirsr\�stylesheet_dirs)r��srHs  �rIr�z-HTMLTranslator.visit_math.<locals>.<listcomp>�s^���$E�$E�$E��%)�$8�$8��+�A�t�}�/L�M�M� $�%9�%&�%&�$E�$E�$ErJr�zXHTML 1r��latexml�ttm)�inliner�)r�z3option "%s" not supported with math-output "MathML"zis "latexmlmath" in your PATH?)�	base_noder9r@r#r�r;r*rcr$�</%s>),r��	math_tagsrMr�r�r�r�rVr�
uni2tex_table�	TypeErrorr�r��mathjax_urlr�warning�mathjax_scriptrur�DocumentParameters�displaymoder��doctype_mathml�content_type_mathmlr�rer�rr�r�r�r�
tex2mathmlr��SyntaxError�visit_system_messager6r�r��args�depart_system_messagerr�r�)rHr��math_envr�clsarg�wrappers�wrapper�	math_code�	converterr��err_nodes`          rI�
visit_mathzHTMLTranslator.visit_math�s%�����4�>�1�1��M�"�(�(�*�t�'7�*�*�*�
+�
+�
+� '�D���n�T�-�.�x�2�~�>����� 0�1�!�4��C�)�D�H�����4�+�,�X��^�<�����(�(��-�
)��,�Q�/�;�>�>��G��K�K�M�M�+�+�K�,E�F�F�	��	0�
0�#�x��H�&E�E�	�	���
0�
0�
0�#�i�/�	�	�	�
0������3�3�3����I�.�.�I���y�(�(��1A�(�
D�#'�#;�A�#>�� � ���
D�
D�
D��
�&�.�.�0C�D�D�D�D�D�
D�����$�*�*�*�� � �$;�;� � � $� 3�d�6F� F�G�D���
�
��
'�
'��'�
E��0@�
E�$E�$E�$E�$E�"�5�a�8�>�>�s�C�C�$E�$E�$E�� �
9A�B��I�(�4�!�+�I�6�6�I�I�
�
��
)�
)��D�L�(�(�#�2���$(�$<��!�����!9�:�:�@�@�B�B�I�
%��	�)�)� 1� 9�$-�t�}�/E�!G�!G�I�I��%�'�'� 1� 5�$-�t�}�/E�!G�!G�I�I��+�-�-� 1� ;�$-�/7�=�-1�]�-C�!E�!E�!E�I�I�#�N� ,� 7�$-�(�m�!E�!E�!E�I�I��M�*�0�0�2M�N�N�N����
@�
@�
@��>�?�?�?��
%�
%�
%��=�1�7�7��t�7�L�L���)�)�(�3�3�3��	� � ����t�S�!9�!9�:�:�:��	� � ����#�(�!3�!3�4�4�4��	� � ��*�*�*��	� � ����t�U�5D�"/�"F�"F�G�G�G��	� � ����Y�!7�!7�8�8�8��	� � ��.�.�.��*�*�8�4�4�4��n�$�����
%�����	:��I���T�]�]�4��26�t�H�~�~�2E�17�+�9�9�
:�
:�
:�	
�	����#�#�#��	#��I���T�"�"�"��	,��I���W�s�]�+�+�+��	#��I���T�"�"�"��n�s>�*C3�3D�D�9E�)E8�7E8�:B.L*�*#R�
ER�Rc��dSrDrzrs  rI�depart_mathzHTMLTranslator.depart_mathrrJc�v�t|�����}|�||���dS)N)r�)r
r�r�)rHr�r�s   rI�visit_math_blockzHTMLTranslator.visit_math_blocks3��(������7�7������x��0�0�0�0�0rJc��dSrDrzrs  rI�depart_math_blockz HTMLTranslator.depart_math_blockrrJc�r�|j|dfi|�����}|�|��dS)Nr<)r�non_default_attributesr�)rHr�r<s   rI�
visit_metazHTMLTranslator.visit_metasA���t�}�T�6�K�K�T�-H�-H�-J�-J�K�K���
�
�d�����rJc��dSrDrzrs  rI�depart_metazHTMLTranslator.depart_meta!rrJc�n�|j�|��|j�|��dSrD)r<r�r2)rHrs  rIr�zHTMLTranslator.add_meta$s4���	��������	��������rJc�h�|j�|�|ddd�����dS)Nr�r-�optionr;rrs  rI�visit_optionzHTMLTranslator.visit_option(s2���	������t�V�R�x��H�H�I�I�I�I�IrJc���|j�d��t|�dd���tj��r|j�d��dSdS)Nr�FTrz�, )r6r�r�r~rr�rs  rI�
depart_optionzHTMLTranslator.depart_option+sg���	����#�#�#��d�n�n�U�T�n�B�B��l�$�$�	#��I���T�"�"�"�"�"�	#�	#rJc��|j�|�dd����|j�|�|dd����dS)N�	delimiterr��varr-)r6r�r�r�rs  rI�visit_option_argumentz$HTMLTranslator.visit_option_argument1sR���	������+�s�3�3�4�4�4��	������t�U�B�7�7�8�8�8�8�8rJc�:�|j�d��dS)Nz</var>rrs  rI�depart_option_argumentz%HTMLTranslator.depart_option_argument5rprJc��|j�|�|dd����|j�d��dS)Nr+r-z<kbd>rrs  rI�visit_option_groupz!HTMLTranslator.visit_option_group8sD���	������t�T�2�6�6�7�7�7��	����!�!�!�!�!rJc�:�|j�d��dS)Nz</kbd></dt>
rrs  rI�depart_option_groupz"HTMLTranslator.depart_option_group<s���	����)�)�)�)�)rJc�f�|j�|�|dd�����dS)Nr�zoption-listr;rrs  rI�visit_option_listz HTMLTranslator.visit_option_list?s;���	����M�M�$��M�M�:�:�	<�	<�	<�	<�	<rJc�:�|j�d��dSr�rrs  rI�depart_option_listz!HTMLTranslator.depart_option_listCrrJc��dSrDrzrs  rI�visit_option_list_itemz%HTMLTranslator.visit_option_list_itemFrrJc��dSrDrzrs  rI�depart_option_list_itemz&HTMLTranslator.depart_option_list_itemIrrJc��dSrDrzrs  rI�visit_option_stringz"HTMLTranslator.visit_option_stringLrrJc��dSrDrzrs  rI�depart_option_stringz#HTMLTranslator.depart_option_stringOrrJc�2�|�|d��dS)N�organizationrLrs  rI�visit_organizationz!HTMLTranslator.visit_organizationRs������n�5�5�5�5�5rJc�.�|���dSrDrOrs  rI�depart_organizationz"HTMLTranslator.depart_organizationUrQrJc�d�|j�|�|dd����dS)Nr9r-rrs  rI�visit_paragraphzHTMLTranslator.visit_paragraphgs.���	������t�S�"�5�5�6�6�6�6�6rJc��|j�d��t|jtjtjf��rt|j��dks|j�d��dSdS)NrIrrc)r6r�r�rEr�	list_item�entryr�rs  rI�depart_paragraphzHTMLTranslator.depart_paragraphjsn���	���� � � ��4�;���%�+�(F�G�G�	#����%�%��*�*��I���T�"�"�"�"�"�+�*rJc�B�|�d��r>|j�d|dz��|j�d��n|j�d��|j�|�|ddd�����dS)Nr�z<a href="#%s">rKr-r��problematicr;)�hasattrr6r�r�r�rs  rI�visit_problematicz HTMLTranslator.visit_problematicps����<�<�� � �	$��I���-��W�
�=�>�>�>��L����'�'�'�'��L����#�#�#��	������t�V�R�}��M�M�N�N�N�N�NrJc��|j�d��|j�|j�����dSr�rArs  rI�depart_problematicz!HTMLTranslator.depart_problematicxsB���	����#�#�#��	�����)�)�+�+�,�,�,�,�,rJc���d|�dd�����vr�t|jtj��rd}nd}|dr0|j�|�||d�����|j�|�	����|dr|j�d|z��tj
�)	Nr�formatr-r�rrr�)r�r�)r�rur�rErrrr6r�r�r�r�)rHr�r�s   rI�	visit_rawzHTMLTranslator.visit_raw|s����T�X�X�h��+�+�1�1�3�3�3�3��$�+�u�'8�9�9�
 � ������I��
J��	� � ����t�W�R��!H�!H�I�I�I��I���T�[�[�]�]�+�+�+��I��
4��	� � ��7�!2�3�3�3��n�rJc���ddi}d|vrh|d|d<|jjr@|d�d��r%|�|d��|d<d|_|dxxdz
cc<n,d|vs
Jd	���d
|dz|d<|dxxdz
cc<t|��dkr0t
|d
tj��r|dxxdz
cc<t
|j	tj
��sEt|��dkr t
|d
tj��sJ�|dxxdz
cc<|j�|j
|ddfi|����dS)Nr�rs�refurir�zmailto:Tz	 externalr�z3References must have "refuri" or "refid" attribute.r�z	 internalrrz image-referencer�r-)r\r�r�r�r�r�r�r�imagerErrr6r�r�r�s   rI�visit_referencezHTMLTranslator.visit_reference�s�����%���t�����>�D��L��
�3�
&���L�+�+�I�6�6�
&�#�0�0��f��>�>��V��!%�����M�M�M�[�(�M�M�M�M��d�?�?�?�H�#�?�?���g��.�D��L���M�M�M�[�(�M�M�M��t�9�9��>�>�j��a��%�+�>�>�>���M�M�M�/�/�M�M�M��$�+�u�'8�9�9�	0��t�9�9��>�>�j��a��%�+�&F�&F�>�>�>���M�M�M�/�/�M�M�M��	������t�S�"�=�=��=�=�>�>�>�>�>rJc��|j�d��t|jtj��s|j�d��d|_dS)NrKrcF)r6r�r�rErrrr�rs  rI�depart_referencezHTMLTranslator.depart_reference�sP���	���� � � ��$�+�u�'8�9�9�	#��I���T�"�"�"�����rJc�6�|�|dd���dS)N�revisionFr"rLrs  rI�visit_revisionzHTMLTranslator.visit_revision�s#������j�u��=�=�=�=�=rJc�.�|���dSrDrOrs  rI�depart_revisionzHTMLTranslator.depart_revision�rQrJc�r�|j�|�|dd����d|_dS)N�trr-r)r6r�r�rrs  rI�	visit_rowzHTMLTranslator.visit_row�s3���	������t�T�2�6�6�7�7�7�����rJc�:�|j�d��dS)Nz</tr>
rrs  rI�
depart_rowzHTMLTranslator.depart_row�rrJc�h�|j�|�|ddd�����dS)Nr9r-�rubricr;rrs  rI�visit_rubriczHTMLTranslator.visit_rubric�s2���	������t�S�"�H��E�E�F�F�F�F�FrJc�:�|j�d��dSr?rrs  rI�
depart_rubriczHTMLTranslator.depart_rubric�rprJc��|xjdz
c_|j�|�|dd�����dS)Nrrr�sectionr;)r�r6r�r�rs  rI�
visit_sectionzHTMLTranslator.visit_section�sO�����a�����	����M�M�$��Y�M�7�7�	9�	9�	9�	9�	9rJc�Z�|xjdzc_|j�d��dS)Nrry)r�r6r�rs  rI�depart_sectionzHTMLTranslator.depart_section�s2�����a�����	����$�$�$�$�$rJc�t�|j�|�|dd�����d|_dS)Nrr�sidebarr;T)r6r�r�r�rs  rI�
visit_sidebarzHTMLTranslator.visit_sidebar�s<���	����M�M�$��Y�M�7�7�	9�	9�	9�����rJc�H�|j�d��d|_dS)NryF)r6r�r�rs  rI�depart_sidebarzHTMLTranslator.depart_sidebar�s#���	����$�$�$�����rJc�6�|�|dd���dS)N�statusFr"rLrs  rI�visit_statuszHTMLTranslator.visit_status�s#������h�U��;�;�;�;�;rJc�.�|���dSrDrOrs  rI�
depart_statuszHTMLTranslator.depart_status�rQrJc�d�|j�|�|dd����dS)N�strongr-rrs  rI�visit_strongzHTMLTranslator.visit_strong�s.���	������t�X�r�:�:�;�;�;�;�;rJc�:�|j�d��dS)Nz	</strong>rrs  rI�
depart_strongzHTMLTranslator.depart_strong�s���	����%�%�%�%�%rJc�d�|j�|�|dd����dS)Nr�r-rrs  rI�visit_subscriptzHTMLTranslator.visit_subscript��.���	������t�U�B�7�7�8�8�8�8�8rJc�:�|j�d��dS)Nz</sub>rrs  rI�depart_subscriptzHTMLTranslator.depart_subscript�rprJc��tj�)zInternal only.�rr�rs  rI�visit_substitution_definitionz,HTMLTranslator.visit_substitution_definition��
���n�rJc�0�|�|��dSrD)�unimplemented_visitrs  rI�visit_substitution_referencez+HTMLTranslator.visit_substitution_reference�s��� � ��&�&�&�&�&rJc�p�t|jtj��rdg}nat|jtj��r dg}t|j��dz|_n"t|jtj��rdg}|j�	|�
|dd|�����dS)Nzsidebar-subtitler9rzsection-subtitler9r-r0)r�rErr6rMr�r6r�r1r�r�r�s   rI�visit_subtitlezHTMLTranslator.visit_subtitle�s����d�k�5�=�1�1�	+�)�*�G�G�
���U�^�
4�
4�	+�!�l�G�%(���^�^�a�%7�D�"�"�
���U�]�
3�
3�	+�)�*�G��	������t�S�"�g��F�F�G�G�G�G�GrJc�L�|j�d��t|jtj��rj|j|jd�|_d|_|j�	|j��|j
�	|j��|jdd�=dSdS)Nr@r�r)r6r�r�rErrMr�r9r4r�rArs  rI�depart_subtitlezHTMLTranslator.depart_subtitle�s����	����"�"�"��d�k�5�>�2�2�	� �I�d�&<�R�&?�@�D�M�%&�D�"��!�(�(���3�3�3���%�%�d�i�0�0�0��	�!�!�!����	�	rJc�d�|j�|�|dd����dS)N�supr-rrs  rI�visit_superscriptz HTMLTranslator.visit_superscript�rFrJc�:�|j�d��dS)Nz</sup>rrs  rI�depart_superscriptz!HTMLTranslator.depart_superscript�rprJc
�~�|j�|�|dd�����|j�d��d}t|d��ri|d}t|��dkrd|d	z}nBd}g}|D]#}|�d
|�d|�d���|dz
}�$d
d�|��z}|�d��rd|dz}nd}|j�d|d�d|d�d|�|d���d|�d|�d���dS)Nr.zsystem-messager;z <p class="system-message-title">r-r�rz%; <em><a href="#%s">backlink</a></em>rz
<a href="#r�rKz; <em>backlinks: %s</em>r�r�z	, line %szSystem Message: rvr[�levelz! (<span class="docutils literal">r�r�r7r@)r6r�r�r�rerr�)rHr��backref_textr�r!r��backrefr�s        rIr�z#HTMLTranslator.visit_system_messages����	������t�W�<L��M�M�N�N�N��	���;�<�<�<����t�J�� � �	8��J�'�H��8�}�}��!�!� G�"*�1�+�!.������	�'���G��$�$�$�w�w�w����%J�K�K�K���F�A�A� :�"&�)�)�I�"6�"6�!7���<�<����	���f��-�D�D��D��	���� ��L�L�L�$�w�-�-�-� �K�K��X��7�7�7�7����|�|�|�M�	N�	N�	N�	N�	NrJc�:�|j�d��dSr3rrs  rIr�z$HTMLTranslator.depart_system_messagerrJc�4�d|jj�dd�����i}d|vr$|d�d|dz��d|vrd|dz|d<|j|d	fi|��}|j�|��dS)
Nr�r�r�r6r_r5z
width: %s;r�r�)r\r�r�rur�r�r6)rHr�r�rs    rI�visit_tablezHTMLTranslator.visit_tables����4�=�4�<�<�S�#�F�F�L�L�N�N�O���d�?�?���O�"�"�:��W�
�#=�>�>�>��d�?�?�(�4��=�8�D��M��d�m�D�'�2�2�T�2�2���	��������rJc�:�|j�d��dS)Nz	</table>
rrs  rI�depart_tablezHTMLTranslator.depart_table'rrJc���d|vrUd|vrQd|vrM|j�|�|ddd�����|j�d��dS|j�d��dS)	Nrr�r�r�r-�targetr;r�)r6r�r�r�rs  rI�visit_targetzHTMLTranslator.visit_target*s����D� � ��4�'�'��T�)�)��I���T�]�]�4���8�]�L�L�M�M�M��L���	�*�*�*�*�*��L����#�#�#�#�#rJc�h�|j�|j�����dSrDrArs  rI�
depart_targetzHTMLTranslator.depart_target3rrJc�b�|j�|�|d����dS)N�tbodyrrs  rI�visit_tbodyzHTMLTranslator.visit_tbody7�,���	������t�W�5�5�6�6�6�6�6rJc�:�|j�d��dS)Nz	</tbody>
rrs  rI�depart_tbodyzHTMLTranslator.depart_tbody:rrJc
� �d|jjdvr1|j�|�|dd����dS|j�|�|dd|jd|jd�����dS)Nr�r��summaryr-r+r�)r�r�r�rs  rI�
visit_termzHTMLTranslator.visit_term=s������*�9�5�5�5��I���T�]�]�4��B�?�?�@�@�@�@�@�
�I���T�]�]�4��r�37�;�y�3I�/3�{�5�/A�+�C�C�
D�
D�
D�
D�
DrJc��dSrDrzrs  rI�depart_termzHTMLTranslator.depart_termFs	��	
�rJc�"�g|_g|_dSrD)r�r�rs  rI�visit_tgroupzHTMLTranslator.visit_tgroupKs����
���
�
�
rJc��dSrDrzrs  rI�
depart_tgroupzHTMLTranslator.depart_tgroupOrrJc�b�|j�|�|d����dS)Nrrrs  rI�visit_theadzHTMLTranslator.visit_theadRrjrJc�:�|j�d��dS)Nz	</thead>
rrs  rI�depart_theadzHTMLTranslator.depart_theadUrrJc�J�i}|j|jzdz
}dt|d��z}|dkr||d<|j||dfi|��}|�d��rDi}d|d<d	|d
<d|dz|d<||jtj��d
dfi|��z
}d|z}nd|z}||fS)Nrzh%i�z
aria-levelr-r�ztoc-backrefr�zdoc-backlinkrtr�r�r�z
</a></%s>
r)r�r��minr�rrrs)rHr�r��h_levelr��	start_tag�	close_tags       rI�section_title_tagsz!HTMLTranslator.section_title_tagsXs������$�t�'@�@�1�D���#�g�q�/�/�)���Q�;�;�!(�D���!�D�M�$���<�<�t�<�<�	��<�<�� � �	,��D�)�D��M�)�D��L���g��.�D��L�����u��'8�'8�#�r�J�J�T�J�J�J�I�%��/�I�I�!�G�+�I��)�#�#rJc�J�d}t|jtj��r3|j�|�|ddd������n�t|jtj��r3|j�|�|ddd������nbt|jtj��r3|j�|�|ddd������nt|jtj	��r2|j�|�|dd����d	}n�t|jtj
��rM|j�|�|d
dd�����d}t|j��|_nSt|jtj
��sJ�|�|��\}}|j�|��|j�|��dS)
Nr@r9r-ztopic-titler;z
sidebar-titlezadmonition-titlerlz</caption>
�h1r8z</h1>
)r�rEr�topicr6r�r�r6�
Admonitionr�rMr�r�r1r�r�)rHr�rr~s    rI�visit_titlezHTMLTranslator.visit_titleks����	��d�k�5�;�/�/�	(��I����
�
�d�C��=�
�A�A�
C�
C�
C�
C�
���U�]�
3�
3�	(��I����
�
�d�C��?�
�C�C�
E�
E�
E�
E�
���U�%5�
6�
6�	(��I����-�-��c�2�5G�-�H�H�
J�
J�
J�
J�
���U�[�
1�
1�	(��I����-�-��i��4�4�
6�
6�
6�&�I�I�
���U�^�
4�
4�	(��I���T�]�]�4��r��]�I�I�J�J�J�!�I�%(���^�^�D�"�"��d�k�5�=�9�9�9�9�9�#'�#:�#:�4�#@�#@� �I�y��I���Y�'�'�'�����I�&�&�&�&�&rJc�J�|j�|j�����|jrj|j|jd�|_d|_|j�|j��|j�|j��|jdd�=dSdS)Nr�r)	r6r�r�r�r�r8r4r�r@rs  rI�depart_titlezHTMLTranslator.depart_title�s����	�����)�)�+�+�,�,�,��!�	���4�#9�"�#<�=�D�J�%&�D�"��!�(�(���3�3�3��O�"�"�4�9�-�-�-��	�!�!�!����	�	rJc�d�|j�|�|dd����dS)N�citer-rrs  rI�visit_title_referencez$HTMLTranslator.visit_title_reference�r�rJc�:�|j�d��dS)Nz</cite>rrs  rI�depart_title_referencez%HTMLTranslator.depart_title_reference�rrJc�f�|j�|�|dd�����dS)Nrrr�r;rrs  rI�visit_topiczHTMLTranslator.visit_topic�s0���	������t�U�'��B�B�C�C�C�C�CrJc�:�|j�d��dSr�rrs  rI�depart_topiczHTMLTranslator.depart_topic�r�rJc�f�|j�|�|dd�����dS)N�hrrhr;)r6r�rrs  rI�visit_transitionzHTMLTranslator.visit_transition�s0���	������t�T���D�D�E�E�E�E�ErJc��dSrDrzrs  rI�depart_transitionz HTMLTranslator.depart_transition�rrJc�6�|�|dd���dS)NrdFr"rLrs  rI�
visit_versionzHTMLTranslator.visit_version�r�rJc�.�|���dSrDrOrs  rI�depart_versionzHTMLTranslator.depart_version�rQrJc�:�td|jjz���)Nz$visiting unimplemented node type: %s)�NotImplementedError�	__class__rors  rIrNz"HTMLTranslator.unimplemented_visit�s$��!�"H�$(�N�$;�#<�=�=�	=rJrD)rcF)rc)r)T)r-)�rorprq�__doc__r.r�r�r�r�r�r�r�r�r�rn�compiler�r�r��ordr�r�r�r�r�r�r�r�r�rrr
rrrrrr'r,r1r5r<r=rBrGrJrMrPrTrVr[rcrhrjrmrorwrr�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�r&r+r�r�r�rrrrrrrr#r%r'r)r,r.r0r2r7r9r<r?rDrFrIrLrPrRrTrVr�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�r�r�r�r�rrrrr	rr
rrrrrr r#r%r(r*r-r/r2r4r7r9r<r>rArCrErHrKrOrQrSrVrXr�r�r_rardrfrirlrorqrsrurwryr�r�r�r�r�r�r�r�r�r�r�rNrzrJrIr|r|�s
������6�6�p?�O�!�G��N�N��,�L�:�I�K�N�A�K��N�O�E��!�r�z�"2�3�3��#���$6�7�7���N��#�c�(�(�G��#�c�(�(�F��#�c�(�(�H��#�c�(�(�F��#�c�(�(�G�	��N�G�G�G�R7�7�7�7�7�7�'�'�'�7�7�7�%�"�*�^�4�4�����8�8�8�8�*@N�@N�@N�@N�DN�N�N�N�
(�
(�
(�
(�"�"�"�
�
�
�:�:�:�$�$�$�=�=�=�'�'�'�D�D�D�
#�#�#�O�O�O�'�'�'�'�$2�*4�%/�#+�-�-��
C�C�C�8�8�8� � � �
'�'�'�1�1�1�#�#�#�<�<�<�,�,�,����",�,�,�&<�<�<�$�$�$�H�H�H�#�#�#�@�@�@�)�)�)�
>�
>�
>�"�"�"�N�N�N�$�$�$�>�>�>�
*�*�*�$%�"�*�X�.�.�2�����G�G�G�%�%�%�D�D�D�%�%�%�=�=�=�#�#�#�3�3�3�#�#�#�.�.�.�#�#�#�
�
�
�
�
�
�<�<�<�(�(�(�I�I�I�
(�(�(�
E�E�E�-�-�-�8�8�8�$�$�$�E�E�E����D�D�D�D�$�$�$�O�O�O�'�'�'�E�E�E�
I�I�I�28�8�8�"�"�"�9�9�9�(-�-�-�<�<�<�$�$�$�<�<�<�$$�$�$�
�
�
�
�
�
�H�H�H�@�@�@�(�(�(�$�$�$�=�=�=�%�%�%�,�,�,����	5�	5�	5�+�+�+�>�>�>�!�!�!�
!�!�!�
�
�
�,�,�,����O�O�O�b
�
�
�:�:�:�$�$�$�?�?�?�4�4�4�E�E�E�%�%�%�'�'�'�
%�%�%�I�I�I�%�%�%�8�8�8�$�$�$����0$�$�$�'�'�'�
%�%�%�4�/�*�3���I�h�h�h�h�T
�
�
�1�1�1�
�
�
�
���
�
�
����J�J�J�#�#�#�9�9�9�#�#�#�"�"�"�*�*�*�<�<�<�$�$�$�
�
�
�
�
�
�
�
�
�
�
�
�6�6�6�#�#�#�$7�7�7�#�#�#�O�O�O�-�-�-����?�?�?�*���>�>�>�#�#�#����$�$�$�G�G�G�#�#�#�9�9�9�
%�%�%�
���
 � � �<�<�<�#�#�#�<�<�<�&�&�&�9�9�9�#�#�#����'�'�'�H�H�H����9�9�9�#�#�#�N�N�N�4'�'�'����'�'�'�$�$�$�-�-�-�7�7�7�'�'�'�D�D�D�
�
�
�
���
�
�
�7�7�7�'�'�'�$�$�$�&'�'�'�8���:�:�:�$�$�$�D�D�D�%�%�%�F�F�F�
�
�
�=�=�=�#�#�#�=�=�=�=�=rJr|c��eZdZdZd�Zd�Zd�Zd�ZeZeZ	eZ
eZeZeZ
eZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZ eZ!eZ"dS)rXa
    Raise `nodes.NodeFound` if non-simple list item is encountered.

    Here "simple" means a list item containing nothing other than a single
    paragraph, a simple list, or a paragraph followed by a simple list.

    This version also checks for simple field lists and docinfo.
    c��tj�rD)rrZrs  rI�
default_visitzSimpleListChecker.default_visit�s
���o�rJc��d�|jD��}|r�t|dtj��rtt|dtj��s@t|dtj��s t|dtj��r|���t|��dkrdStj	�)Nc�F�g|]}t|tj���|��Srzr)r�r
s  rIr�z5SimpleListChecker.visit_list_item.<locals>.<listcomp>�s8��?�?�?�e�%�e�U�_�=�=�?�E�?�?�?rJrr�r)
r	r�r�	paragraphrbrar_r�r�rZ)rHr�r	s   rIr�z!SimpleListChecker.visit_list_item�s���?�?�t�}�?�?�?���	��H�Q�K���A�A�	��H�R�L�%�*;�<�<�	��x��|�U�-B�C�C�	��x��|�U�-=�>�>�	�
�L�L�N�N�N��x�=�=�A����F��/�!rJc��dSrDrzrs  rI�	pass_nodezSimpleListChecker.pass_node�rrJc��tj�rDrJrs  rI�ignore_nodezSimpleListChecker.ignore_node�rLrJN)#rorprqr�r�r�r�r�r
r
rhrr�rGrMr'r�r�r�r	r<r�r�r�ror�r�r#r'r0r,r�rKrd�
visit_pendingrzrJrIrXrX�s������������"�"�"�
�
�
����
�J�!�O�"��%���M��L�#�M�#�M��M�!�O��J�$���L�#�M�&��!*���J� ��&��!���K�&��"�� �M�$/�!��L��M�M�MrJrX) r�rtrhr��os.pathrn�urllib.requestrr�rhrrrrr�docutils.parsers.rst.directivesr	�&docutils.parsers.rst.directives.imagesr
�docutils.transformsr�docutils.utils.mathrr
rrrrr�r|�GenericNodeVisitorrXrzrJrI�<module>r�s���"3�2�
�
�
�
�����	�	�	�	�����	�	�	�	�'�'�'�'�'�'���������?�?�?�?�?�?�?�?�?�?�?�?�?�?�L�L�L�L�L�L�6�6�6�6�6�6�*�*�*�*�*�*�M�M�M�M�M�M�M�M�M�M�M�M�M�M�K<�K<�K<�K<�K<�W�^�K<�K<�K<�\x=�x=�x=�x=�x=�U�&�x=�x=�x=�v/H �H �H �H �H ��0�H �H �H �H �H rJ

Youez - 2016 - github.com/yon3zu
LinuXploit