403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/cygwin64/lib/python3.9/site-packages/sphinx/builders/html/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/cygwin64/lib/python3.9/site-packages/sphinx/builders/html/__pycache__/__init__.cpython-39.pyc
a

�abG��@s�dZddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZddlmZddlmZddlmZdd	lmZdd
lmZmZddlmZddlm Z dd
l!m"Z"m#Z#ddl!m$Z%ddl&m'Z'ddl(m)Z)ddl*m+Z+m,Z,ddl-m.Z.m/Z/m0Z0ddl1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8m9Z9ddl:m;Z;ddl<m=Z=m>Z>ddl?m@Z@ddlAmBZBddlCmDZDmEZEmFZFmGZGmHZHddlImJZJmKZKddlLmMZMddlNmOZOddlPmQZQdd lRmSZSmTZTmUZUdd!lVmWZWmXZXmYZYmZZZdd"l[m\Z\dd#l]m^Z^m_Z_eJ��r:dd$l`maZad%Zbnd&Zbd'ZceE�dee�Zfe�gd(�Zhe
eid)�d*d+�ZjGd,d-�d-ei�ZkGd.d/�d/ei�ZlGd0d1�d1�ZmGd2d3�d3e)�Zne'e,dd4�d5d6�Zoe'e,dd4�d7d8�Zpe'eieieedd9�d:d;�Zqe'eieieedd9�d<d=�Zre'eieieedd9�d>d?�Zse'dd@�dAdB�Zte'e,dd4�dCdD�Zue'e,dd4�dEdF�Zve'e,dd4�dGdH�Zwe'e,dd4�dIdJ�ZxGdKdL�dL�Zyey�Zze'e,dd4�dMdN�Z{ddl|Z}ddl~Z!ddlZ!e'eeie
fd@�dOdP�Z�dS)Qz�
    sphinx.builders.html
    ~~~~~~~~~~~~~~~~~~~~

    Several HTML builders.

    :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�datetime)�path)	�IO�Any�Dict�Iterable�Iterator�List�Set�Tuple�Type)�quote)�nodes)�
publish_parts)�OptionParser)�DocTreeInput�StringOutput)�Node)�
relative_path)�__display_version__�package_dir)�version_info)�Sphinx)�Builder)�ENUM�Config)�Domain�Index�
IndexEntry)�ImageAdapter)�IndexEntries)�TocTree)�ConfigError�
ThemeError)�PygmentsBridge)�_�__)�js_index)�HTMLThemeFactory)�isurl�logging�md5�progress_message�status_iterator)�is_html5_writer_available�new_document)�
copy_asset)�format_date)�
InventoryFile)�DOTFILES�Matcher�patmatch)�copyfile�	ensuredir�os_path�relative_uri)�Tags)�HTMLTranslator�
HTMLWriter)�HTML5TranslatorTFzobjects.invz[
]+)�obj�returncCsNt|t�rtt|����St|ttf�r:tdd�|D��}tt|��	���
�S)z�
    Return a stable hash for a Python data structure.  We can't just use
    the md5 of str(obj) since for example dictionary items are enumerated
    in unpredictable order due to hash randomization in newer Pythons.
    css|]}t|�VqdS�N)�get_stable_hash)�.0�o�rD�A/usr/lib/python3.9/site-packages/sphinx/builders/html/__init__.py�	<genexpr>K�z"get_stable_hash.<locals>.<genexpr>)�
isinstance�dictrA�list�items�tuple�sortedr+�str�encodeZ	hexdigest)r>rDrDrErABs

rAc@sZeZdZUdZdZeeefed<dZeed<dZ	e
ed<dd�eee
edd�d	d
�ZdS)�
Stylesheetz�A metadata of stylesheet.

    To keep compatibility with old themes, an instance of stylesheet behaves as
    its filename (str).
    N�
attributes�filename�priority���rS)rR�argsrSrQr?cOs^t�||�}||_||_||_|j�dd�|j�dd�|rZ|d|jd<|d|jd<|S)N�rel�
stylesheet�typeztext/cssr��title)rN�__new__rRrSrQ�
setdefault)�clsrRrSrVrQ�selfrDrDrEr\ZszStylesheet.__new__)
�__name__�
__module__�__qualname__�__doc__rQrrN�__annotations__rRrS�intrr\rDrDrDrErPOs
�rPc@sTeZdZUdZdZeeefed<dZeed<dZ	e
ed<d
ee
edd�dd	�ZdS)�
JavaScriptz�A metadata of javascript file.

    To keep compatibility with old themes, an instance of javascript behaves as
    its filename (str).
    NrQrRrSrT)rRrSrQr?cKs"t�||�}||_||_||_|Sr@)rNr\rRrSrQ)r^rRrSrQr_rDrDrEr\ts
