
    k7ik>                        S r SSKJr  SrSSKJr  SSKJrJr  SSK	J
r
   " S S\
R                  5      r " S	 S
\
R                  5      rg)z
Plain HyperText Markup Language document tree Writer.

The output conforms to the `HTML 5` specification.

The cascading style sheet "minimal.css" is required for proper viewing,
the style sheet "plain.css" improves reading experience.
    )annotationsreStructuredText)Path)frontendnodes)
_html_basec                  ^   \ rS rSrSr SS/rS\" \" \5      R                  5      /r
\" \5      R                  S-  r\R                  " \R                  R                   S\ S3S	/\S
S.4SSR#                  \5      -  S/SS\R$                  \S.4SSR#                  \
5      -  S/S\R$                  \
S.4SS/SR'                  5       SSS.4SS/SSS .4S!9r\S"S#\R(                  S$/S%\R*                  S&.4\R(                  S'/S(SS .4S)S*/S+S,S-.4S.S//S0S%S1.4S2S3/S4SS .444-   rS5rS9S6 jrS7rg8):Writer&   )html5xhtmlhtmlzminimal.cssz	plain.css.ztemplate.txtz)Template file. (UTF-8 encoded, default: "z")z
--templatez<file>)defaultmetavarzComma 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: "%s"),z--stylesheet-pathz<file[,file,...]>
stylesheet)r   	overrides	validatorr   zComma-separated list of directories where stylesheets are found. Used by --stylesheet-path when expanding relative path arguments. (default: "%s")z--stylesheet-dirsz<dir[,dir,...]>)r   r   r   zySpecify the initial header level. Does not affect document title & subtitle (see --no-doc-title). (default: 2 for "<h2>")z--initial-header-levelz1 2 3 4 5 62z<level>)choicesr   r   z#Omit the XML declaration (default).z--no-xml-declarationxml_declarationstore_false)destaction)templatestylesheet_pathstylesheet_dirsinitial_header_levelno_xml_declarationzHTML5 Writer Options z--embed-images
store_true)r   r   z--link-imagesembed_imageszUSuggest at which point images should be loaded: "embed", "link" (default), or "lazy".z--image-loadingz
<strategy>)embedlinklazy)r   r   z'Append a self-link to section headings.z--section-self-linkF)r   r   z8Do not append a self-link to section headings. (default)z--no-section-self-linksection_self_linkzhtml5 writerc                (    0 U l         [        U l        g N)partsHTMLTranslatortranslator_class)selfs    b/home/james-whalen/.local/lib/python3.13/site-packages/docutils/writers/html5_polyglot/__init__.py__init__Writer.__init__n   s    
 .    )r*   r,   NreturnNone)__name__
__module____qualname____firstlineno__	supporteddefault_stylesheetsstrr   __file__parentdefault_stylesheet_dirsdefault_templater   filter_settings_specr   r
   settings_specjoinvalidate_comma_separated_listsplitSUPPRESS_HELPvalidate_booleanconfig_sectionr/   __static_attributes__ r1   r.   r
   r
   &   s   *I'(+6"CX(=(=$>?H~,,~= 11''78H7ILN(X>@
 !$)< =	>
 !!+,"@@+-	.)+.884K+LM !!)"@@/12M%&%++-#!#	$ 2#$&-@B="MF "


 
 
! 113
4 
 
 
!]
;
=2
"/H 
 4 
!|
4
6 E#
$&-
@
B!	%
 
M2 $N/r1   r
   c                    ^  \ rS rSrSrSS0rS-U 4S jjrS-S jrS-S jrS-S jr	S-S	 jr
S-S
 jrS-S jrSS1rS-S jrS-S jrS-S jrS-S jrS-S jrS-S jrS-S jrS-S jrS-S jrS-S jrS-S jrS-S jr1 SkrS-S jrS-S jrS-S jrS-S jrS rS-S  jr S-S! jr!S-S" jr"S-S# jr#S-S$ jr$S-S% jr%S-S& jr&S-S' jr'S-S( jr(S-S) jr)S-S* jr*U 4S+ jr+S,r,U =r-$ ).r+   s   a&  
This writer generates `polyglot markup`: HTML5 that is also valid XML.