zJavaScript.__new__)rT)r`rarbrcrQrrNrdrRrSrer\rDrDrDrErfis

rfc@sdeZdZdZeedd�dd��Zddgfeee	e
dd�dd�Zded	�d
d�Z
edd�dd
�ZdS)�	BuildInfoz�buildinfo file manipulator.

    HTMLBuilder and its family are storing their own envdata to ``.buildinfo``.
    This class is a manipulator for the file.
    ��fr?c
Cs�zx|��}|d��dksJ�|d�d�s0J�|d�d�sBJ�t�}|d��d��|_|d��d��|_|WSty�}zt	t
d�|�|�WYd}~n
d}~00dS)	Nrz# Sphinx build info version 1�zconfig: �ztags: rZzbuild info file is broken: %r)�	readlines�rstrip�
startswithrg�split�strip�config_hash�	tags_hash�	Exception�
ValueErrorr&)r^ri�lines�
build_info�excrDrDrE�load�szBuildInfo.loadN)�config�tags�config_categoriesr?cCsDd|_d|_|r.dd�|�|�D�}t|�|_|r@tt|��|_dS)N�cSsi|]}|j|j�qSrD)�name�value)rB�crDrDrE�
<dictcomp>�rGz&BuildInfo.__init__.<locals>.<dictcomp>)rqrr�filterrArM)r_ryrzr{�valuesrDrDrE�__init__�s
zBuildInfo.__init__)�otherr?cCs|j|jko|j|jkSr@)rqrr)r_r�rDrDrE�__eq__�s
�zBuildInfo.__eq__cCs|�d|j|jf�dS)Nz�# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: %s
tags: %s
)�writerqrr�r_rirDrDrE�dump�s
�zBuildInfo.dump)r`rarbrc�classmethodrrxrr:r	rNr��boolr�r�rDrDrDrErg}s rgc	s@eZdZUdZdZdZed�ZdZdZ	dZ
dZeZ
eed<dZdZgd�ZdZdZdZdZdZd	ZdZd	ZdZd
Zeed<gZee ee!e"ee eee#fe$fed<e%d
d
��fdd�Z&d
d�dd�Z'e(d�dd�Z)ed�dd�Z*ed�dd�Z+e ee,fd�dd�Z-d
d�dd�Z.d
d�dd�Z/d
d�dd �Z0eed
d!�d"d#�Z1d
d�d$d%�Z2eed
d!�d&d'�Z3e4e!e5j6d�d(d)��Z7e4ed�d*d+��Z8e9ed�d,d-�Z:eed�d.d/�Z;e<e,eefd0�d1d2�Z=e>ed
d3�d4d5�Z?eeee,eefd6�d7d8�Z@ee5jAd
d9�d:d;�ZBee5jAd
d9�d<d=�ZCd
d�d>d?�ZDeEed@��d
d�dAdB��ZFd
d�dCdD�ZGeEedE��d
d�dFdG��ZHd
d�dHdI�ZId
d�dJdK�ZJd
d�dLdM�ZKd
d�dNdO�ZLd
d�dPdQ�ZMd
d�dRdS�ZNd
d�dTdU�ZOe,d
dV�dWdX�ZPe,d
dV�dYdZ�ZQd
d�d[d\�ZRd
d�d]d^�ZSd
d�d_d`�ZTd
d�dadb�ZUd
d�dcdd�ZVd
d�dedf�ZWe<d
dg�dhdi�ZXeYed
d3�djdk�ZZee5jAed
dl�dmdn�Z[d�ee$eedo�dpdq�Z\eedr�dsdt�Z]ee,d
du�dvdw�Z^d�eeedx�dydz�Z_d�ee,eeed
d|�d}d~�Z`eee,ed
d�d�d��Zad
d�d�d��ZbeEed���d
d�d�d���Zcd
d�d�d��Zd�ZeS)��StandaloneHTMLBuilderz&
    Builds standalone HTML docs.
    �htmlz!The HTML pages are in %(outdir)s.Tz.html�indexer_format)z
image/svg+xmlz	image/pngz	image/gifz
image/jpegzsearchindex.jsFN�imgpath�domain_indices��appr?cst��|�g|_g|_dSr@)�superr��	css_files�script_files)r_r���	__class__rDrEr��szStandaloneHTMLBuilder.__init__)r?cCs�|��|_d|_i|_d|_|��|��|��|��|�	dd�}|durV||_
|�	dd�}|durr||_n|j
|_|�	dd�|_dS)N�_images�file_suffixr��link_suffix�	use_index)
�create_build_inforv�imagedir�
secnumbers�current_docname�init_templates�init_highlighter�init_css_files�
init_js_files�get_builder_config�
out_suffixr�r�)r_�html_file_suffix�html_link_suffixrDrDrE�init�s 
zStandaloneHTMLBuilder.initcCst|j|jdg�S)Nr�)rgryrz�r_rDrDrEr��sz'StandaloneHTMLBuilder.create_build_infocsb�fdd��jjD�t�td�jjdd�t�tjd�jjd�g}|D]}t�|�rF|SqFdS)Ncs g|]}t�|�jjdd��qS)�LC_MESSAGES�	sphinx.js)r�joinry�language)rB�dirr�rDrE�
<listcomp>�s��z>StandaloneHTMLBuilder._get_translations_js.<locals>.<listcomp>�localer�r�zshare/sphinx/locale)	ryZlocale_dirsrr�rr��sys�prefix�isfile)r_Z
candidates�jsfilerDr�rE�_get_translations_js�s
��
���

z*StandaloneHTMLBuilder._get_translations_jscCs0|jjdur|jjS|jr(|j�dd�SdSdS)N�themerXzdefault.css)ry�
html_styler��
get_configr�rDrDrE�_get_style_filename�s
z)StandaloneHTMLBuilder._get_style_filenamecCs|jj|jjfSr@)ry�
html_theme�html_theme_optionsr�rDrDrE�get_theme_configsz&StandaloneHTMLBuilder.get_theme_configcCsHt|j�}|��\}}|�|�|_|��|_|��|j�	||j�dSr@)
r(r�r�Zcreater��copy�
theme_optionsZcreate_template_bridge�	templatesr�)r_Z
theme_factoryZ	themenameZthemeoptionsrDrDrEr�	s

z$StandaloneHTMLBuilder.init_templatescCs�|jjdur|jj}n|jr.|j�ddd�}nd}td|�|_|jrV|j�ddd�}nd}|dur�td|�|_|jjddd	d
�nd|_dS)Nr��pygments_styleZnone�sphinxr�Zpygments_dark_style�pygments_dark.cssz(prefers-color-scheme: dark)Zpygments_dark_css)Zmedia�id)	ryr�r�r�r$�highlighter�dark_highlighterr��add_css_file)r_�styleZ
dark_stylerDrDrEr�s 
�z&StandaloneHTMLBuilder.init_highlightercCs�g|_|jddd�|j|��dd�|jjjD]\}}|j|fi|��q0|�dd�D]&\}}|�dd�|j|fi|��qXdS)N�pygments.css��rUr�r�rS� )r�r�r�r��registryr�r]�r_rR�attrsrDrDrEr�(sz$StandaloneHTMLBuilder.init_css_files)rR�kwargsr?cKs0d|vrt�d|�}|j�t|fi|���dS�N�://�_static)�	posixpathr�r��appendrP�r_rRr�rDrDrEr�4sz"StandaloneHTMLBuilder.add_css_filecCs�g|_|jddddd�|jddd�|jddd�|jd	dd�|jjjD]\}}|j|fi|��qL|�d
d�D]&\}}|�dd
�|j|fi|��qt|jjr�|�	�r�|�d�dS)Nzdocumentation_options.jsZdocumentation_optionsr|r�)r��
data_url_rootrSz	jquery.jsrUz
underscore.jszdoctools.js�js_filesr�rSr��translations.js)
r��add_js_filer�r�r�r�r]ryr�r�r�rDrDrEr�:s�z#StandaloneHTMLBuilder.init_js_filescKs4|rd|vrt�d|�}|j�t|fi|���dSr�)r�r�r�r�rfr�rDrDrEr�Lsz!StandaloneHTMLBuilder.add_js_filecCstr|jjrtStSdSr@)�html5_readyry�html4_writerr;r=r�rDrDrE�default_translator_classRsz.StandaloneHTMLBuilder.default_translator_classcCs`|�dd�}|dur|St|jjj�}t|�dkr:|dSt|�dkrX|�d�|dSdSdS)NZ
math_rendererr�rZrrjZmathjax)r�rJr�r��html_inline_math_renderers�len�remove)r_r}Z	renderersrDrDrE�math_renderer_nameYs
z(StandaloneHTMLBuilder.math_renderer_namec	cs�zhtt�|jd���}t�|�}Wd�n1s40Y|j|krft�d�|j	j
EdHWdSWnDty�}zt�t
d�|�WYd}~nd}~0ty�Yn0|jr�|j��}nd}|j	j
D]�}||j	jvr�t�d|�|Vq�|�|�}zt�|�}Wnt�y d}Yn0z`tt�|j	�|��|�}||k�r�t�d|t�|�t�|�|t�t�|j	�|����|VWq�t�y�Yq�0q�dS)N�
.buildinfoz)[build target] did not match: build_info z"Failed to read build info file: %rrz![build target] did not in env: %rz>[build target] targetname %r(%s), template(%s), docname %r(%s))�openrr��outdirrgrxrv�logger�debug�envZ
found_docsrt�warningr&�OSErrorr�Znewest_template_mtime�all_docs�get_outfilename�getmtimers�max�doc2pathrZutcfromtimestamp)	r_�fpZ	buildinforwZtemplate_mtime�docnameZ
targetnameZtargetmtimeZsrcmtimerDrDrE�get_outdated_docsmsP(


$

�
�
z'StandaloneHTMLBuilder.get_outdated_docscCs|jj|jjSr@)ry�html_extra_path�html_static_pathr�rDrDrE�get_asset_paths�sz%StandaloneHTMLBuilder.get_asset_paths)�noder?cCs@|durddiStd�}|�|�t|�}td|tddi|d�S)	z$Utility: Render a lone doctree node.N�fragmentr|z<partial node>�doctreeZoutput_encodingZunicode)Zreader_name�writerZsource_classZsettings_overrides�source)r/r�r<rr)r_r��docr�rDrDrE�render_partial�s
�z$StandaloneHTMLBuilder.render_partial)�docnamesr?cCs�d|_|jrTddlm}|jjp&|jj}|s0d}||j||jj|jj	�|_|�
|�t|�|_t
|jj|jfdd���|_t|jj�|j_g|_|jj}|�rt|jj�D]h}|jj|}|jD]P}d|j|jf}t|t�r�||vr�q�||���\}	}
|	r�|j�|||	|
f�q�q�|jj}|du�rDt|�p4t d�|jjd�|_!nd|_!|jj"�pVd	}|jj#�pdd	}
t$|��szt%�&|�}t$|
��s�t%�&|
�}
|j�'�|_(g}|j)�r�|�d
t d�dt d
�f�|jD],\}}}}|j*�r�|�||j+d	|j*f��q�t|j,�|_-t|j.�|_/|j0|jj1t2�3d	|jj4�|jj5|j!|jj6|jj7|jj7|jj8|jj9|jj:|jj;|jj<|jj=|jj>|jj?|j@|jA|j,|jj|j.tBtC|�D�||jg||
tE�o�|jjFd�|_G|jH�r�|jG�Idd�|jH�J|jK��L�D��|jG�I|jjM�dS)Nr)�IndexBuilder�enT)�defaults�
componentsZread_config_filesz%s-%sz	%b %d, %Y)r�r|�genindexz
General Index�I�index)�embedded�project�release�version�last_updated�	copyrightZ
master_doc�root_docZuse_opensearchZ	docstitleZ
shorttitleZshow_copyrightZshow_sphinxZ
has_sourceZshow_sourceZsourcelink_suffixr�r�r�r�r��sphinx_versionZsphinx_version_tupler��rellinks�builder�parents�logo�faviconZ
html5_doctypecss|]\}}d||fVqdS)Ztheme_NrD)rB�key�valrDrDrErFsz8StandaloneHTMLBuilder.prepare_writing.<locals>.<genexpr>)N�indexer�search�
sphinx.searchr�ry�html_search_languager�r��html_search_options�html_search_scorer�load_indexerr<�	docwriterr�settingsZget_default_values�docsettingsr��html_compact_listsZ
compact_listsr��html_domain_indicesrMZdomains�indicesr}rHrJZgenerater��html_last_updated_fmtr1r%r�	html_logo�html_faviconr)r�basenameZcollect_relations�	relationsr�Z	shortname�	localnamer��
_script_filesr��
_css_filesrr�return_codes_re�subrrrr�html_use_opensearch�
html_title�html_short_title�html_show_copyright�html_show_sphinx�html_copy_source�html_show_sourcelink�html_sourcelink_suffixr�r�rrr�r�r��
globalcontextr��updateZget_optionsr�rK�html_context)r_r�r��langZindices_configZdomain_name�domain�indexcls�	indexname�content�collapseZlufmtrr
r	Z_contentZ	_collapserDrDrE�prepare_writing�s��

�


�
�





�
� �z%StandaloneHTMLBuilder.prepare_writing)r��body�metatagsr?c
Cs`d}}g}|jddd�}|j�|�}|jj}	|r�|dr�zJ|�||d�|�|	|d�dd�}|�|d|ddtd�f�Wnt	y�d}Yn0|�r|d�rzJ|�||d�|�|	|d�dd�}|�|d|dd	td
�f�Wnt	�yd}Yn0|�r�|d�r�z2|�|�||d�|�|	|d�dd��Wnt	�yjYn0|j�|d�}�q|�r�|�
�|��|jj�|�}
|
�r�|�|
�dnd}|j�
|d
�t|�d�}|jj�r||}
||jjk�r|
|jj7}
nd}
|jj�|�}t|j��||�}|�|�d}|||||||||
||jj|dk|d�S)z1Collect items for the template context of a page.Nr	rjr[)�linkr[�N�nextrZ�PZpreviousrr|Fr�)r�prevr=r[�metar9r:r	�
sourcename�tocZdisplay_tocZpage_source_suffix)r/r!�getr��titlesZget_relative_urir�r�r%�KeyError�pop�reverse�
longtitlesr�r�ryr,r.�metadatar!Zget_toc_forZtoc_num_entries)r_r�r9r:r?r=rr	ZrelatedrD�
title_noder[Z
source_suffixrAr@Zself_tocrBrDrDrE�get_doc_contextst�"
�"
��
�z%StandaloneHTMLBuilder.get_doc_context)r�r�r?cCs�tdd�}|j|_|jj�|i�|_|jj�|i�|_t	|�
|�d�|_t	|�
|�d�|_||_
|j�||�|j��|jjd}|jj}|�|||�}|j|||d�dS)N�utf-8��encodingr��
_downloadsr�)�	event_arg)rrrr�Ztoc_secnumbersrCr�Ztoc_fignumbersZ
fignumbersr9�get_target_urir�Zdlpathr�rr�Zassemble_parts�partsZ
clean_metarK�handle_page)r_r�r�Zdestinationr9r:�ctxrDrDrE�	write_docis