Safe subclassing: when overriding, treat ``visit_*`` and ``depart_*``
methods as a unit to prevent breaks due to internal changes. See the
docstring of docutils.writers._html_base.HTMLTranslator for details
and examples.
tagnamemainc                Z   > [         TU ]  U5        U R                  R                  S5        g )NzG<meta name="viewport" content="width=device-width, initial-scale=1" />
)superr/   metaappend)r-   document	__class__s     r.   r/   HTMLTranslator.__init__   s)    "		 N 	Or1   c                \    U R                   R                  U R                  USS5      5        g )Nabbrr!   )bodyrQ   starttagr-   nodes     r.   visit_acronymHTMLTranslator.visit_acronym   s!    		tVR89r1   c                :    U R                   R                  S5        g )Nz</abbr>rW   rQ   rY   s     r.   depart_acronymHTMLTranslator.depart_acronym   s    		#r1   c                    U R                  USSS9  U H?  nU R                  R                  SU R                  UR	                  5       5       S35        MA     g )NauthorsFrP   z<meta name="author" content="" />
visit_docinfo_itemrP   rQ   attvalastext)r-   rZ   subnodes      r.   visit_authorsHTMLTranslator.visit_authors   sW    ie<GII !!%W^^-=!> ?vG H r1   c                $    U R                  5         g r)   depart_docinfo_itemrY   s     r.   depart_authorsHTMLTranslator.depart_authors         "r1   c                    [        UR                  [        R                  5      (       a+  U R                  R                  U R                  US5      5        U R                  R                  S5        g )N
figcaptionz<p>)
isinstancer=   r   figurerW   rQ   rX   rY   s     r.   visit_captionHTMLTranslator.visit_caption   sF    dkk5<<00IIT]]4>?		r1   c                :    U R                   R                  S5        g )Nz</p>
r^   rY   s     r.   depart_captionHTMLTranslator.depart_caption   s    		"r1   insdelc                .   US   nU Vs/ s H  nX0R                   ;   d  M  UPM     nn[        U5      S:X  a  US   Ul        UR                  US   5        OSUl        U R                  R                  U R                  XR                  SS95        g s  snf )Nclasses   r   divzdocutils containerCLASS)supported_block_tagslenhtml5tagnameremoverW   rQ   rX   r-   rZ   r~   clstagss        r.   visit_containerHTMLTranslator.visit_container   s     y/& 5w333 w 5t9> $QDNN47# %D		t->->-A ' C 	D5s
   BBc                Z    U R                   R                  SUR                   S35        U?g N</z>