zStandaloneHTMLBuilder.write_doccCsTt|�|�|j�|_|�|�|jj�|�}|r>|�|�dnd}|�	|||�dS)Nr[r|)
r9rQr�r��post_process_imagesr�rHrCr��
index_page)r_r�r�rJr[rDrDrE�write_doc_serializedzs

z*StandaloneHTMLBuilder.write_doc_serializedcCs||j�|j�|j�|j�|j�|j�|j�|j�|j�|j�|j�|j�|j�|j�|j�|j	�|�
�dSr@)�finish_tasks�add_task�gen_indices�gen_pages_from_extensions�gen_additional_pages�copy_image_files�copy_download_files�copy_static_files�copy_extra_files�write_buildinfo�
handle_finishr�rDrDrE�finish�szStandaloneHTMLBuilder.finishzgenerating indicescCs|jr|��|��dSr@)r��write_genindex�write_domain_indicesr�rDrDrEr[�sz!StandaloneHTMLBuilder.gen_indicescCs4|j�d�D]"}|D]\}}}|�|||�qqdS)N�html-collect-pages)Zevents�emitrS)r_Zpagelist�pagename�context�templaterDrDrEr\�sz/StandaloneHTMLBuilder.gen_pages_from_extensionszwriting additional pagescCs�|jj��D](\}}tj|ddd�|�|i|�q|jrXtjddd�|�did�|jjr�|jr�tjddd�t�	|j
dd	�}|jd
id	|d�dS)N� T�Znonlzsearch rzsearch.htmlzopensearch r�zopensearch.xmlZ
opensearch)�outfilename)ry�html_additional_pagesrKr��inforSrr'rr�r�)r_rirk�fnrDrDrEr]�sz*StandaloneHTMLBuilder.gen_additional_pagesc	Cs�t|j��|�}g}|D] \}}|�tdd�|D���q|||jjd�}tjddd�|jjr�|�	d|d�|�	d	|d
�t
||�D],\\}}}||||d�}|�	d||d
�q�n|�	d|d
�dS)Ncss$|]\}\}}}dt|�VqdS)rZN)r�)rBr%ZsubitemsrDrDrErF�s�z7StandaloneHTMLBuilder.write_genindex.<locals>.<genexpr>)�genindexentriesZgenindexcountsZsplit_indexz	genindex Trmr�zgenindex-split.htmlzgenindex-allz
genindex.html)r�entries�countrrz	genindex-zgenindex-single.html)r r�Zcreate_indexr��sumry�html_split_indexr�rprS�zip)	r_r�ZindexcountsZ_krsZgenindexcontextrrtrTrDrDrEre�s4������z$StandaloneHTMLBuilder.write_genindexcCsF|jD]:\}}}}|j||d�}tj|ddd�|�||d�qdS)N)Z
indextitler6Zcollapse_indexrlTrmzdomainindex.html)r�r"r�rprS)r_r5r4r6r7ZindexcontextrDrDrErf�s�z*StandaloneHTMLBuilder.write_domain_indicescCs�|jr�t|jj�j}tt�|j|j	��t
|jtd�dt|j�|jj
|d�D]v}|j|}z&tt�|j|�t�|j|j	|��WqLty�}z(t�td�t�|j|�|�WYd}~qLd}~00qLdS)Nzcopying images... �brown��stringify_funczcannot copy image file %r: %s)�imagesrr�r�Zget_original_image_urir7rr�r�r�r-r&r��	verbosityr6�srcdirrsr�r�)r_rz�src�dest�errrDrDrEr^�s �

�
�z&StandaloneHTMLBuilder.copy_image_filescs�ttd��fdd�}�jjr�tt��jd��t�jjtd�dt	�jj��j
j|d�D]�}zBt��jd�jj|d�}tt�|��t
t��j|�|�WqVty�}z(t�td	�t��j|�|�WYd}~qVd}~00qVdS)
Nrhcst�j|�Sr@)rr})rir�rDrE�
to_relpath�sz=StandaloneHTMLBuilder.copy_download_files.<locals>.to_relpathrOzcopying downloadable files... rxryrZz$cannot copy downloadable file %r: %s)rNr�Zdlfilesr7rr�r�r-r&r�r�r|�dirnamer6r}r�r�r�)r_r�r~rr�rDr�rEr_�s�

�z)StandaloneHTMLBuilder.copy_download_filescCs�tt�|jdd�d�� }|�|j���Wd�n1s<0Y|jr�tt�|jdd�d�� }|�|j���Wd�n1s�0YdS)z!create a style file for pygments.r�r��wNr�)r�rr�r�r�r�Zget_stylesheetr�r�rDrDrE�create_pygments_style_file�s
.z0StandaloneHTMLBuilder.create_pygments_style_filecCs2|jjdur.|��}|r.t|t�|jdd��dS)z(Copy a JavaScript file for translations.Nr�r�)ryr�r�r6rr�r��r_r�rDrDrE�copy_translation_jssz)StandaloneHTMLBuilder.copy_translation_jsc
Csl|jdurht|jd�rD|j��D] }t|t�|jdt�|���q n$|j��}|rht|t�|jdd��dS)z#Copy a JavaScript file for stemmer.N�get_js_stemmer_rawcodesr�z_stemmer.js)	r�hasattrr�r6rr�r�r Zget_js_stemmer_rawcoder�rDrDrE�copy_stemmer_jss
 
z%StandaloneHTMLBuilder.copy_stemmer_js)rjr?c	Cs^ttdd�dd�}|jrZ|j��ddd�D],}tt�|d�t�|jd�t||j	|d�q,dS)N�rR�errorr?cSst�td�||�dS�Nz1Failed to copy a file in html_static_file: %s: %r�r�r�r&�rRr�rDrDrE�onerrors
�z>StandaloneHTMLBuilder.copy_theme_static_files.<locals>.onerror���Zstaticr�)�excludedrj�rendererr�)
rNrsr�Zget_theme_dirsr0rr�r�r3r�)r_rjr��entryrDrDrE�copy_theme_static_filess�z-StandaloneHTMLBuilder.copy_theme_static_filesc	Cs`ttdd�dd�}t|jjdg�}|jjD].}tt�|j	|�t�|j
d�|||j|d�q,dS)Nr�cSst�td�||�dSr�r�r�rDrDrEr�s
�z=StandaloneHTMLBuilder.copy_html_static_files.<locals>.onerrorz**/.*r�)rjr�r�)rNrsr4ry�exclude_patternsr�r0rr��confdirr�r�)r_rjr�r�r�rDrDrE�copy_html_static_filess
�z,StandaloneHTMLBuilder.copy_html_static_filescCs:|jjr6t|jj�s6tt�|j|jj�t�|jd��dS�Nr�)ryrr)r0rr�r�r�r�rDrDrE�copy_html_logo)s�z$StandaloneHTMLBuilder.copy_html_logocCs:|jjr6t|jj�s6tt�|j|jj�t�|jd��dSr�)ryrr)r0rr�r�r�r�rDrDrE�copy_html_favicon.s�z'StandaloneHTMLBuilder.copy_html_faviconc
Cs�z�ttd����tt�|jd��|j��}|jdurF|�	|j�
��|��|��|�
�|�|�|�|�|��|��Wd�n1s�0YWn4ty�}zt�td�|�WYd}~n
d}~00dS)Nzcopying static filesr�zcannot copy static file %r)r,r&r7rr�r�r/r�rr0Zcontext_for_searchtoolr�r�r�r�r�r�r�r�r�r�)r_rjr�rDrDrEr`3s



*z'StandaloneHTMLBuilder.copy_static_filesc
Cs�zfttd���Ft|jj�}|jjD] }t�|j|�}t	||j
|�q$Wd�n1sZ0YWn4ty�}zt�
td�|�WYd}~n
d}~00dS)zcopy html_extra_path files.zcopying extra filesNzcannot copy extra file %r)r,r&r4ryr�r�rr�r�r0r�r�r�r�)r_r��
extra_pathr�r�rDrDrEraGs2z&StandaloneHTMLBuilder.copy_extra_filesc
Cs~zDtt�|jd�d��}|j�|�Wd�n1s80YWn4tyx}zt�t	d�|�WYd}~n
d}~00dS)Nr�r�z#Failed to write build info file: %r)
r�rr�r�rvr�r�r�r�r&)r_r�rwrDrDrErbRs
.z%StandaloneHTMLBuilder.write_buildinfocCs|jr|j��dSr@)r��cleanupr�rDrDrEr�YszStandaloneHTMLBuilder.cleanup)r�r?cs�t�||�|jjr�|jr�|�tj�D]��t�fdd�dD��sDq&n t�j	tj
�rVq&nd�dvrdq&�d}tj
dddd	�}||jvr�t�
|j|j|�|d
<n||d
<��|�|���q&dS)zlPick the best candidate for an image and link down-scaled images to
        their high res version.
        c3s|]}|�vVqdSr@rD)rBr�r�rDrErFfrGz<StandaloneHTMLBuilder.post_process_images.<locals>.<genexpr>)Zscale�widthZheightzno-scaled-link�classes�urir|T)ZinternalZrefuriN)rrVry�html_scaled_image_link�findallrZimage�anyrH�parent�	referencer{r�r�r�Zreplace_selfr�)r_r�r�r�rDr�rErV^s$