rW   rQ   r   rY   s     r.   depart_containerHTMLTranslator.depart_container   *    		2d//045r1   c                    U R                  USSS9  U R                  R                  SU R                  UR	                  5       5       S35        g )N	copyrightFrc   z%<meta name="dcterms.rights" content="rd   re   rY   s     r.   visit_copyrightHTMLTranslator.visit_copyright   sL    k>		 %%)[[%?$@H 	Ir1   c                $    U R                  5         g r)   rm   rY   s     r.   depart_copyrightHTMLTranslator.depart_copyright   rq   r1   c                    U R                  USSS9  U R                  R                  SU R                  UR	                  5       5       S35        g )NdateFrc   z#<meta name="dcterms.date" content="rd   re   rY   s     r.   
visit_dateHTMLTranslator.visit_date   sL    f59		 %%)[[%?$@H 	Ir1   c                $    U R                  5         g r)   rm   rY   s     r.   depart_dateHTMLTranslator.depart_date   rq   r1   c                    0 nSU;   a  SUS    3US'   UR                  S5      (       a  SUS    3US'   U R                  R                  U R                  " US40 UD65        g )Nwidthzwidth: stylealignzalign-classru   )getrW   rQ   rX   r-   rZ   attss      r.   visit_figureHTMLTranslator.visit_figure   sg    d?%d7m_5DM88G$T']O4DM		tX>>?r1   c                    [        U5      S:  a  U R                  R                  S5        U R                  R                  S5        g )Nr   z</figcaption>
z
</figure>
)r   rW   rQ   rY   s     r.   depart_figureHTMLTranslator.depart_figure   s2    t9q=II./		'r1   c                `    U R                   R                  [        U R                  5      5        g r)   contextrQ   r   rW   rY   s     r.   visit_footerHTMLTranslator.visit_footer       C		N+r1   c                ,   U R                   R                  5       nU R                  US5      /nUR                  U R                  US  5        UR                  S5        U R                  R                  U5        X0R                  S S& U R                  US 2	 g )Nfooterz
</footer>
r   )r   poprX   extendrW   rQ   r   body_suffix)r-   rZ   startr   s       r.   depart_footerHTMLTranslator.depart_footer   sz      "--h/0dii'(m$6"%!IIefr1   c                `    U R                   R                  [        U R                  5      5        g r)   r   rY   s     r.   visit_headerHTMLTranslator.visit_header   r   r1   c                F   U R                   R                  5       nU R                  US5      /nUR                  U R                  US  5        UR                  S5        U R                  R                  U5        U R                  R                  U5        U R                  US 2	 g )Nheaderz
</header>
)r   r   rX   r   rW   rQ   body_prefixr   )r-   rZ   r   r   s       r.   depart_headerHTMLTranslator.depart_header   s~      "--h/0dii'(m$'6"IIefr1   >   biqsubdir|   dfnr{   kbdvarcodemarksampsmallc                   US   nSUl         [        UR                  [        R                  5      (       a  SUR                  R                  S5      ;   dD  [        UR                  [        R                  5      (       af  [        UR                  SS 5      S:X  aK  US/:X  aC  U R                  S   S:X  a  U R                  S	 OU R                  R                  S5        S	Ul         OXU R                   Vs/ s H  nX2;   d  M
  UPM     nn[        U5      (       a%  US
   Ul         UR                  UR                   5        U R                  R                  U R                  XR                   S5      5        g s  snf )Nr~   spanr   r   lnz<code>z</code>r   r   r!   )r   rt   r=   r   literal_blockr   literalgetattrrW   rQ   supported_inline_tagsr   r   rX   r   s        r.   visit_inlineHTMLTranslator.visit_inline   s    y/"t{{E$7$788$++//)44$++u}}55^T:fD4& 99R=H,		"II$$Y/$+!#'#=#= '#=C~ #=D '4yy$(G!t001		t->->CD's   2	E2?E2c                R   U R                   R                  SUR                   S35        UR                  S:X  al  UR                  S5      S/:X  aV  [	        UR
                  [        R                  5      (       a-  U R                   R                  SUR                  5        S35        U?g )Nr   >r   r~   r   z<code data-lineno="z">)	rW   rQ   r   r   rt   r=   r   r   rh   rY   s     r.   depart_inlineHTMLTranslator.depart_inline  s    		2d//023(TXXi-@TF-J4;;(;(;<<II24;;=/DEr1   c                    [        UR                  5       [        R                  5      (       d  U R                  R                  S5        U R                  R                  U R                  USSS95        g )Nz<figcaption>
r   legendr   )rt   previous_siblingr   captionrW   rQ   rX   rY   s     r.   visit_legendHTMLTranslator.visit_legend  sP    $//15==AAII-.		tU(CDr1   c                :    U R                   R                  S5        g )Nz</div>
r^   rY   s     r.   depart_legendHTMLTranslator.depart_legend  s    		$r1   c           	        US   nSnU R                    Vs/ s H  nXB;   d  M
  UPM     nn[        U5      (       a  US   nUR                  U5        US:X  a2  X1l        U R                  R                  U R                  XS5      5        g U R                  R                  U R                  XSSS95        UR                  5       n[        UR                  [        R                  5      (       d  UR                  SS	5      nU R                  R                  U5       H  nUR                  5       (       aP  U R                   R#                  U5      (       a0  U R                  R                  S
U R%                  U5       S35        Mh  U R                  R                  U R%                  U5      5        M     U R                  R                  SU S35        [        R&                  es  snf )Nr~   r   r   r   r!   zdocutils literalr   
 z<span class="pre">z</span>r   r   )r   r   r   r   rW   rQ   rX   rh   rt   r=   r   r   replacewords_and_spacesfindallstripin_word_wrap_pointsearchencodeSkipNode)r-   rZ   r~   r   r   r   texttokens           r.   visit_literalHTMLTranslator.visit_literal"  s   y/#99 #9> 9 #t997LNN<(6! ,IIT]]4rBC		MM$b8JMK	M{{}$++u':':;;<<c*D **2248E{{}}!8!8!?!?!F!F		  (U);(<GDF 		  U!34 9 			2l^1-.nn3#s
   	GGc                &    U R                  U5        g r)   )r   rY   s     r.   depart_literalHTMLTranslator.depart_literal@  s    4 r1   c                    UR                  S5      (       a  US   US'   U R                  R                  U R                  " US40 UR	                  5       D65        g )Nlangzxml:langrP   )hasattrrP   rQ   emptytagnon_default_attributesrY   s     r.   
visit_metaHTMLTranslator.visit_metaF  sT    <<#F|D		tV H)-)D)D)FH 	Ir1   c                    g r)   rI   rY   s     r.   depart_metaHTMLTranslator.depart_metaL  s    r1   c                &    U R                  USSS9  g )NorganizationFrc   )rf   rY   s     r.   visit_organization!HTMLTranslator.visit_organizationP  s    n5Ar1   c                $    U R                  5         g r)   rm   rY   s     r.   depart_organization"HTMLTranslator.depart_organizationS  rq   r1   c                    U =R                   S-  sl         U R                  R                  U R                  US5      5        g )Nr   section)section_levelrW   rQ   rX   rY   s     r.   visit_sectionHTMLTranslator.visit_sectionW  s3    a		MM$	*	,r1   c                d    U =R                   S-  sl         U R                  R                  S5        g )Nr   z</section>
)r  rW   rQ   rY   s     r.   depart_sectionHTMLTranslator.depart_section\  s%    a		(r1   c                f    U R                   R                  U R                  USSS95        SU l        g )Nasidesidebarr   T)rW   rQ   rX   
in_sidebarrY   s     r.   visit_sidebarHTMLTranslator.visit_sidebara  s-    		MM$yM9	;r1   c                H    U R                   R                  S5        SU l        g )Nz	</aside>
F)rW   rQ   r  rY   s     r.   depart_sidebarHTMLTranslator.depart_sidebarf  s    		&r1   c                   SS/0nSUS   ;   aH  SUl         US	 [        UR                  [        R                  5      (       a  SUS'   SU R
                  S'   O3S	US   ;   a  S
Ul         SUS'   OSUS   ;   a  S
Ul         SUS'   OSUl         U R                  R                  U R                  " XR                   40 UD65        g )Nr~   topiccontentsnavzdoc-tocrolez </head>
<body class="with-toc">
r   abstractr   zdoc-abstract
dedicationzdoc-dedicationr  )	r   rt   r=   r   rR   r   rW   rQ   rX   r   s      r.   visit_topicHTMLTranslator.visit_topicm  s    G9%i( %DY$++u~~66(V&J  #4	?* %D)DLT)_, %D+DL 'D		t->->G$GHr1   c                Z    U R                   R                  SUR                   S35        U?g r   r   rY   s     r.   depart_topicHTMLTranslator.depart_topic  r   r1   c                  > [         TU ]  U5      u  p#UR                  S   nU(       ac  [        U R                  SS 5      (       aG  [        UR                  [        R                  5      (       d  SUS    S3nUR                  SUS-   5      nX#4$ )Nidsr'   z9<a class="self-link" title="link to this section" href="#r   z"></a>z</h)	rO   section_title_tagsr=   r   settingsrt   r   rR   r   )r-   rZ   	start_tag	close_tagr)  	self_linkrS   s         r.   r*  !HTMLTranslator.section_title_tags  s    $w9$?	kk% GDMM+>EEt{{ENN;;$$'F863I!))%U1BCI##r1   )r  r2   ).r5   r6   r7   r8   __doc__documenttag_argsr/   r[   r_   rj   ro   rv   ry   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*  rH   __classcell__)rS   s   @r.   r+   r+   s   s     "6*O:$
H# 
#
 "5>DI
#I
#@(,,6
E.E
%
<!IB#,
)

 I$
$ $r1   r+   N)r0  
__future__r   __docformat__pathlibr   docutilsr   r   docutils.writersr   r
   r+   rI   r1   r.   <module>r8     sF   & #"  $ 'J/Z J/ZY$Z.. Y$r1   