�

z)StandaloneHTMLBuilder.post_process_imagesc	Cs�t|jj�t|�}z�t�|j|j�}|jrjt|dd�� }|j	�
||j�Wd�q�1s^0Yn:t|d�� }|j	�
||j�Wd�n1s�0YWn(tt
fy�|r�t�td��Yn0|j	�|�dS)NrLrM�rbzcsearch index couldn't be loaded, but not all documents will be built: the index will be incomplete.)�setr�r�rr�r��searchindex_filename�indexer_dumps_unicoder�rrxr�r�rtr�r�r&�prune)r_r�Zkeep�
searchindexfn�ft�fbrDrDrEr{s02z"StandaloneHTMLBuilder.load_indexer)rir�r[r?cCsd|jdur`|r`|jj|dd�}|jj�|i�}d|vrN|j�||dtd��n|j�||||�dS)N)�baseZnosearchr|)rr�r�rIrCZfeedr/)r_rir�r[rRrIrDrDrErW�sz StandaloneHTMLBuilder.index_page)r�r7r�r?cKsNd|vrd|d<|�d�dkr(|�d�|�t|j�j|||fi|���dS)NZ
includehiddenFZmaxdepthr|r�)rCrFr�r!r�Zget_toctree_for)r_r�r7r�rDrDrE�_get_local_toctree�s
���z(StandaloneHTMLBuilder._get_local_toctree)rir?cCst�|jt|�|j�Sr@)rr�r�r8r�)r_rirDrDrEr��sz%StandaloneHTMLBuilder.get_outfilename)rirTr?cCsttd�dd�}d}d}d}|jjdkrrz,|jj�dd�}|rRdd�|�d	�D�}Wq�tyngd
�}Yq�0n(|j�ddd�}|r�dd�|�d	�D�}|�	dd�}|�
�D]D\}	}
t||	�r�|r�||	�r�||�r�t�
td
�|||	�q�|	}|
}q�|dur�||d<||d<dS)N)�patternr?cst�fdd�dD��S)Nc3s|]}|�vVqdSr@rD)rB�char�r�rDrErF�rGzKStandaloneHTMLBuilder.add_sidebars.<locals>.has_wildcard.<locals>.<genexpr>z*?[)r�r�rDr�rE�has_wildcard�sz8StandaloneHTMLBuilder.add_sidebars.<locals>.has_wildcard�	alabasterr��sidebarscSsg|]}|���qSrD�rp�rBr}rDrDrEr��rGz6StandaloneHTMLBuilder.add_sidebars.<locals>.<listcomp>�,)z
about.htmlznavigation.htmlzrelations.htmlzsearchbox.htmlzdonate.htmlcSsg|]}|���qSrDr�r�rDrDrEr��rGr�z8page %s matches two patterns in html_sidebars: %r and %r�
customsidebar)rNr�r�r}ryrCrorsr�r�rKr5r�r�r&)r_rirTr�r�Zmatchedr�Ztheme_default_sidebars�
html_sidebarsr�ZpatsidebarsrDrDrE�add_sidebars�s:

�z"StandaloneHTMLBuilder.add_sidebars)r��typr?cCst|�|jSr@)r
r�)r_r�r�rDrDrErQ�sz$StandaloneHTMLBuilder.get_target_uri�	page.html)ri�addctx�templatenamernrPr?c
s��j��}�|d<|d<�jj|d<����}|�dd�d}�jjrdt��jj��j	�|d<nd|d<d|ft
tt
t
d	��fd
d�
}||d<t
td
��fdd�}	|	|d<��fdd�|d<���|�|�
|��j�jdd�<�j�jdd�<���|||��j�d�|||�}
|
�r$|
}z tt|d�dd�d�|d<Wnt�yXYn0z tt|d�dd�d�|d<Wnt�y�Yn0z�j�||�}Wn`t�y�t�td���YdSt�y}z"ttd��|f�|�WYd}~n
d}~00|�s�� ��}t!t"�#|��zDt$|d|ddd��}
|
�%|�Wd�n1�sZ0YWn8t&�y�}zt�td�||�WYd}~n
d}~00�j'�r�|�(d ��r�t"��j)d!t*|d ��}t!t"�#|��t+�j,�-��|�dS)"NriZcurrent_page_namerN�#rZrZpageurlF)�otheruri�resource�baseurir?csB|rd|vr|S|s��|�}t||�p*d}|dkr>�js>|}|S)Nr�r�)rQr9�allow_sharp_as_current_path)r�r�r�r�r�rDrE�pathto�s
z1StandaloneHTMLBuilder.handle_page.<locals>.pathtor�)r}r?cs>|�jjvrdS|dkr"�jr"dS|dkr:��dd�r:dSdS)NTrr�r�r�F)r�r�rr�)r}r�rDrE�hasdoc�sz1StandaloneHTMLBuilder.handle_page.<locals>.hasdocr�cs�j�fi|��Sr@)r�)r��rir_rDrE�<lambda>rGz3StandaloneHTMLBuilder.handle_page.<locals>.<lambda>Ztoctree�html-page-contextr�cSs|jSr@rU)�jsrDrDrEr�rG)rr�cSs|jSr@rU)�cssrDrDrEr�rGz�a Unicode error occurred when rendering the page %s. Please make sure all config values that contain non-ASCII content are Unicode strings.z6An error happened in rendering the page %s.
Reason: %rr��xmlcharrefreplace)rN�errorszerror writing file %s: %srAZ_sources).r/r�ry�html_output_encodingrQ�rsplit�html_baseurlr�r�r�rNr�r�r0r#r�r$r��update_page_contextr�Zemit_firstresultrMrJ�AttributeErrorr�Zrender�UnicodeErrorr�r�r&rsr#r�r7rr�r�r�r��
copysourcerCr�r8r6r�r�)r_rir�r�rnrPrTZdefault_baseurir�r�Znewtmpl�outputrwrir�Zsource_namerDr�rErS�s~


�



�  
���
�.(

�z!StandaloneHTMLBuilder.handle_page)rir�rTrPr?cCsdSr@rD)r_rir�rTrPrDrDrEr�:sz)StandaloneHTMLBuilder.update_page_contextcCs&|jr|j�|j�|j�|j�dSr@)rrYrZ�dump_search_index�dump_inventoryr�rDrDrErc>sz#StandaloneHTMLBuilder.handle_finishzdumping object inventorycCst�t�|jt�|j|�dSr@)r2r�rr�r��INVENTORY_FILENAMEr�r�rDrDrEr�Csz$StandaloneHTMLBuilder.dump_inventoryc	Cs�ttd�|j�����|j�|jj�t�|j	|j
�}|jr�t|dddd�� }|j�
||j�Wd�q�1sv0Yn>t|dd�� }|j�
||j�Wd�n1s�0Yt�|d|�Wd�n1s�0YdS)Nzdumping search index in %sz.tmpr�rLrM�wb)r,r&rZlabelr�r�r�rr�r�r�r�r�r�r��os�replace)r_r�r�r�rDrDrEr�Gs0.z'StandaloneHTMLBuilder.dump_search_index)T)N)r�NN)fr`rarbrcr}�formatr&�epilogr�Zallow_parallelr�r�r'r�rrdr�r�Zsupported_image_typesZsupported_remote_imagesZsupported_data_uri_imagesr�Zadd_permalinksr�rrr�Zdownload_supportr�rNr�r	rrrrr�rr�r�rgr�r�r�rr�r�r�r�r�r�r��propertyrZNodeVisitorr�r�rr�r�rr�r
r8rKZdocumentrUrXrdr,r[r\r]rerfr^r_r�r�r�r�r�r�r�r`rarbr�rVrrrWr�r�r�rQrSr�rcr�r��
__classcell__rDrDr�rEr��s�
0	.mP


	
4��a�
r�)r�ryr?c	Csvg}|jD]`}t|t�r(|�|if�q
z|\}}|�||f�Wq
tyht�td�|�Yq
Yq
0q
||_dS)z?This converts string styled html_css_files to tuple styled one.zinvalid css_file: %r, ignoredN)�html_css_filesrHrNr�rsr�r�r&)r�ryr�r�rRr�rDrDrE�convert_html_css_filesVs

r�c	Csvg}|jD]`}t|t�r(|�|if�q
z|\}}|�||f�Wq
tyht�td�|�Yq
Yq
0q
||_dS)z>This converts string styled html_js_files to tuple styled one.zinvalid js_file: %r, ignoredN)�
html_js_filesrHrNr�rsr�r�r&)r�ryr�r�rRr�rDrDrE�convert_html_js_filesgs

r�)r�rir�rjr�r?cs*|�d��ttd��fdd�}||d<dS)zySet up css_tag() template helper.

    .. note:: This set up function is added to keep compatibility with webhelper.
    r�)r�r?c	sfg}t|j�D]0}|j|}|dur|�d|t�|d�f�q|�d�|jdd��dd�|�S)N�%s="%s"Tz	href="%s"�r�z<link %s />rl)rMrQr�r��escaperRr�)r�r�rr~�r�rDrE�css_tag�s
z%setup_css_tag_helper.<locals>.css_tagr�N)rCrPrN)r�rir�rjr�r�rDr�rE�setup_css_tag_helperxs
	r�cs*|�d��ttd��fdd�}||d<dS)zxSet up js_tag() template helper.

    .. note:: This set up function is added to keep compatibility with webhelper.
    r�)r�r?c	s�g}d}t|t�r�t|j�D]^}|j|}|dur|dkr@|}q|dkr`|�d�ddd��q|�d|t�|d�f�q|jr�|�d�|jdd��n|�d�|dd��|r�d	d
�|�|fSd|SdS)Nr|r9r�zdata-url_root="%s"Tr�r�zsrc="%s"z<script %s>%s</script>rlz<script>%s</script>)	rHrfrMrQr�r�r�rRr�)r�r�r9rr~r�rDrE�js_tag�s"

z#setup_js_tag_helper.<locals>.js_tagr�N)rCrfrN)r�rir�rjr�r�rDr�rE�setup_js_tag_helper�s
r�cCsv|�d�}|�d�}|r6t|�s6|d|dd�|d<n||d<|�d�}|rjt|�sj|d|dd�|d<n||d<d	S)
zSet up relative resource paths.r�r
z_static/Tr�Zfavicon_urlrZlogo_urlN)rCr))r�rir�rjr�r�r
rrDrDrE�setup_resource_paths�s


r�r�cCsN|jjdkrdS|jj}|dur.ttd���n||jjvrJttd�|��dS)Nr�zEMany math_renderers are registered. But no math_renderer is selected.z"Unknown math_renderer %r is given.)r
r�r�r"r&r�r�)r�r}rDrDrE�validate_math_renderer�sr�cCs�|jdd�D]�}t�t�|j|��}t�|�sNt�td�|�|j�	|�qt�
|j�dt�
|�dkrt�|j|g�|jkrt�td�|�|j�	|�qdS)zCheck html_extra_paths setting.Nz'html_extra_path entry %r does not existrz0html_extra_path entry %r is placed inside outdir)
r�r�normpathr�r��existsr�r�r&r��
splitdriver��
commonpath)r�ryr�r�rDrDrE�validate_html_extra_path�s
�r�cCs�|jdd�D]�}t�t�|j|��}t�|�sNt�td�|�|j�	|�qt�
|j�dt�
|�dkrt�|j|g�|jkrt�td�|�|j�	|�qdS)z Check html_static_paths setting.Nz(html_static_path entry %r does not existrz1html_static_path entry %r is placed inside outdir)
r�rr�r�r�r�r�r�r&r�r�r�r�)r�ryr�Zstatic_pathrDrDrE�validate_html_static_path�s
�r�cCsB|jr>t�t�|j|j��s>t|j�s>t�td�|j�d|_dS)zCheck html_logo setting.zlogo file %r does not existN)	rrr�r�r�r)r�r�r&�r�ryrDrDrE�validate_html_logo�s��r�cCsB|jr>t�t�|j|j��s>t|j�s>t�td�|j�d|_dS)zCheck html_favicon setting.zfavicon file %r does not existN)	rrr�r�r�r)r�r�r&r�rDrDrE�validate_html_favicon�s��r�c@seZdZdd�ZdS)�_stable_repr_objectcCsdS)Nz<object>rDr�rDrDrE�__repr__�sz_stable_repr_object.__repr__N)r`rarbr�rDrDrDrEr��sr�cCs>|j}|turdSt�td��|s.d|_dSt�|�|_dS)z0Migrate html_add_permalinks to html_permalinks*.Nzrhtml_add_permalinks has been deprecated since v3.5.0. Please use html_permalinks and html_permalinks_icon instead.F)	�html_add_permalinks�UNSETr�r�r&�html_permalinksr�r��html_permalinks_icon)r�ryr�rDrDrE�migrate_html_add_permalinkss�r�cCsP|�t�|�ddd�|�dgd�|�did�|�ddd�dtg�|�d	d
d�d�|�dddtg�|�dddtg�|�d
ddtg�|�dgd�|�dgd�|�dgd�|�dgd�|�dddtg�|�did�|�did�|�dddtg�|�dtd�|�ddd�|�ddd�|�ddd�|�ddd�|�ddd�|�ddd�|�d d!d�|�d"d#d�|�d$ddtg�|�d%ddtg�|�d&dd�|�d'dd�|�d(id�|�d)d*d�|�d+dd�|�d,d-d�|�d.ddtg�|�d/id�|�d0d#d�|�d1dd�|�d2d#d�|�d3d4dtd5d4��|�d6dd7�|�d8dd�|�d9�|�d:�|jd;t	d<d=�|jd;t
d<d=�|jd;td<d=�|jd;td<d=�|jd;t
d<d=�|jd;td<d=�|jd;td<d=�|�d>t�|�d:t�|�d:t�|�d:t�|�d?�|�d@�dAdddB�S)CNr�r�r�Zhtml_theme_pathr�r(cSstd�|j|jfS)Nz%s %s documentation)r%rrr�rDrDrEr�%rGzsetup.<locals>.<lambda>r)cSs|jSr@)r(r�rDrDrEr�'rGr�rrr�r�r�r�rr�rorTr�r�r��¶Zhtml_use_indexrvFr,r-r.z.txtr'r|r�r�r*r+r1r�rLrZhtml_secnumber_suffixz. rrrr�r�Zhtml_codeblock_linenos_styleZinline�tableZhtml_math_rendererr�r�rgr�z
config-initedr�rUzbuilder-initedzsphinx.ext.mathjaxzsphinx.builders.html.transformsZbuiltin)rZparallel_read_safeZparallel_write_safe)Zadd_builderr�Zadd_config_valuerNrJr�rZ	add_eventZconnectr�r�r�r�r�r�r�r�r�r�r�Zsetup_extension)r�rDrDrE�setups�
�
�



�r)�rcr�r�r��rer�rr�typingrrrrrr	r
rr�urllib.parser
ZdocutilsrZ
docutils.corerZdocutils.frontendrZdocutils.iorrZdocutils.nodesrZdocutils.utilsrr�rrrrZsphinx.applicationrZsphinx.buildersrZ
sphinx.configrrZsphinx.domainsrrrZ!sphinx.environment.adapters.assetrZ(sphinx.environment.adapters.indexentriesr Z#sphinx.environment.adapters.toctreer!Z
sphinx.errorsr"r#Zsphinx.highlightingr$Z
sphinx.localer%r&rr'Zsphinx.themingr(Zsphinx.utilr)r*r+r,r-Zsphinx.util.docutilsr.r/Zsphinx.util.fileutilr0Zsphinx.util.i18nr1Zsphinx.util.inventoryr2Zsphinx.util.matchingr3r4r5Zsphinx.util.osutilr6r7r8r9Zsphinx.util.tagsr:Zsphinx.writers.htmlr;r<Zsphinx.writers.html5r=r�r�Z	getLoggerr`r��compiler%rNrArPrfrgr�r�r�r�r�r�r�r�r�r�r�r�r�r�Zsphinxcontrib.serializinghtml�
sphinxcontribZsphinx.builders.dirhtmlZsphinx.builders.singlehtmlrrDrDrDrE�<module>s�
,


.2��#�

		

Youez - 2016 - github.com/yon3zu
LinuXploit