
    P&iH             	          d Z ddlZddlZddlmZ ddlmZ ddlmZm	Z	m
Z
mZmZmZmZmZmZ ddlmZmZ ddlmZmZmZ ddlmZmZ dd	lmZ dd
lmZ ddlm Z  ddl!m"Z" ddl#m$Z$m%Z%m&Z& ddl'm(Z(m)Z)m*Z* ddl+m,Z, ddl-m.Z.m/Z/ ddl0m1Z1 ddl2m3Z3 	 ddl4m5Z5 n# e6$ r	 ddl7m5Z5 Y nw xY werddl8m9Z9 ddl:m;Z;  e(j<        e=          Z>dZ?g dZ@ ed dddddd          ZAdZBd ZC ejD        d!          ZE G d" d#ejF                  ZG G d$ d%e"          ZH G d& d'ejI                  ZJ G d( d)          ZK G d* d+          ZLd,eMd-eMfd.ZNd6d0eMd1eOd-eMfd2ZP G d3 d4e,          ZQdd5lRmSZSmTZTmUZU dS )7z~Custom docutils writer for LaTeX.

Much of this code is adapted from Dave Kuhlman's "docpy" writer from his
docutils sandbox.
    N)defaultdict)path)	TYPE_CHECKINGAnyDictIterableListOptionalSetTuplecast)nodeswriters)ElementNodeText)addnodeshighlighting)RemovedInSphinx70Warning)
IndexEntry)StandardDomain)SphinxError)___admonitionlabels)logging
split_into	texescape)SphinxTranslator)clean_astextget_prev_node)LaTeXRenderer)tex_replace_map)toRoman)LaTeXBuilder)Theme   )partchaptersection
subsectionsubsubsection	paragraphsubparagraphc                      dS )N\arabic r1       a/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinx/writers/latex.py<lambda>r4   ,   s    : r2   r0   z\alphz\Alphz\romanz\Roman)arabic
loweralpha
upperalpha
lowerroman
upperroman
z

z^(.*\S)\s+\(([^()]*)\)\s*$c                       e Zd ZdZdS )collected_footnotez5Footnotes that are collected are assigned this class.N)__name__
__module____qualname____doc__r1   r2   r3   r<   r<   :   s        ????r2   r<   c                       e Zd ZdZdS )UnsupportedErrorzMarkup is unsupported in LaTeXN)r=   r>   r?   categoryr1   r2   r3   rB   rB   >   s        /HHHr2   rB   c                   t     e Zd ZU dZddddgddifddgdd	ifd
dgddifffZi Zeed<   dZd fdZ	ddZ
 xZS )LaTeXWriter)sphinxlatexzLaTeX writer options zDocument namez	--docnamedefaultzDocument classz
--docclassmanualAuthorz--authorsettings_defaultsNbuilderr%   returnc                 d    t                                                       || _        d | _        d S N)super__init__rL   theme)selfrL   	__class__s     r3   rQ   zLaTeXWriter.__init__O   s+     


r2   c                     | j                             | j        | j         | j                  }| j                            |           t          t          |                                          | _        d S rO   )	rL   create_translatordocumentrR   	walkaboutr   LaTeXTranslatorastextoutput)rS   visitors     r3   	translatezLaTeXWriter.translateT   sX    ,00djYY(((?G44;;==r2   )rL   r%   rM   N)rM   N)r=   r>   r?   	supportedsettings_specrK   r   __annotations__r[   rQ   r]   __classcell__rT   s   @r3   rE   rE   B   s          I+R	;-)R9	L>Ix+@A	J<)R12 M
 !t   F! ! ! ! ! !
> > > > > > > >r2   rE   c                       e Zd ZdZdeddfdZdefdZdefdZ	defdZ
d	ed
eddfdZ	 ddee         dee         ded         fdZdS )TablezA table datanoderM   Nc                 .   g | _         g | _        |                    dd          | _        |                    dg           | _        g | _        d| j        v r| j                            d           nGd| j        v r| j                            d           n#d| j        v r| j                            d           d| j        v r| j                            d           n#d| j        v r| j                            d           d	| _        d | _        d | _	        d| j        v s	d| j        v rd
| _	        nd| j        v rd| _	        g | _
        d| _        d| _        d| _        d | _        g | _        d	| _        d	| _        t%          t&                    | _        d	| _        d S )NalignrH   classesstandard
borderlessbooktabsnocolorrows	colorrowsr   rG   |F)headerbodygetrg   rh   stylesappendcolcountcolspeccolsep	colwidthshas_problematichas_oldproblematichas_verbatimcaptionstubscolrowr   intcellscell_idrS   re   s     r3   rQ   zTable.__init___   s   !#!	XXgy11
"&((9b"9"9!#%%Kz****T\))K|,,,,4<''Kz***DL((K}----DL((K{+++ $$(C(CDKK4;&&DK$&$"'!"& "
  2=S1A1A
r2   c                 *    | j         dk    pd| j        v S )z5True if and only if table uses longtable environment.   	longtable)r~   rh   rS   s    r3   is_longtablezTable.is_longtable   s    x"};t| ;;r2   c                     |                                  rdS | j        rdS | j        rdS | j        s| j        rd| j        v rdS dS )zReturns the LaTeX environment name for the table.

        The class currently supports:

        * longtable
        * tabular
        * tabulary
        r   tabulartabularycolwidths-given)r   rz   ru   rx   rw   rh   r   s    r3   get_table_typezTable.get_table_type   sg      		; 	9\ 	:! 	dn 	9Jdl9Z9Z9:r2   c                    | j         r| j         S | j        }| j        rUd| j        v rLt	          | j                  fd| j        D             }d||                    |          |dt          z   S | j        rd|| j        | j        |fz  t          z   S | 	                                dk    rd|z   d|z   | j        z  z   dz   t          z   S | j
        rd|| j        | j        |fz  t          z   S d|z   d|z   | j        z  z   dz   t          z   S )	a  Returns a column spec of table.

        This is what LaTeX calls the 'preamble argument' of the used table environment.

        .. note::

           The ``\X`` and ``T`` column type specifiers are defined in
           ``sphinxlatextables.sty``.
        r   c                     g | ]	}d |fz  
S )z
\X{%d}{%d}r1   ).0widthtotals     r3   
<listcomp>z%Table.get_colspec.<locals>.<listcomp>   s"    SSS56SSSr2   {}z{%s*{%d}{\X{1}{%d}%s}}r   Tl)ru   rv   rw   rh   sumjoinCRrx   rt   r   ry   )rS   _colsepcolspecsr   s      @r3   get_colspeczTable.get_colspec   sX    < 	 <+> 	P/4<??''ESSSSDNSSSHH!(',,x*@*@*@'''JROO! 
	P,04w0H HJLM M  ""j00=S7]dm$CDsJROO$ 	P,04w0H HJLM M =S7]dm$CDsJROOr2   heightr   c                     | xj         dz  c_         t          |          D ]Z}t          |          D ]H}| j        | j        |z   | j        |z   f         dk    sJ | j         | j        | j        |z   | j        |z   f<   I[dS )zsAdds a new cell to a table.

        It will be located at current position: (``self.row``, ``self.col``).
           r   N)r   ranger   r~   r}   )rS   r   r   r}   r~   s        r3   add_cellzTable.add_cell   s    
 	<< 	L 	LCV}} L Lz48c>48c>"BCqHHHH?C|
DHsNDHsN;<<L	L 	Lr2   r~   r}   	TableCellc                 l    	 || j         }|| j        }t          | ||          S # t          $ r Y dS w xY w)zReturns a cell object (i.e. rectangular area) containing given position.

        If no option arguments: ``row`` or ``col`` are given, the current position;
        ``self.row`` and ``self.col`` are used to get a cell object by default.
        N)r~   r}   r   
IndexError)rS   r~   r}   s      r3   cellz
Table.cell   sS    	{h{hT3,,, 	 	 	44	s   "% 
33)NN)r=   r>   r?   r@   r   rQ   boolr   strr   r   r   r   r
   r   r1   r2   r3   rd   rd   \   s       $W $ $ $ $ $L<d < < < <    (PS P P P P<	Ls 	L3 	L4 	L 	L 	L 	L ?C C=.6sm	+	     r2   rd   c                   b    e Zd ZdZdedededdfdZedefd            Zedefd	            Z	dS )
r   zData of a cell in a table.tabler~   r}   rM   Nc                    |j         ||f         dk    rt          || _        |j         ||f         | _        || _        || _        |j         | j        dz
  | j        f         | j        k    r5| xj        dz  c_        |j         | j        dz
  | j        f         | j        k    5|j         | j        | j        dz
  f         | j        k    r7| xj        dz  c_        |j         | j        | j        dz
  f         | j        k    5d S d S Nr   r   )r   r   r   r   r~   r}   )rS   r   r~   r}   s       r3   rQ   zTableCell.__init__   s    ;Sz"a''
{C:. k48a<23t|CCHHMHH k48a<23t|CCk48TX\23t|CCHHMHH k48TX\23t|CCCCCCr2   c                     d}| j         j        | j        | j        |z   f         | j        k    r/|dz  }| j         j        | j        | j        |z   f         | j        k    /|S )zReturns the cell width.r   r   r   r   r~   r}   r   )rS   r   s     r3   r   zTableCell.width   sc     j$(U*:;<LLQJE j$(U*:;<LLr2   c                     d}| j         j        | j        |z   | j        f         | j        k    r/|dz  }| j         j        | j        |z   | j        f         | j        k    /|S )zReturns the cell height.r   r   r   )rS   r   s     r3   r   zTableCell.height   sc     j6 148<=MMaKF j6 148<=MMr2   )
r=   r>   r?   r@   rd   r   rQ   propertyr   r   r1   r2   r3   r   r      s        $$e # C D     s    X     X  r2   r   textrM   c                 .    t          j        dd|           S )z#Adjust spacing after abbreviations.z
\.(?=\s|$)z.\@)resub)r   s    r3   escape_abbrr      s    6-...r2   d   	width_strscalec                    t          j        d|           }|st          | }|                                dd         \  }}|dk    rAt	          |           |dv rd|z  }ni|dk    rd|z  }n]|d	k    rd
t	          |          dz  z  }nAt	          |          |z  dz  }|dv rd|z  }n"|dk    rd|z  }n|d	k    r	d|dz  z  }nd||fz  }|S )z4Convert `width_str` with rst length to LaTeX length.z^(\d*\.?\d*)\s*(\S*)$N   r   )rG   pxz%s\sphinxpxdimenptz%sbp%z%.3f\linewidth      Y@z%.5f\sphinxpxdimenz%.5fbpz%.5f\linewidthz%.5f%s)r   match
ValueErrorgroupsfloat)r   r   r   resamountunitamount_floats          r3   rstdim_to_latexdimr      s   H-y99E 
C<<>>"1"%LFD||f:%.CCT\\6/CCS[[#uV}}u'<=CV}}u,u4:',6CCT\\\)CCS[[#|e';<CClD11CJr2   c            	       .    e Zd ZU ded<   dZdZdej        dddddd	f fd
Zde	e
         dd	fdZde	e
         fdZde
fdZdde
dedede
fdZddedede
fdZde
de
fdZde
de
fdZde
de
fdZde
de
fdZde
de
de
fdZde
fdZde
d ede
fd!Zedee         fd"            Zdedd	fd#Zdedd	fd$Zdedd	fd%Z dedd	fd&Z!dedd	fd'Z"dedd	fd(Z#dedd	fd)Z$dedd	fd*Z%dedd	fd+Z&dedd	fd,Z'e&Z(e'Z)dedd	fd-Z*dedd	fd.Z+dedd	fd/Z,dedd	fd0Z-dedd	fd1Z.dedd	fd2Z/dedd	fd3Z0dedd	fd4Z1dedd	fd5Z2dedd	fd6Z3dedd	fd7Z4dedd	fd8Z5dedd	fd9Z6dedd	fd:Z7dedd	fd;Z8dedd	fd<Z9dedd	fd=Z:dedd	fd>Z;dedd	fd?Z<dedd	fd@Z=dedd	fdAZ>dedd	fdBZ?dedd	fdCZ@dedd	fdDZAdedd	fdEZBdedd	fdFZCdedd	fdGZDdedd	fdHZEdedd	fdIZFdedd	fdJZGdedd	fdKZHdedd	fdLZIdedd	fdMZJdedd	fdNZKdedd	fdOZLdedd	fdPZMdedd	fdQZNdedd	fdRZOdedd	fdSZPdedd	fdTZQdedd	fdUZRdedd	fdVZSdedd	fdWZTdedd	fdXZUdedd	fdYZVdedd	fdZZWdedd	fd[ZXdedd	fd\ZYdedd	fd]ZZdedd	fd^Z[dedd	fd_Z\dedd	fd`Z]dedd	fdaZ^dedd	fdbZ_dedd	fdcZ`dedd	fddZadedd	fdeZbdedd	fdfZcdedd	fdgZddedd	fdhZededd	fdiZfdedd	fdjZgdedd	fdkZhdedd	fdlZidedd	fdmZjdedd	fdnZkdedd	fdoZldedd	fdpZmdedd	fdqZndedd	fdrZodedd	fdsZpdedd	fdtZqdedd	fduZrdedd	fdvZsdedd	fdwZtdedd	fdxZudedd	fdyZvdedd	fdzZwdedd	fd{Zxdedd	fd|Zydedd	fd}Zzdedd	fd~Z{dedd	fdZ|esZ}etZ~ewZexZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdde
dedee
         fdZdedefdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdÄZdedd	fdĄZdedd	fdńZdedd	fdƄZeZeZdedd	fdǄZdedd	fdȄZdedd	fdɄZdedd	fdʄZdedd	fd˄Zdedd	fd̄Zdedd	fd̈́Zdedd	fd΄Zdedd	fdτZdedd	fdЄZdedd	fdфZdedd	fd҄Zdedd	fdӄZdedd	fdԄZdedd	fdՄZdedd	fdքZdedd	fdׄZdedd	fd؄Zdedd	fdلZdedd	fdڄZdedd	fdۄZdedd	fd܄Zdedd	fd݄Zdedd	fdބZdedd	fd߄Zdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZde
de
fdZde
de
fdZde dd	fdZde dd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZdedd	fdZ	dedd	fdZ
edee
e
f         fd            Z xZS )rY   r%   rL   r   FrW   rR   r&   rM   Nc                    t                                          ||           g | _        || _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        g }| j        j                                        | _        t.          d d          | _        | j        j        dk    r| j                            d           d| _        | j        j        r{	 | j                            | j        j                  | _        nP# t>          $ rC t@          !                    tE          d          | j        j        | j        j#        fz             Y nw xY w| j        j$        r| j        j%        | _%        | j%        dk    rtM          | j                  tM          t.                    k     r!| j        dk    r| xj%        | j        z  c_%        n| xj%        | j        dz
  z  c_%        tO          | j%        tM          t.                    dz
            | _%        |(                    d| j%        z             n|(                    d           | j        j$        r!| j        j)        r|(                    d	           | j        j*        d
vr.d| j        j+        vr dtX          z   dz   tX          z   dz   | j        d<   | j        j-        | _-        | j-        .                                s2t@          !                    tE          d          | j        j*                   | j/        }| j0        1                    d          r| j0        1                    dd          | j        z   dz
  }tM          | j                  tM          t.                    k     r| j        dk    r|dz  }|tM          t.                    dz
  k    r>t@          !                    tE          d                     tM          t.                    dz
  }d|z  | j        d<   te          ||          }| j        j$        r(| j        j%        dk    rte          || j%        dz
            }|| j/        k    rd|z  | j        d<   |1                    d          }|r| 3                    d|          | j        d<   | j        d         r#|(                    d| j        d         z             |r dd4                    |          z  | j        d<   | j        d         rd| j        d         z  | j        d<   | j        d          r#| j        d!xx         d| j        d          z   z  cc<   tk          j6        d"| j        j7        | j        j8        #          | _9        g | _        g | _:        g | _;        d | _<        g | _=        d | _>        g | _?        g | _@        t                      | _B        d S )$Nr   r   Fr*   r)   z+unknown %r toplevel_sectioning for class %rznumfigreset=%snonumfigreset
mathnumfig>   enjafncychapz\usepackage[Sonny]{fncychap}z&\ChNameVar{\Large\normalfont\sffamily}z'\ChTitleVar{\Large\normalfont\sffamily}z%no Babel option known for language %rtocdepthi  r   ztoo large :maxdepth:, ignored.z\setcounter{tocdepth}{%d}z\setcounter{secnumdepth}{%d}secnumdepthcontentsnamez\contentsnamemaxlistdepthzmaxlistdepth=%sz[,%s],sphinxpkgoptionssphinxsetupz\sphinxsetup{%s}extraclassoptionsclassoptionslatexlatex_engine)CrP   rQ   rp   rR   in_titlein_production_listin_footnote
in_captionin_termneeds_linetrimmingin_minipageno_latex_floatsfirst_documentthis_is_the_titleliteral_whitespacein_parsed_literalcompact_listfirst_paramin_desc_signaturerL   contextcopyelementsLATEXSECTIONNAMESsectionnamestoplevel_sectioningremovetop_sectionlevelconfiglatex_toplevel_sectioningindexr   loggerwarningr   docclassnumfignumfig_secnum_depthlenminrs   math_numfiglanguagelatex_elementsr   babelis_supported_languager   rW   rq   maxbabel_renewcommandr   r   PygmentsBridgepygments_styler   highlighter	descstacktablesnext_table_colspec	bodystackfootnote_restrictedpending_footnotescurfilestacksethandled_abbrs)	rS   rW   rL   rR   r   minsecnumdepthr   r   rT   s	           r3   rQ   zLaTeXTranslator.__init__#  s   7+++!	
 "#"# !""#!"!& ,1133 .aaa0:)Y66$$Y/// !";0 	]]%++DK,QRR %% ] ] ]r"OPP $ EtzGZ[ \ ] ] ] ] ]] ; 	9'+{'FD$'!++ t())C0A,B,BBB(1,,,,0EE,,,,,0E0II,,+.t/G/23D/E/E/I,K ,K( !''(84;S(STTTT ''888; 	2$+"9 	2##L111K 44$+"<<<)H2)M)R*SUW*X)S*TDM*% \'
z//11 	1 NN2EFF;/1 1 1 )=Z(( 	; }((S99D<QQTUUH4$%%,=(>(>>>$q((A#/001444r"BCCDDD011A5(Dx(ODM*% ::N; 	O4;#BQ#F#F 1IA1MNNND,,,+J+9,:DM-(  ||N33 	R,0,C,CDTDP-R -RDM.) =( 	W##$5n8U$UVVV 	U07#((CS:T:T0TDM,-=' 	`,?$-P]B^,^DM-(=,- 	PM.)))S-1];N-O.P P))) (6w@ZDHKD\^ ^ ^"$$&#%15*,6: AC')'*uus   )D< <A
F	F	newbodyc                 R    | j                             | j                   || _        d S rO   )r  rs   rp   )rS   r  s     r3   pushbodyzLaTeXTranslator.pushbody  s%    di(((			r2   c                 P    | j         }| j                                        | _         |S rO   )rp   r  pop)rS   rp   s     r3   popbodyzLaTeXTranslator.popbody  s#    yN&&((	r2   c                     | j                             d                    | j                  |                                 d           |                     d| j                   S )NrG   )rp   indiceszlatex.tex_t)r   updater   rp   generate_indicesrenderr   s    r3   rZ   zLaTeXTranslator.astext  s^    GGDI&&,,..
 
 	 	 	 {{=$-888r2   Tidwithdocanchorc                 j    |r| j         d         dz   |z   }|rdndd|                     |          z  z   S )N:\phantomsectionrG   
\label{%s})r  idescape)rS   r  r  r  s       r3   hypertargetzLaTeXTranslator.hypertarget  sI     	2"2&,r1B&,4"""VXHYHY8YYYr2   re   c                 d     d                      fd|d         D                       }|rd|z   S |S )NrG   c              3   F   K   | ]}                     |d           V  dS )Fr  N)r#  )r   node_idrS   s     r3   	<genexpr>z1LaTeXTranslator.hypertarget_to.<locals>.<genexpr>  s6      \\W))'%)@@\\\\\\r2   idsr   )r   )rS   re   r  labelss   `   r3   hypertarget_tozLaTeXTranslator.hypertarget_to  sH    \\\\PTUZP[\\\\\ 	%..Mr2   c                 2    d|                      |          z  S )Nz{\hyperref[%s]{r"  rS   r  s     r3   	hyperlinkzLaTeXTranslator.hyperlink  s    !DMM"$5$555r2   c                 2    d|                      |          z  S )Nz\autopageref*{%s}r-  r.  s     r3   hyperpagerefzLaTeXTranslator.hyperpageref  s    #dmmB&7&777r2   sc                 @    t          j        || j        j                  S rO   )r   escaper   r   )rS   r2  s     r3   r4  zLaTeXTranslator.escape  s    4;#;<<<r2   c                     dt          |                              t                                        dd                              d                              dd          z  S )Nz\detokenize{%s}asciibackslashreplace\r   )r   r]   r#   encodedecodereplacer.  s     r3   r"  zLaTeXTranslator.idescape  sN    !CGG$5$5o$F$FF7.//wGD# 	r2   command
definitionc                     | j         d         rd| j                                        z  }d}nd}d}|d|d|d|t          z   S )Nmultilingualz\addto\captions%s{r   rG   z\renewcommand{}{)r   r   get_languager   )rS   r<  r=  prefixsuffixs        r3   r  z"LaTeXTranslator.babel_renewcommand  s]    =( 	*TZ-D-D-F-FFFFFFF/5vvwww


FFSVXXXr2   c                 B    dt           t          t          t           t                   f                  dt          dd f fd}g  j        j        }|r j        j        j	        
                                D ]}|j        D ]}|j        d|j        }t          |t                    r||vr- ||                               j        j                  \  }}|s[                    d|j        z  t&          z               |||           d                              S )Ncontent	collapsedrM   c                                         dt          z                                   dt          z              t          |           D ]\  }\  }}|dk    r                     dt          z                                   d                    |          z  t          z              |D ]}|d         s                     d                    |d                   z             |d         r1                     d	                    |d                   z                                  d
|d         d                    |d                   dt          z                                   dt          z              d S )Nz\begin{sphinxtheindex}z*\let\bigletter\sphinxstyleindexlettergroupr   z\indexspacez\bigletter{%s}   z%\item\relax\sphinxstyleindexentry{%s}   z\sphinxstyleindexextra{%s}z\sphinxstyleindexpageref{r   r  r   z\end{sphinxtheindex})rs   r   	enumerater4  r9  r"  )rE  rF  iletterentriesentryretrS   s         r3   generatez2LaTeXTranslator.generate_indices.<locals>.generate  s   JJ025666JJDrIJJJ(1'(:(: I I$$FGq55JJ~2333

,t{{6/B/BBRGHHH$ 	I 	IE 8 ! JJG#{{5844 5 6 6 6Qx Z

#@4;;uUVxCXCX#XYYYJJJ %a$--a*A*A*A*A CEG H I I I I	I JJ.344444r2   -z\renewcommand{\indexname}{%s}rG   )r	   r   r   r   r   r   latex_domain_indicesrL   envdomainsvaluesr  name
isinstancelistrP  docnamesrs   	localnamer   r   )	rS   rP  indices_configdomainindexcls	indexnamerE  rF  rO  s	   `       @r3   r  z LaTeXTranslator.generate_indices  sV   	5d5d:.>)>#?@ 	5T 	5VZ 	5 	5 	5 	5 	5 	5 	5& 9 	1,*299;; 1 1 & 
1 
1H+1;;; FI!.$77 %$N::$)1&)9)9)B)B-*/ */&GY" ! JJ?(BTTWYYZZZHWi0000
1 wws||r2   template_name	variablesc                    t          | j        j                  }| j        j        D ]N}t	          j        | j        j        ||          }t	          j        |          r|	                    ||          c S O|	                    ||          S )Nr   )
r"   r   r   templates_pathr   r   rL   confdirexistsr  )rS   r_  r`  renderertemplate_dirtemplates         r3   r  zLaTeXTranslator.render  s     dk.FGGG K6 	< 	<Ly!5|!.0 0H{8$$ <x;;;;;< }i888r2   c                 .    | j         r| j         d         S dS )zGet current table.r  N)r  r   s    r3   r   zLaTeXTranslator.table  s     ; 	;r?"4r2   c                    | j                             |                    dd                     | j        dk    rd| _        n<| j        dk    r1| j                            t
          dz   t
          z              d| _        d|v r-| j                            |                     d                     | j        dz
  | _        d S )NdocnamerG   r   r   z	\appendixr  z:doc)	r  rs   rq   r   rp   r   r#  r   sectionlevelr   s     r3   visit_documentzLaTeXTranslator.visit_document  s      )R!8!8999!##"#D A%%IR,.3444"$DIT--f55666 1A5r2   c                     d S rO   r1   r   s     r3   depart_documentzLaTeXTranslator.depart_document!      r2   c                     | j                             |d                    | j                            t          dz   t          z              d S )Nrj  z\sphinxstepscope)r  rs   rp   r   r   s     r3   visit_start_of_filez#LaTeXTranslator.visit_start_of_file$  sD      i111	11B677777r2   c                 8    | j                                          d S rO   )r  r  r   s     r3   depart_start_of_filez$LaTeXTranslator.depart_start_of_file(  s    r2   c                 r    | j         s| xj        dz  c_        | j                            t                     d S Nr   )r   rk  rp   rs   	BLANKLINEr   s     r3   visit_sectionzLaTeXTranslator.visit_section+  s=    % 	#"	#####r2   c                 P    t          | j        dz
  | j        dz
            | _        d S ru  )r   rk  r   r   s     r3   depart_sectionzLaTeXTranslator.depart_section0  s/     1A 5 $ 5 9; ;r2   c                 :    | j                             d           d S )Nz{\color{red}\bfseries{}rp   rs   r   s     r3   visit_problematicz!LaTeXTranslator.visit_problematic4  s    	344444r2   c                 :    | j                             d           d S Nr   r{  r   s     r3   depart_problematicz"LaTeXTranslator.depart_problematic7      	r2   c                 h    d| _         | j                            t          dz   t          z              d S )Nr   z\begin{sphinxShadowBox}r   rp   rs   r   r   s     r3   visit_topiczLaTeXTranslator.visit_topic:  s1    	882=>>>>>r2   c                 X    d| _         | j                            dt          z              d S )Nr   z\end{sphinxShadowBox}r  r   s     r3   depart_topiczLaTeXTranslator.depart_topic>  s,    	1B677777r2   c                     d S rO   r1   r   s     r3   visit_glossaryzLaTeXTranslator.visit_glossaryD  ro  r2   c                     d S rO   r1   r   s     r3   depart_glossaryzLaTeXTranslator.depart_glossaryG  ro  r2   c                     | j                             t                     | j                             dt          z              d| _        d S )Nz\begin{productionlist}r   )rp   rs   rv  r   r   r   s     r3   visit_productionlistz$LaTeXTranslator.visit_productionlistJ  sB    	###	2R7888"#r2   c                 X    | j                             dt          z              d| _        d S )Nz\end{productionlist}r   )rp   rs   rv  r   r   s     r3   depart_productionlistz%LaTeXTranslator.depart_productionlistO  s,    	09<==="#r2   c                    |d         rj|d         }| j                             |                     d|z                        | j                             d|                     |          z             d S | j                             d           d S )N	tokennamezgrammar-token-z\production{%s}{z\productioncont{)rp   rs   r#  r9  )rS   re   tns      r3   visit_productionz LaTeXTranslator.visit_productionS  s     	2k"BIT--.>.CDDEEEI04;;r??BCCCCCI011111r2   c                 J    | j                             dt          z              d S r~  rp   rs   r   r   s     r3   depart_productionz!LaTeXTranslator.depart_production[  s"    	r"""""r2   c                 P    | j                             | j        d                    d S )N
transition)rp   rs   r   r   s     r3   visit_transitionz LaTeXTranslator.visit_transition^  s%    	|455555r2   c                     d S rO   r1   r   s     r3   depart_transitionz!LaTeXTranslator.depart_transitiona  ro  r2   c                    |j         }t          |t          j                  rt          j        t          |t          j                  r| j        rt          |j	                  dk    rNt          |j	        d         t          j
                  s)t                              t          d          |           | j        d         s/|                     |                                          | j        d<   d| _        t          j        d}t#          |                    t          j                            rJd|                     d                    t+          |                                                              z  }	 | j                            d	| j        | j                 |d
           n;# t6          $ r. | j                            d	| j        d         |d
           Y nw xY w| j                            dt:          z   |                     |j                   z              nt          |t          j                  r>| j                            d           | j                            dt:          z              nCt          |t          j                   r=| j                            d           | j                            dt:          z              nt          |t          j!                  r=| j                            d
           | j                            dt:          z              nt          |t          j"                  r| #                    g            net                              t          d          |           | j                            d           | j                            dt:          z              d| _$        d S )Nr   r   z(document title is not a single Text nodelocationtitlerG   [%s] r8  r   r  r   z\sphinxstyletopictitle{z\sphinxstylesidebartitle{zJencountered title node not in section, topic, table, admonition or sidebarz\sphinxstyleothertitle{)%parentrW  r   seealsor   SkipNoder*   r   r   childrenr   r   r   r   r   r4  rZ   anyfindallimager   r    splitrp   rs   r   rk  r   r   r   r+  topicsidebar
Admonitionr   r  r   )rS   re   r  shorts       r3   visit_titlezLaTeXTranslator.visit_titled  so   fh.// +	*. .. (	*% Qt}%%**:dmA>N>Cj4J 4J*NN2&P#Q#Q,0 # 2 2 2}W- H .2[[-G-GDM'*)*&n$t||EK0011 Y#dkk#((<;M;M;S;S;U;U2V2V&W&WWEQI$$$$2CDDU2V2VX]X]X]%^____! Q Q QI$$$$2CB2G2G%OPPPPPQ ##C"Ht/B/B4;/O/O$OPPPP,, 	*I7888Lb)))).. 	*I9:::Lb)))) 011 	*IS!!!Lb)))),, 	*MM"NN2 6 7 7$(  * * * I7888Lb)))s   >0F/ /5G'&G'c                     d| _         t          |j        t          j                  r |                                 | j        _        d S | j                            | j	        
                                           d S Nr   )r   rW  r  r   r   r  r{   rp   rs   r   r  r   s     r3   depart_titlezLaTeXTranslator.depart_title  sa    dk5;// 	1!%DJIT\--//00000r2   c                     t          |j        t          j                  r>| j                            d           | j                            dt          z              d S | j                            d           d S )Nz\sphinxstylesidebarsubtitle{r   rG   )rW  r  r   r  rp   rs   r   r   r   s     r3   visit_subtitlezLaTeXTranslator.visit_subtitle  sk    dk5=11 	$I<===Lb)))))L#####r2   c                 h    | j                             | j                                                   d S rO   rp   rs   r   r  r   s     r3   depart_subtitlezLaTeXTranslator.depart_subtitle  ,    	))++,,,,,r2   c                 V   | j         j        dk    rB| j                            t                     | j                            dt
          z              nA| j                            t                     | j                            dt
          z              | j        rd| j        _        d S d S )Nfootnotez&\begin{savenotes}\begin{fulllineitems}z\begin{fulllineitems}T)r   latex_show_urlsrp   rs   rv  r   r   rx   r   s     r3   
visit_desczLaTeXTranslator.visit_desc  s    ;&*44IY'''IFKLLLLIY'''I5:;;;: 	.)-DJ&&&	. 	.r2   c                 2   | j         r)| j                            t          dz              d| _         | j        j        dk    r,| j                            t          dz   t          z              d S | j                            t          dz   t          z              d S )N\pysigstopsignaturesFr  z"\end{fulllineitems}\end{savenotes}z\end{fulllineitems})r   rp   rs   r   r   r  rv  r   s     r3   depart_desczLaTeXTranslator.depart_desc  s    ! 	+IR"99:::%*D";&*44IR"GG)STTTTTIR"889DEEEEEr2   c                     |D ]A}t          |t          j                  r%| j                            t
          dz               d S B| j                            t
          dz              d S )Nz\pysiglinewithargsret{z\pysigline{)rW  r   desc_parameterlistrp   rs   r   )rS   re   childs      r3   _visit_signature_linez%LaTeXTranslator._visit_signature_line  sq     	2 	2E%!<== 	  &?!?@@@ IR.011111r2   c                 :    | j                             d           d S r~  r{  r   s     r3   _depart_signature_linez&LaTeXTranslator._depart_signature_line  r  r2   c                    d}|j         d         dk    r+|d         r#|d         D ]}||                     |          z  }| j                            |           | j        s)d| _        | j                            t
          dz              |                    d          s|                     |           d S | j                            t
          dz              d S )	NrG   objtypedescriber)  Tz\pysigstartsignaturesis_multilinez\pysigstartmultiline)r  r#  rp   rs   r   r   rq   r  )rS   re   hyperr  s       r3   visit_desc_signaturez$LaTeXTranslator.visit_desc_signature  s    ;y!Z//DK/5k . .))"---	% 	<%)D"IR"::;;;xx'' 	;&&t,,,,,IR"99:::::r2   c                     |                     d          s|                     |           d S | j                            t          dz              d S )Nr  z\pysigstopmultiline)rq   r  rp   rs   r   r   s     r3   depart_desc_signaturez%LaTeXTranslator.depart_desc_signature  sR    xx'' 	:''-----IR"8899999r2   c                 0    |                      |           d S rO   )r  r   s     r3   visit_desc_signature_linez)LaTeXTranslator.visit_desc_signature_line  s    ""4(((((r2   c                 0    |                      |           d S rO   )r  r   s     r3   depart_desc_signature_linez*LaTeXTranslator.depart_desc_signature_line  s    ##D)))))r2   c                 j    | j         sJ | j                            t          dz              d| _         d S )Nr  F)r   rp   rs   r   r   s     r3   visit_desc_contentz"LaTeXTranslator.visit_desc_content  s;    %%%%	55666!&r2   c                     d S rO   r1   r   s     r3   depart_desc_contentz#LaTeXTranslator.depart_desc_content  ro  r2   c                 :    | j                             d           d S )N\sphinxcode{\sphinxupquote{r{  r   s     r3   visit_desc_inlinez!LaTeXTranslator.visit_desc_inline  s    	788888r2   c                 :    | j                             d           d S N}}r{  r   s     r3   depart_desc_inlinez"LaTeXTranslator.depart_desc_inline      	r2   c                 Z    | j                             d           | xj        dz  c_        d S )N\sphinxbfcode{\sphinxupquote{r   rp   rs   r   r   s     r3   visit_desc_namezLaTeXTranslator.visit_desc_name  s3    	9:::1$r2   c                 Z    | j                             d           | xj        dz  c_        d S Nr  r   r  r   s     r3   depart_desc_namez LaTeXTranslator.depart_desc_name  2    	1$r2   c                 Z    | j                             d           | xj        dz  c_        d S )Nr  r   r  r   s     r3   visit_desc_addnamez"LaTeXTranslator.visit_desc_addname  s3    	78881$r2   c                 Z    | j                             d           | xj        dz  c_        d S r  r  r   s     r3   depart_desc_addnamez#LaTeXTranslator.depart_desc_addname  r  r2   c                     d S rO   r1   r   s     r3   visit_desc_typezLaTeXTranslator.visit_desc_type  ro  r2   c                     d S rO   r1   r   s     r3   depart_desc_typez LaTeXTranslator.depart_desc_type  ro  r2   c                 :    | j                             d           d S )Nz{ $\rightarrow$ r{  r   s     r3   visit_desc_returnsz"LaTeXTranslator.visit_desc_returns      	,-----r2   c                 :    | j                             d           d S r~  r{  r   s     r3   depart_desc_returnsz#LaTeXTranslator.depart_desc_returns  r  r2   c                 H    | j                             d           d| _        d S )Nr@  r   )rp   rs   r   r   s     r3   visit_desc_parameterlistz(LaTeXTranslator.visit_desc_parameterlist  s&    	r2   c                 :    | j                             d           d S )Nr@  r{  r   s     r3   depart_desc_parameterlistz)LaTeXTranslator.depart_desc_parameterlist  s    	r2   c                     | j         s| j                            d           nd| _         |                    d          s| j                            d           d S d S )N, r   noemph\emph{)r   rp   rs   hasattrr   s     r3   visit_desc_parameterz$LaTeXTranslator.visit_desc_parameter  sh     	!IT"""" D||H%% 	(IY'''''	( 	(r2   c                 h    |                     d          s| j                            d           d S d S )Nr  r   )r  rp   rs   r   s     r3   depart_desc_parameterz%LaTeXTranslator.depart_desc_parameter"  s<    ||H%% 	"IS!!!!!	" 	"r2   c                 :    | j                             d           d S )Nz\sphinxoptional{r{  r   s     r3   visit_desc_optionalz#LaTeXTranslator.visit_desc_optional&  r  r2   c                 :    | j                             d           d S r~  r{  r   s     r3   depart_desc_optionalz$LaTeXTranslator.depart_desc_optional)  r  r2   c                 :    | j                             d           d S )Nr  r{  r   s     r3   visit_desc_annotationz%LaTeXTranslator.visit_desc_annotation,  s    	9:::::r2   c                 :    | j                             d           d S r  r{  r   s     r3   depart_desc_annotationz&LaTeXTranslator.depart_desc_annotation/  r  r2   c                     | j                             t                     | j                             dt          d         z  t          z              | j                             dt          z              d S )Nz\sphinxstrong{%s:}r  z\nopagebreak)rp   rs   rv  r   r   r   s     r3   visit_seealsozLaTeXTranslator.visit_seealso4  s`    	###	.1A)1LLrQRRR	9455555r2   c                 D    | j                             t                     d S rO   )rp   rs   rv  r   s     r3   depart_seealsozLaTeXTranslator.depart_seealso9  s    	#####r2   c                    t          |          dk    r1|                                dt          d          fv rt          j        | j                            d           | j                            dt          z              d| _	        d S )Nr   	Footnotesz\subsubsection*{r   )
r   rZ   r   r   r  rp   rs   r   r   r   r   s     r3   visit_rubriczLaTeXTranslator.visit_rubric<  sr    t99>>dkkmmQ{^^/LLL. 	,---C"H%%%r2   c                 v    d| _         | j                            | j                                                   d S r  )r   rp   rs   r   r  r   s     r3   depart_rubriczLaTeXTranslator.depart_rubricC  s3    	))++,,,,,r2   c                    | xj         dz  c_         t          t          j        |d                   }| j        r0| j                            d|                                z             nQ| j                            dt          z              | j                            d|                                z             d|v r	 | j                            dt          z              d S )Nr   r   z\begin{footnote}[%s]r   referred\sphinxAtStartFootnote)	r   r   r   labelr   rp   rs   rZ   r   rS   re   r  s      r3   visit_footnotezLaTeXTranslator.visit_footnoteG  s    AU[$q'**! 	GI4u||~~EFFFFIS2X&&&I4u||~~EFFF	2R788888r2   c                     | j         r| j                            d           n<| j                            dt          z              | j                            d           | xj        dz  c_        d S )Nz\end{footnote}r   r   )r   rp   rs   r   r   r   s     r3   depart_footnotezLaTeXTranslator.depart_footnoteT  sr    ! 	0I.////IS2X&&&I.///Ar2   c                     t           j        rO   r   r  r   s     r3   visit_labelzLaTeXTranslator.visit_label\  
    nr2   c                 4    |d         | _         t          j        )Nspec)r  r   r  r   s     r3   visit_tabular_col_specz&LaTeXTranslator.visit_tabular_col_spec_  s    "&v,nr2   c                    t          | j                  dk    rQ| j                                        dk    r't	          | j        d         d|j        pdd          d| j        _        n?t          | j                  dk    r't	          | j        d         d|j        pdd	          | j                            t          |                     | j        j
        4d
| j        j        j        v sd| j        j        j        v rdnd| j        _
        | j        rd| j        z  t          z   | j        _        d| j        j        v r,| j        j                            d           d| j        _
        n+| j        j                            d           d| j        _
        d|                    dg           v r)t&                              t+          d          |           d | _        d S )Nr   r   r  r  rG   z-: longtable does not support nesting a table.Tr   z+: deeply nested tables are not implemented.rk   rj   rn   z{%s}vlinesnovlinesr   rh   zGboth tabularcolumns and :widths: option are given. :widths: is ignored.r  )r   r  r   r   rB   r  linerx   rs   rd   rv   rL   r   latex_table_styler  r   ru   rr   rq   r   infor   r   s     r3   visit_tablezLaTeXTranslator.visit_tablec  s   t{q  z((**k99&&r***DIOOO=> > > .2
**!!""2&&&	R9: : : 	5;;''':$dl1CCC 3 EEE !#  J " 
	G!'$*A!AB!FDJdj(((
!((222$'
!!
!((444$&
! DHHY$;$;;;B  6 7 7AE  G G G"&r2   c                    |                      |          }| j                                        }|                     |dz   | j        |d          }| j                            t                     | j                            |           | j                            t                     | j        	                                 d S )Nz.tex_t)r   r*  )
r+  r   r   r  rp   rs   rv  r   r  r  )rS   re   r*  
table_typer   s        r3   depart_tablezLaTeXTranslator.depart_table  s    $$T**Z..00
J1&*jFCCE E	###		r2   c                     | j         xj        dz  c_        d|v r%| j         j                            |d                    d|v r.| j         j                            | j         j        dz
             d S d S )Nr   colwidthstub)r   rt   rw   rs   r|   r   s     r3   visit_colspeczLaTeXTranslator.visit_colspec  sz    
q J ''Z(8999T>>J##DJ$7!$;<<<<< >r2   c                     d S rO   r1   r   s     r3   depart_colspeczLaTeXTranslator.depart_colspec  ro  r2   c                     d S rO   r1   r   s     r3   visit_tgroupzLaTeXTranslator.visit_tgroup  ro  r2   c                     d S rO   r1   r   s     r3   depart_tgroupzLaTeXTranslator.depart_tgroup  ro  r2   c                 D    |                      | j        j                   d S rO   )r  r   ro   r   s     r3   visit_theadzLaTeXTranslator.visit_thead  s    dj'(((((r2   c                     | j         r*| j         d         dk    r| j                                          |                                  d S Nr  \sphinxhlinerp   r  r  r   s     r3   depart_theadzLaTeXTranslator.depart_thead  <    9 	2/99IMMOOOr2   c                 D    |                      | j        j                   d S rO   )r  r   rp   r   s     r3   visit_tbodyzLaTeXTranslator.visit_tbody  s    djo&&&&&r2   c                     | j         r*| j         d         dk    r| j                                          |                                  d S r3  r5  r   s     r3   depart_tbodyzLaTeXTranslator.depart_tbody  r7  r2   c                    d| j         _        | j         j        }	 | j                             | j         j        | j         j                  }|d S | j         xj        |j        z  c_        |j        r| j                            d           |j        dk    r#| j                            d|j        z             n+| j                            d|j        |||j        fz             )Nr   T&r   \sphinxtablestrut{%d}z.\multicolumn{%d}{%sl%s}{\sphinxtablestrut{%d}})	r   r}   rv   r   r~   r   rp   rs   r   )rS   re   r   r   s       r3   	visit_rowzLaTeXTranslator.visit_row  s    
*#	S:??4:>4:>BBD|
$*,8 *I$$S))):??I$$%=%LMMMMI$$%V&*j'7DL%Q&R S S S	Sr2   c                 t     j                             dt          z               fdt           j        j                  D             } fd|D             }t          |          r j                             d           nd}|                    dg           |d         du rwd}| j        j        k     re||         du r[||dz
           j        ||         j        k    r j                             d|z             |dz  }| j        j        k     r
||         du [| j        j        k     r||d          	                    d          } j                             d	|dz   ||z   fz             ||z  }|dz  }| j        j        k     re||         du r[||dz
           j        ||         j        k    r j                             d|z             |dz  }| j        j        k     r
||         du [| j        j        k     щ j                             d
 j        j        z              j        xj
        dz  c_
        d S )Nz\\c                 Z    g | ]'}j                             j         j        |          (S r1   )r   r   r~   )r   rK  rS   s     r3   r   z.LaTeXTranslator.depart_row.<locals>.<listcomp>  s-    XXX33XXXr2   c                 P    g | ]"}|j         |j        z   j        j         d z   k    #S )r   )r~   r   r   )r   r   rS   s     r3   r   z.LaTeXTranslator.depart_row.<locals>.<listcomp>  s0    UUUtdh,
0BBUUUr2   r4  r   Fr   z\sphinxvlinecrossing{%d}z\sphinxcline{%d-%d}z\sphinxfixclines{%d})rp   rs   r   r   r   rt   allextendr   r   r~   )rS   re   r   
underlinedrK  js   `     r3   
depart_rowzLaTeXTranslator.depart_row  se   	$$$XXXXU4:CV=W=WXXXUUUUuUUU
z?? 	LI_----Aug&&&!}%%$*---*Q-52H2HQU|+uQx/???	(()Dq)HIIIFA $*---*Q-52H2H dj)))qrrN((//	  !71q5!a%.!HIIIQQ$*---*Q-52H2HQU|+uQx/???	(()Dq)HIIIFA $*---*Q-52H2H dj))) I4tz7JJKKK
!r2   c                 Z   | j         j        dk    r| j                            d           | j                             |                    dd          dz   |                    dd          dz              | j                                         }d}| j         j        }|j        dk    r| j	        j
        ru| j         j        dk    r.| j                            d|j        ||fz  t          z              n,| j                            d|j        |fz  t          z              d	t          z   }n4| j                            d
|j        z  t          z              dt          z   }|j        dk    r>| j                            d|j        |j        fz  t          z              d	t          z   |z   }|j        dk    s|j        dk    rU| j                            d|j        | j         j        fz  t          z              dt          z   dz   t          z   |z   }d| _        t!          t#          |                    t&          j                                      dk    rd| j         _        t-          |j        j        t&          j                  s|j        | j         j        v rft!          |          dk    r9t-          |d         t&          j                  r|                                dk    rn| j                            d           | j        r|                     g            | j                            |           d S )Nr   r=  morerowsr   morecolsrG   z\multicolumn{%d}{%sl%s}{%%z\multicolumn{%d}{l%s}{%%}%z\sphinxstartmulticolumn{%d}%%z\sphinxstopmulticolumnz\sphinxmultirow{%d}{%d}{%%z,\begin{varwidth}[t]{\sphinxcolwidth{%d}{%d}}z\parz7\vskip-\baselineskip\vbox{\hbox{\strut}}\end{varwidth}%r   Tz\sphinxstyletheadfamily )r   r}   rp   rs   r   rq   r   rv   r   r   latex_use_latex_multicolumnr   r   r   rt   r   r   rX  r  r   r-   ry   rW  r  theadr|   rZ   r  r   )rS   re   r   r   r   s        r3   visit_entryzLaTeXTranslator.visit_entry  s   :>AIS!!!
DHHZ33a7*a9P9PST9TUUUz  *#:>>{6 	9:>Q&&I$$%B&*j'7%C&DFH&I J J J J I$$%@DJPWCX%X[]%]^^^)	  !ADJ!NQS!STTT3b8;??I:dk4<=XX[]]^^^Ri')G:>>T[1__IL $
DJ,?@ACEF G G G| '> >@BCELMG&'D#tDLL112233q88,0DJ)dk(%+66 	>48tzGW;W;W4yyA~~*T!Weo"F"F~4;;==\^K^K^	  !<===" 	MM"G$$$$$r2   c                 &   | j         rpd| _         |                                 }|r9|d         t          k    r(|                    d           |r|d         t          k    (| j                            |           | j                            | j                                                   | j        	                                }| j        xj
        |j        z  c_
        | j        j        }	 | j        	                                }|d S | j                            d           |j        dk    r#| j                            d|j        z             n*| j                            d|j        ||j        fz             | j        xj
        |j        z  c_
        )Nr   Tr=  r   r>  z,\multicolumn{%d}{l%s}{\sphinxtablestrut{%d}})r   r  r   r  rp   rD  rs   r   r   r   r}   r   rv   r   )rS   re   rp   r   r   nextcells         r3   depart_entryzLaTeXTranslator.depart_entry  s~   " 	#&'D#<<>>D  47b==  47b==IT"""	))++,,,z  
$*$*#	1z((H	  %%%>Q&& I$$%=@P%PQQQQ I$$%T&.ngx?O%P&Q R R R
(.0	1r2   c                    t          t          j        |d                   }t          t          t          j                 |          }| j                            t                     | j                            d                    d |D                       dz              | j                            t                     t          j	        )Nr   r  c              3   >   K   | ]}|                                 V  d S rO   rZ   )r   ns     r3   r(  z-LaTeXTranslator.visit_acks.<locals>.<genexpr>/  s*      "B"B!188::"B"B"B"B"B"Br2   .)
r   r   bullet_listr   	list_itemrp   rs   rv  r   r  )rS   re   rW  
list_itemss       r3   
visit_ackszLaTeXTranslator.visit_acks)  s     5,d1g66(5?3[AA
	###	"B"Bz"B"B"BBBSHIII	###nr2   c                     | j         s"| j                            dt          z              | j        rd| j        _        d S d S )Nz\begin{itemize}Tr   rp   rs   r   r   rx   r   s     r3   visit_bullet_listz!LaTeXTranslator.visit_bullet_list3  sM      	6I/"4555: 	.)-DJ&&&	. 	.r2   c                 \    | j         s$| j                            dt          z              d S d S )Nz\end{itemize}r   rp   rs   r   r   s     r3   depart_bullet_listz"LaTeXTranslator.depart_bullet_list9  s9      	4I-233333	4 	4r2   c                    dt           dt          fd}dt           dt          ffddt           |                                                    z  }dt           |          dz                                             z  }t
                               ||                    }|                    dd          }|                    d	d
          }| j                            dt          z              | j                            d|d|d|d|d|dt          z              d|v r0| j                            d||d         dz
  fz  t          z              | j
        rd| j
        _        d S d S )Nre   rM   c                     |                      dd          }d|v r,d|                      dd          t          |           z   k     rd}|S )Nenumtyper5   alpha   startr   )rq   r   )re   rc  s     r3   get_enumtypez;LaTeXTranslator.visit_enumerated_list.<locals>.get_enumtype>  sM    xx
H55H(""rDHHWa,@,@3t99,L'L'L#Or2   c                     | dS t          | t          j                  r | j                  dz   S  | j                  S r   )rW  r   enumerated_listr  )re   get_nested_levels    r3   rj  z?LaTeXTranslator.visit_enumerated_list.<locals>.get_nested_levelF  sM    |qD%"788 5''44q88''444r2   zenum%sr   rB  rG   rC  rV  z\begin{enumerate}z\sphinxsetlistlabels{r@  rK  rf  z\setcounter{%s}{%d}T)r   r   r   r$   lowerENUMERATE_LIST_STYLErq   rp   rs   r   r   rx   )	rS   re   rg  enumenumnextstylerB  rC  rj  s	           @r3   visit_enumerated_listz%LaTeXTranslator.visit_enumerated_list=  s   	w 	3 	 	 	 		57 	5s 	5 	5 	5 	5 	5 	5 '"2"24"8"899??AAAg&6&6t&<&<q&@AAGGIII$((d););<<(B''(C((	-2333	%%xxxACEF 	G 	G 	Gd??I3tT']Q=N6OORTTUUU: 	.)-DJ&&&	. 	.r2   c                 J    | j                             dt          z              d S )Nz\end{enumerate}r  r   s     r3   depart_enumerated_listz&LaTeXTranslator.depart_enumerated_list\  s$    	+b011111r2   c                 :    | j                             d           d S )Nz	\item {} r{  r   s     r3   visit_list_itemzLaTeXTranslator.visit_list_item_  s      		&&&&&r2   c                 D    | j                             t                     d S rO   r  r   s     r3   depart_list_itemz LaTeXTranslator.depart_list_itemd      	r2   c                 t    | j                             dt          z              | j        rd| j        _        d S d S )Nz\begin{description}Trp   rs   r   r   rx   r   s     r3   visit_definition_listz%LaTeXTranslator.visit_definition_listg  sB    	/"4555: 	.)-DJ&&&	. 	.r2   c                 J    | j                             dt          z              d S )Nz\end{description}r  r   s     r3   depart_definition_listz&LaTeXTranslator.depart_definition_listl  $    	-233333r2   c                     d S rO   r1   r   s     r3   visit_definition_list_itemz*LaTeXTranslator.visit_definition_list_itemo  ro  r2   c                     d S rO   r1   r   s     r3   depart_definition_list_itemz+LaTeXTranslator.depart_definition_list_itemr  ro  r2   c                    | xj         dz  c_         d}|                    d          r'd}|d         D ]}||                     |d          z  }|dz  }| j                            d           | j                            |           d S )	Nr   rG   r)  r   Fr&  r   z\sphinxlineitem{)r   rq   r#  rp   rs   r   )rS   re   ctxr'  s       r3   
visit_termzLaTeXTranslator.visit_termu  s    88E?? 	?$C; ? ?t'''>>>t	,---C     r2   c                     | j                             | j                                                   | xj        dz  c_        d S ru  )rp   rs   r   r  r   r   s     r3   depart_termzLaTeXTranslator.depart_term  s:    	))++,,,r2   c                 :    | j                             d           d S )Nz{[}r{  r   s     r3   visit_classifierz LaTeXTranslator.visit_classifier      	r2   c                 :    | j                             d           d S )Nz{]}r{  r   s     r3   depart_classifierz!LaTeXTranslator.depart_classifier  r  r2   c                     d S rO   r1   r   s     r3   visit_definitionz LaTeXTranslator.visit_definition  ro  r2   c                 D    | j                             t                     d S rO   r  r   s     r3   depart_definitionz!LaTeXTranslator.depart_definition  rw  r2   c                 t    | j                             dt          z              | j        rd| j        _        d S d S )Nz \begin{quote}\begin{description}Try  r   s     r3   visit_field_listz LaTeXTranslator.visit_field_list  sB    	<rABBB: 	.)-DJ&&&	. 	.r2   c                 J    | j                             dt          z              d S )Nz\end{description}\end{quote}r  r   s     r3   depart_field_listz!LaTeXTranslator.depart_field_list  s$    	82=>>>>>r2   c                     d S rO   r1   r   s     r3   visit_fieldzLaTeXTranslator.visit_field  ro  r2   c                     d S rO   r1   r   s     r3   depart_fieldzLaTeXTranslator.depart_field  ro  r2   c                    |j                             |          }|dk    rt          |j         t          j                  rtt          |j         |dz
           t          j                  sLt          |j         |dz
           t          j                  s$| j                            dt          z              d S |dk    r(t          |j         t          j	        t          f          rd S | j                            t          dt          z   g           d S )Nr   r   	\noindentz\sphinxAtStartPar)r  r   rW  r   compoundr-   rp   rs   r   r  footnotetextrD  )rS   re   r   s      r3   visit_paragraphzLaTeXTranslator.visit_paragraph  s    !!$''AII*T[%.AAIt{5195uGG t{5195u~FF  I\B./////aZZJt{U^\4RSSZ D
 Ib"6";<=====r2   c                 D    | j                             t                     d S rO   r  r   s     r3   depart_paragraphz LaTeXTranslator.depart_paragraph  rw  r2   c                 t    | j                             t          dz              | j        rd| j        _        d S d S )N\begin{center}Try  r   s     r3   visit_centeredzLaTeXTranslator.visit_centered  sB    	//000: 	.)-DJ&&&	. 	.r2   c                 J    | j                             t          dz              d S )N\end{center}r  r   s     r3   depart_centeredzLaTeXTranslator.depart_centered  s#    	o-.....r2   c                 N   | xj         dz  c_         |d         }| j         dk    r"| j                            dt          z              | j                            d|z   dz   t          z              | j                            dt          z              | j        rd| j        _        d S d S )Nr   ncolumnsz\setlength{\multicolsep}{0pt}z\begin{multicols}{z}\raggedrightzA\begin{itemize}\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}Tr\  )rS   re   r  s      r3   visit_hlistzLaTeXTranslator.visit_hlist  s    Q
#q  I=BCCC	.9<LLrQRRR	 68:; 	< 	< 	<: 	.)-DJ&&&	. 	.r2   c                 j    | xj         dz  c_         | j                            dt          z              d S )Nr   z*\end{itemize}\raggedcolumns\end{multicols}r_  r   s     r3   depart_hlistzLaTeXTranslator.depart_hlist  s8    Q	FKLLLLLr2   c                     d S rO   r1   r   s     r3   visit_hlistcolzLaTeXTranslator.visit_hlistcol  ro  r2   c                     d S rO   r1   r   s     r3   depart_hlistcolzLaTeXTranslator.depart_hlistcol  s	     	r2   r   r   r   c                     	 t          ||          S # t          $ r, t                              t	          d          |           Y d S w xY w)Nz&dimension unit %s is invalid. Ignored.)r   r   r   r   r   )rS   r   r   s      r3   latex_image_lengthz"LaTeXTranslator.latex_image_length  sV    	%i777 	 	 	NN2FGGSSS44	s    2AAc                 @    t          |j        t          j                  S )z2Check whether a node represents an inline element.)rW  r  r   TextElementr   s     r3   	is_inlinezLaTeXTranslator.is_inline  s    $+u'8999r2   c                    g }g }g }t          |j        t          j                  }|r|                     |j                  }n|                     |          }d|v r\d|v r#|                     |d         |d                   }n|                     |d                   }|r|                    d|z             d|v r\d|v r#|                     |d         |d                   }n|                     |d                   }|r|                    d|z             d|v r0|s.|                    dt          |d                   dz  z             d|v rmd	d
ddddd}		 |                    |	||d         f         d                    |                    |	||d         f         d                    n# t          $ r Y nw xY w| j	        r*|                    d           |                    d           |s9|s7|                    t          dz              |                    t                     |                                 |d         | j        j        v r| j        j        |d                  }
n| j        rd S |d         }
|
                    d          dk    rd S | j                            |           d}|rdd                    |          z  }t'          j        |
          \  }}| j        r|rd|d|d|d}nd|d|d|d}d|v rd |z   dz   }| j                            |           | j                            |           d S )!Nr   r   zwidth=%sr   z	height=%szscale=%sr   rg   )rG   rG   )z\raisebox{-0.5\height}{r   )z\raisebox{-\height}{r   ){\hspace*{\fill}\hspace*{\fill}})r   r  )r  r   ))r   top)r   middle)r   bottom)r   center)r   left)r   rightr   r   z!{\sphinxunactivateextrasandspace r   r  uriz://r  rG   r  r   z!\lowercase{\sphinxincludegraphicsz}{{z\sphinxincludegraphicsz{{#z{\catcode`\#=12)rW  r  r   	referencer  r  rs   r   KeyErrorr   r   reverserL   imagesignore_missing_imagesfindrp   rD  r   r   splitextr   )rS   re   prepostinclude_graphics_optionshas_hyperlinkr  whalign_prepostr  optionsbaseextcmds                  r3   visit_imagezLaTeXTranslator.visit_image  s   #% "4;@@ 	-t{33IIt,,Id??$++DM4=II++DM:: @(//
Q???t$++DNDMJJ++DN;; A(//a@@@d??+ R )//
38g3G3G%3O1Q R R Rd?? %@=I 88 M

=DM)AB1EFFFM)T']*BCAFGGGG   ! 	JJ;<<<KK 	 	JJrL()))KKOOO;$,---,%d5k2CC ) u+C88E??b  F	# 	Bsxx(@AAAGM#&&	c= 	MT 	M 	M FMWWdddTWTWTWXCC9@$$$LC$;;$s*S0C		s   AF- -
F:9F:c                     d S rO   r1   r   s     r3   depart_imagezLaTeXTranslator.depart_image7  ro  r2   c                 t   | j         d         }| j        rd}| j        rd|v re|                     |d                   }|rG| j                            d|z  t          z              | j                            dt          z              nD| j                            dt          z              | j                            dt          z              t          d |D                       r| j                            d           | j                            d	t          z              d S |	                    d
d          dv rd }d|v r|                     |d                   }nKt          |d         t          j                  r+d|d         v r!|                     |d         d                   }| j                            t                     | j                            d|d
         dk    rdndd|pddt          z              | j                            d           | j                            dt          z              d S | j        rF| j                            t          dz              | j                            dt          z              d S | j                            t          d|z  z   t          z              | j                            dt          z              t          d |D                       r"| j                            dt          z              | j                            dt          z              d S )Nfigure_alignHr   z!\begin{sphinxfigure-in-table}[%s]z
\centeringz\begin{sphinxfigure-in-table}c              3   J   K   | ]}t          |t          j                  V  d S rO   rW  r   r{   r   r  s     r3   r(  z/LaTeXTranslator.visit_figure.<locals>.<genexpr>H  .      FF:eU]33FFFFFFr2   z	\capstartz!\end{sphinxfigure-in-table}\relaxrg   rG   )r  r  r   z\begin{wrapfigure}{r  rr   r@  0ptr   z\end{wrapfigure}r  r  z\begin{figure}[%s]c              3   J   K   | ]}t          |t          j                  V  d S rO   r  r  s     r3   r(  z/LaTeXTranslator.visit_figure.<locals>.<genexpr>]  r  r2   z\end{figure})r   r   r   r  rp   rs   r   r  r   rq   rW  r   r  rv  r   )rS   re   rg   lengths       r3   visit_figurezLaTeXTranslator.visit_figure:  s'   n- 	E: !	6$00g?? 9I$$%IF%RUW%WXXXI$$]R%7888	  !AB!FGGG	  !3444FFFFFFF /	  ...L Dr IJJJJJXXgr""&777F$00g??DGU[11 Cga6H6H00a1ABBIY'''I%)']g%=%=cc3FFRWY[]^ _ _ _I]+++L 3b 899999 	6IR"33444L" 455555IR"7%"??"DEEEI]R/000FFFFFFF 4	  !2333L" 455555r2   c                 h    | j                             | j                                                   d S rO   r  r   s     r3   depart_figurezLaTeXTranslator.depart_figurea  r  r2   c                    | xj         dz  c_         t          |j        t                    r| j                            d           d S | j        r;t          |j        t          j                  r| j                            d           d S | j	        r,|j        j
        dk    r| j                            d           d S | j                            d           d S )Nr   z\sphinxSetupCaptionForVerbatim{z\captionof{figure}{figurez\sphinxfigcaption{z	\caption{)r   rW  r  captioned_literal_blockrp   rs   r   r   r  r   tagnamer   s     r3   visit_captionzLaTeXTranslator.visit_captiond  s    1dk#:;; 	+I?@@@@@ 	+*T[%,"G"G 	+I344444Z 	+DK/8;;I233333I\*****r2   c                     | j                             d           t          |j        t          j                  r4|                     |j                  }| j                             |           | xj        dz  c_        d S )Nr   r   )rp   rs   rW  r  r   r  r+  r   )rS   re   r*  s      r3   depart_captionzLaTeXTranslator.depart_captiono  sm    	dk5<00 	%((55FIV$$$1r2   c                 J    | j                             t          dz              d S )Nz\begin{sphinxlegend}r  r   s     r3   visit_legendzLaTeXTranslator.visit_legendv  s$    	5566666r2   c                 J    | j                             dt          z              d S )Nz\end{sphinxlegend}r  r   s     r3   depart_legendzLaTeXTranslator.depart_legendy  s$    	.344444r2   c                 j    | j                             t          dz              | xj        dz  c_        d S )Nz\begin{sphinxadmonition}{note}r   rp   rs   r   r   r   s     r3   visit_admonitionz LaTeXTranslator.visit_admonition|  s8    	??@@@!r2   c                 j    | j                             dt          z              | xj        dz  c_        d S Nz\end{sphinxadmonition}r   r  r   s     r3   depart_admonitionz!LaTeXTranslator.depart_admonition  8    	2R7888!r2   c                     t           |j                 }| j                            t          d|j        d|dz              | xj        dz  c_        d S )Nz\begin{sphinxadmonition}{r@  z:}r   )r   r  rp   rs   r   r   r  s      r3   _visit_named_admonitionz'LaTeXTranslator._visit_named_admonition  s_     .	,,,/ / 	0 	0 	0!r2   c                 j    | j                             dt          z              | xj        dz  c_        d S r  r  r   s     r3   _depart_named_admonitionz(LaTeXTranslator._depart_named_admonition  r  r2   c                     d S rO   r1   r   s     r3   visit_versionmodifiedz%LaTeXTranslator.visit_versionmodified  ro  r2   c                     d S rO   r1   r   s     r3   depart_versionmodifiedz&LaTeXTranslator.depart_versionmodified  ro  r2   c                     dt           dd f fd}}t          |t          j                  r0|                    d          }t          |t          j                  0t          t           j        j        	                    d                    }t          |t                    rd S |                    |          r|                    |          rd S dv rd S dv rd S                     d	          rMt                    }t          |t          j                  rd	         |d	         k    rn |d	                    d
         D ]} ||           d S )Nr  rM   c                    |                      d          rd S |                      d          rd S j                                      }|dk    rGt          j        |dz
           t          j                  rj                            t                     j	         }j                            
                    | |                     d S )Nzindex-z	equation-r   r   r&  )
startswithr  r   rW  r   r-   rp   rs   r   r   r#  )r  r   r  re   rS   s      r3   
add_targetz0LaTeXTranslator.visit_target.<locals>.add_target  s     }}X&&  }}[))  K%%d++EqyyZEAI(>PPy	  $$$ &FIT--b-@@AAAAAr2   T)ascendstdrefuri	anonymousrefidr)  )r   rW  r   target	next_noder   r   rL   rS  
get_domainHYPERLINK_SUPPORT_NODESget_enumerable_node_typeget_numfig_titlerq   r!   r  )rS   re   r  r  r\  	prev_noder  s   ``     r3   visit_targetzLaTeXTranslator.visit_target  s   	B3 	B4 	B 	B 	B 	B 	B 	B 	B* 	EL11 	9!++4+88I EL11 	9 ndl&6&A&A%&H&HIIi!899 	F,,Y77 	F<S<ST]<^<^ 	FtF$F88G 	*%d++I)U_55 *$w-9U\K]:]:]
4=)))u+ 	 	BJrNNNN	 	r2   c                     d S rO   r1   r   s     r3   depart_targetzLaTeXTranslator.depart_target  ro  r2   c                     | j                             t          dz   t          z              | j                             d           d S )Nz\begin{flushright}z---r  r   s     r3   visit_attributionz!LaTeXTranslator.visit_attribution  s?    	33b8999	r2   c                 Z    | j                             t          dz   t          z              d S )Nz\end{flushright}r  r   s     r3   depart_attributionz"LaTeXTranslator.depart_attribution  s)    	11B677777r2   c                     dt           dt           f fddt           dt           fd}|                    dd          s j                            t                     |d         }|D ]:\  }}}}}d	}	|rd
}		 |dk    r	 fdt          dd|          D             \  }
} ||
           ||          }} j                            d|
d|d|d||	d
           n# t          $ rR  t          dd|          d                   } ||          } j                            d|d||	d           Y n(w xY w|dk    rofdt          dd|          D             \  }
} ||
           ||          }} j                            d|
d|d|d||	d|d|d|
d||	d           n|dk    rՈfdt          dd|          D             \  }
}} ||
           ||           ||          }}} j                            d	                    g d|
d|d|d|d|d||	d|d|d|d|
d|d||	d|d|d|
d|d|d||	d                     n|dk    rPfdt          dd|          D             \  }
} ||
          } j                            d|
d|d|d           n~|d k    rPfd!t          dd |          D             \  }
} ||
          } j                            d|
d|d|d           n(t          	                    t          d"          |           # t          $ r2}t          	                    t          |                     Y d }~4d }~ww xY w|                    dd          s j                            d#           t          j        )$NvaluerM   c                 :                        |           } |                     dd          } |                     dd          } |                     dd          } |                     dd          } |                     d	d
          } |                     dd          } | S )Nz\{z\sphinxleftcurlybrace{}z\}z\sphinxrightcurlybrace{}"z""@z"@!z"!rn   z
\textbar{}r9  r;  )r  rS   s    r3   r4  z+LaTeXTranslator.visit_index.<locals>.escape  s    KK&&EMM%)CDDEMM%)DEEEMM#t,,EMM#t,,EMM#t,,EMM#}55ELr2   stringc                 n    t                               |           }|r|                    d          S d| z  S )Nz\\spxentry{\1}\\spxextra{\2}z\spxentry{%s})EXTRA_REr   expand)r  r   s     r3   ro  z*LaTeXTranslator.visit_index.<locals>.style  s9    NN6**E 1||$CDDD'&00r2   inlineTrM  rG   z	|spxpagemsinglec                 &    g | ]} |          S r1   r1   r   xr4  s     r3   r   z/LaTeXTranslator.visit_index.<locals>.<listcomp>  !    !U!U!U&&))!U!U!Ur2   r   z\index{r  r  r   r   r   pairc                 &    g | ]} |          S r1   r1   r   s     r3   r   z/LaTeXTranslator.visit_index.<locals>.<listcomp>  s!    OOOAffQiiOOOr2   z}\index{triplec                 &    g | ]} |          S r1   r1   r   s     r3   r   z/LaTeXTranslator.visit_index.<locals>.<listcomp>  r"  r2   rH  r  r  seec                 &    g | ]} |          S r1   r1   r   s     r3   r   z/LaTeXTranslator.visit_index.<locals>.<listcomp>  s!    NNNAffQiiNNNr2   z|see{r  r  c                 &    g | ]} |          S r1   r1   r   s     r3   r   z/LaTeXTranslator.visit_index.<locals>.<listcomp>  s!    RRRAffQiiRRRr2   z!unknown index entry type %s foundz\ignorespaces )r   rq   rp   rs   r   r   r   r   r   r   r   r   r  )rS   re   ro  rM  typer  _tidismain_keymp1p2P1P2pPp3P3errr4  s   `                  @r3   visit_indexzLaTeXTranslator.visit_index  sD   	# 	# 	 	 	 	 	 		1# 	1# 	1 	1 	1 	1 xx$'' 	!IR   y/07 (	) (	),D&$A  $)8##I!U!U!U!UZ8V5T5T!U!U!UB!&rEE"IIB	(((RRRRRRQSQSUVUVUV)WXXXX% I I I"F:a6#B#B1#EFF!E!HH	(((qqq!!QQQ)GHHHHHI V^^OOOOAvv1N1NOOOFB"U2YYb		BI$$$&(bb"""bbb""aaaRRRRR&L M M M MX%%!U!U!U!UZ8V5T5T!U!U!UJBB!&rEE"IIuuRyyBBI$$4 4 4 4 4 4 4 4 4  R4 4 4 "$4 4 4 &(R4 4 4 *,4 4 4 .0R4 234 4 4 	4 4 4  R	4 4 4 "$	4 4 4 &(R	4 4 4 *,	4 4 4 .0R	4 23	4 4 4
 4 4 4
  R4 4 4
 "$4 4 4
 &(R4 4 4
 *,4 4 4
 .0R4
 234 4 4 4 45 5 5 5 U]]NNNNAuf1M1MNNNFBrBI$$$RRR%LMMMMY&&RRRRAy&1Q1QRRRFBrBI$$$RRR%LMMMMNN2&I#J#JDQQQ ) ) )s3xx(((((((()xx$'' 	0I.///ns?   8M%?AC M% AD<8M%;D<<H'M%%
N!/'NN!c                    |                      |          s| j                            t                     d|                    dd                                          v r,| j                            |                                           |                      |          s| j                            t                     t          j        )Nr   formatrG   )	r  rp   rs   r   rq   r  rZ   r   r  r   s     r3   	visit_rawzLaTeXTranslator.visit_raw!  s    ~~d## 	!IR   dhhx,,224444IT[[]]+++~~d## 	!IR   nr2   c                 x   | j         sE|                    d          D ]/}| j         }| xj        |                     ||          z  c_        0|                     |          s| j                            t                     |                    dd          }|s1|                    d          rd| j        d         z   dz   |d         z   }| j         s|s| j	                            d           d S |
                    d          r| j        d         d	z   |d
d          z   }| j                            |                     |                     | j                            d           | j        j        r9| j        s2| j	                            d|                     |          z             d S | j	                            d           d S |
                    d          rr|                    d          }|dk    r|d
d          dz   }n|d
d                              dd	          }| j                            |                     |                     t%          |          rtt'          |d         t(          j                  rTd|d                             dg           v r6| j	                            d           | j                            d           d S | j                            d           | j        j        r9| j        s2| j	                            d|                     |          z             d S | j	                            d           d S t%          |          d
k    r||d         k    r|                    d          r1| j                            d|                     |          z             n0| j                            d|                     |          z             t(          j        | j                            d|                     |          z             | j	                            d           d S )Nr)  r&  r  rG   r  r   r  r  r  r   r  z}}} (%s)z}}}z::docr   zstd-termrh   z\sphinxtermref{z\sphinxcrossref{	nolinkurlz\sphinxnolinkurl{%s}z\sphinxurl{%s}z\sphinxhref{%s}{r   )r   rq   r   rp   r#  r  rs   r   r  r   r  r/  r   latex_show_pagerefsr   r1  r  r;  r   rW  r   r   
encode_urir  )rS   re   r  r  r  	hashindexs         r3   visit_referencezLaTeXTranslator.visit_reference*  s	   } 	Ahhuoo A A!_,		T--b-@@@			~~d## 	!IR   hhx$$ 	Dtxx(( 	D)"--3d7mCC= ,	) ,	)L#####^^C   *	)"2&,s122w6BIT^^B//000IY'''{. +++##J1B1B21F1F$FGGGGG##E*****^^C    	)IBWw& W__S#..IT^^B//000D		 /tAw66/$q'++i"<"<<<##E***	  !344444	  !4555;2 /4;R /L''
T5F5Fr5J5J(JKKKKKL''.....4yyA~~#a..88K(( OI$$%<ts?S?S%STTTTI$$%69M9M%MNNNn$	  !4ts7K7K!KLLL##C(((((r2   c                     | j                             | j                                                   |                     |          s!| j                             t
                     d S d S rO   )rp   rs   r   r  r  r   r   s     r3   depart_referencez LaTeXTranslator.depart_referenceb  s`    	))++,,,~~d## 	!IR     	! 	!r2   c                    |                     d          r| j        d         dz   |d         z   }n2|                     dd          dd                              dd          }|                     |                     dd	                                        d
d	          }d|v sd|v r{|                    dd                              dd          }t	          |                              d|                     |          z  d|                     |          z            }n(t	          |          d|                     |          z  z  }d|                     |          d|d}| j                            |           t          j
        )Nr  r  r  r  rG   r   r  r  z%sz\%sz\{name\}z
\{number\}z{name}z{number}z\nameref{%s}\ref{%s})rV  numberz
\hyperref[]{r   )rq   r  r;  r4  r   r:  r"  rp   rs   r   r  )rS   re   r  r  r   hyperrefs         r3   visit_number_referencez&LaTeXTranslator.visit_number_referenceg  sz   88G 	>"2&,tG}<BB(B''+33C==BDHHWd3344<<VTJJ%=E#9#9MM+x88@@PZ[[Eu%%,,/DMMRTDUDU2U4?$--PRBSBS4S - U UDD u%%t}}R7H7H)HID+/==+<+<+<+<dddC	"""nr2   c                     d S rO   r1   r   s     r3   visit_download_referencez(LaTeXTranslator.visit_download_reference{  ro  r2   c                     d S rO   r1   r   s     r3   depart_download_referencez)LaTeXTranslator.depart_download_reference~  ro  r2   c                     d S rO   r1   r   s     r3   visit_pending_xrefz"LaTeXTranslator.visit_pending_xref  ro  r2   c                     d S rO   r1   r   s     r3   depart_pending_xrefz#LaTeXTranslator.depart_pending_xref  ro  r2   c                 :    | j                             d           d S )Nz\sphinxstyleemphasis{r{  r   s     r3   visit_emphasiszLaTeXTranslator.visit_emphasis  s    	122222r2   c                 :    | j                             d           d S r~  r{  r   s     r3   depart_emphasiszLaTeXTranslator.depart_emphasis  r  r2   c                 :    | j                             d           d S )Nz+\sphinxstyleliteralemphasis{\sphinxupquote{r{  r   s     r3   visit_literal_emphasisz&LaTeXTranslator.visit_literal_emphasis  s    	GHHHHHr2   c                 :    | j                             d           d S r  r{  r   s     r3   depart_literal_emphasisz'LaTeXTranslator.depart_literal_emphasis  r  r2   c                 :    | j                             d           d S )Nz\sphinxstylestrong{r{  r   s     r3   visit_strongzLaTeXTranslator.visit_strong  s    	/00000r2   c                 :    | j                             d           d S r~  r{  r   s     r3   depart_strongzLaTeXTranslator.depart_strong  r  r2   c                 :    | j                             d           d S )Nz)\sphinxstyleliteralstrong{\sphinxupquote{r{  r   s     r3   visit_literal_strongz$LaTeXTranslator.visit_literal_strong  s    	EFFFFFr2   c                 :    | j                             d           d S r  r{  r   s     r3   depart_literal_strongz%LaTeXTranslator.depart_literal_strong  r  r2   c                 v   |                                 }| j                            d           |                    d          r[|| j        vrR| j                            d|                     |d                   z             | j                            |           d S | j                            d           d S )Nz\sphinxstyleabbreviation{explanationz} (%s)r   )rZ   rp   rs   r  r  r   r9  add)rS   re   abbrs      r3   visit_abbreviationz"LaTeXTranslator.visit_abbreviation  s    {{}}	5666<<&& 	%4t7I+I+IL4;;tM7J+K+K KLLL""4(((((L$$$$$r2   c                 h    | j                             | j                                                   d S rO   r  r   s     r3   depart_abbreviationz#LaTeXTranslator.depart_abbreviation  r  r2   c                 ,    |                      |          S rO   )rW  r   s     r3   visit_manpagezLaTeXTranslator.visit_manpage  s    **4000r2   c                 ,    |                      |          S rO   )rY  r   s     r3   depart_manpagezLaTeXTranslator.depart_manpage  s    ++D111r2   c                 :    | j                             d           d S )Nz\sphinxtitleref{r{  r   s     r3   visit_title_referencez%LaTeXTranslator.visit_title_reference  r  r2   c                 :    | j                             d           d S r~  r{  r   s     r3   depart_title_referencez&LaTeXTranslator.depart_title_reference  r  r2   c                 v   t          t          t          j                 |          }d |D             }t	          d |D             t
                    }t          |          t          k    r|d t                   }| j                            t          d| 
                    |          z  z   t          z              d S )Nc              3   V   K   | ]$}t          t          j        |d                    V  %dS )r   N)r   r   r  )r   citations     r3   r(  z8LaTeXTranslator.visit_thebibliography.<locals>.<genexpr>  s2      KKX$u{HQK00KKKKKKr2   c              3   >   K   | ]}|                                 V  d S rO   rT  )r   r  s     r3   r(  z8LaTeXTranslator.visit_thebibliography.<locals>.<genexpr>  s*      @@U\\^^@@@@@@r2   )keyz!\begin{sphinxthebibliography}{%s})r   r   r   rs  r   r   MAX_CITATION_LABEL_LENGTHrp   rs   r   r9  )rS   re   	citationsr*  longest_labels        r3   visit_thebibliographyz%LaTeXTranslator.visit_thebibliography  s    %.1488	KKKKK@@@@@cJJJ} 999)*D+D*DEM	B]334 4689 	: 	: 	: 	: 	:r2   c                 J    | j                             dt          z              d S )Nz\end{sphinxthebibliography}r  r   s     r3   depart_thebibliographyz&LaTeXTranslator.depart_thebibliography  s$    	7"<=====r2   c           	          t          t          j        |d                   }| j                            d|                     |                                          d|d         d|d         d         d           d S )Nr   z	\bibitem[rG  rj  r  r)  r   )r   r   r  rp   rs   r9  rZ   r  s      r3   visit_citationzLaTeXTranslator.visit_citation  s    U[$q'**	4;;u||~~3N3N3N3N37	???DKPQNNNT 	U 	U 	U 	U 	Ur2   c                     d S rO   r1   r   s     r3   depart_citationzLaTeXTranslator.depart_citation  ro  r2   c                     | j         rd S | j                            d|d         d|d         d           t          j        )Nz\sphinxcite{rj  r  refnamer   )r   rp   rs   r   r  r   s     r3   visit_citation_referencez(LaTeXTranslator.visit_citation_reference  sG    = 	!DId9oootIWXXX. r2   c                     d S rO   r1   r   s     r3   depart_citation_referencez)LaTeXTranslator.depart_citation_reference  ro  r2   c                 T   | j         r| j                            d           d S d|d         v r| j                            d           d S |                    dd           }d|d         vs|s| j                            d           d S | j        j                            |i           }| j                            |                                |||d	          }| j                            d
t          z   |
                                z   dz   t          z   dz              t          j        )Nz*\sphinxstyleliteralintitle{\sphinxupquote{kbdrh   z\sphinxkeyboard{\sphinxupquote{r   coder  T)optsr  nowrapz\sphinxcode{\sphinxupquote{%r   r  )r   rp   rs   rq   r   highlight_optionsr  highlight_blockrZ   r   rstripr   r  )rS   re   langr  hlcodes        r3   visit_literalzLaTeXTranslator.visit_literal  s6   = 	IJKKKFd9o%%I?@@@Fxx
D))i(((I;<<<F{,00r::!11KKMM4dT$ 2 H H	82=!==??+-01356  	! 	! 	! nr2   c                 :    | j                             d           d S r  r{  r   s     r3   depart_literalzLaTeXTranslator.depart_literal  r  r2   c                     t           j        rO   r  r   s     r3   visit_footnote_referencez(LaTeXTranslator.visit_footnote_reference  r  r2   c                 :    | j                             d           d S )Nz\sphinxfootnotemark[r{  r   s     r3   visit_footnotemarkz"LaTeXTranslator.visit_footnotemark  s    	011111r2   c                 :    | j                             d           d S )N]r{  r   s     r3   depart_footnotemarkz#LaTeXTranslator.depart_footnotemark  r  r2   c                 ,   t          t          j        |d                   }| j                            dt
          z              | j                            d|                                z             | j                            dt
          z              d S )Nr   r   z\begin{footnotetext}[%s]r  )r   r   r  rp   rs   r   rZ   r  s      r3   visit_footnotetextz"LaTeXTranslator.visit_footnotetext  sw    U[$q'**	r"""	4u||~~EFFF	2R788888r2   c                 ~    | j                             dt          z              | j                             d           d S )Nr   z \end{footnotetext}\ignorespaces r  r   s     r3   depart_footnotetextz#LaTeXTranslator.depart_footnotetext  s9    	r"""	<=====r2   c                     d S rO   r1   r   s     r3   visit_captioned_literal_blockz-LaTeXTranslator.visit_captioned_literal_block  ro  r2   c                     d S rO   r1   r   s     r3   depart_captioned_literal_blockz.LaTeXTranslator.depart_captioned_literal_block  ro  r2   c                    |j         |                                k    r4| xj        dz  c_        | j                            dt
          z              d S |                     |          }t          |j        t                    r||                     |j                  z  }|r/| j
        s(| j                            t
          dz   |z   dz              |                    dd          }|                    dd          }|                    d	i           }|                    d
d          |d
<   | j        j                            |i           } | j        j        |j         |f|||d|}| j
        r9| j                            t
          dz              |                    dd          }nL| j        r/d| j        _        d| j        _        |                    dd          }n|                    dd          }|                                d d         }| j        r| j
        s|dz  }n|dz  }t+          |                    dg                     dd         }|r%| j                            t
          d|z  z              | j                            t
          |z   t
          z              |r"| j                            dt
          z              t,          j        )Nr   z\begin{sphinxalltt}z\def\sphinxLiteralBlockLabel{r   r   rH   linenosFhighlight_argsforce)r  r  r  z\sphinxSetupCodeBlockInFootnotez\begin{Verbatim}z\begin{sphinxVerbatim}Tz\begin{sphinxVerbatimintable}iz\end{sphinxVerbatimintable}z\end{sphinxVerbatim}hl_linesr  z\fvset{hllines={, %s,}}%%z\sphinxresetverbatimhllines)	rawsourcerZ   r   rp   rs   r   r+  rW  r  r  r   rq   r   r  r  r  r;  r   rx   rz   r  r   r   r  )	rS   re   r*  r  r  r  r  r  hlliness	            r3   visit_literal_blockz#LaTeXTranslator.visit_literal_block	  s   >T[[]]**""a'""I3b899999((..F$+'>?? ;$--dk::: Wd. W	  &F!F!ORU!UVVV88J	22Dhhy%00G!XX&6;;N&*hhw&>&>N7#;044T2>>D5T%5+/ !/ F  C	  &H!HIII(;(AC C  C-1
**.
'(;(HJ J  (;(AC C ]]__TcT*Fz 2$"2 28811.,,Z<<==adCG N	  &BW&L!LMMMIR&[2-... F	  !?"!DEEE. r2   c                 z    | j                             t          dz   t          z              | xj        dz  c_        d S )Nz\end{sphinxalltt}r   )rp   rs   r   r   r   s     r3   depart_literal_blockz$LaTeXTranslator.depart_literal_block<  s=    	22R7888!#r2   c                 :    | j                             d           d S )Nz\item[] r{  r   s     r3   
visit_linezLaTeXTranslator.visit_lineB  s    	%%%%%r2   c                 D    | j                             t                     d S rO   r  r   s     r3   depart_linezLaTeXTranslator.depart_lineE  rw  r2   c                 L   t          |j        t          j                  rE| j                            dt          z              | j                            dt          z              n*| j                            t          dz   t          z              | j        rd| j        _        d S d S )Nz\item[]z'\begin{DUlineblock}{\DUlineblockindent}z\begin{DUlineblock}{0em}T)	rW  r  r   
line_blockrp   rs   r   r   rx   r   s     r3   visit_line_blockz LaTeXTranslator.visit_line_blockH  s    dk5#344 	DIZ"_---IG"LMMMMIR"==BCCC: 	.)-DJ&&&	. 	.r2   c                 J    | j                             dt          z              d S )Nz\end{DUlineblock}r  r   s     r3   depart_line_blockz!LaTeXTranslator.depart_line_blockQ  r}  r2   c                    d}t          |j                  dk    r5|j        d         }t          |t          j        t          j        f          rd}|s7| j                            dt          z              | j	        rd| j	        _
        d S d S d S )Nr   r   z\begin{quote}T)r   r  rW  r   rW  ri  rp   rs   r   r   rx   rS   re   doner  s       r3   visit_block_quotez!LaTeXTranslator.visit_block_quoteT  s     t}""M!$E%%"3U5J!KLL  	2I-2333z 2-1
***	2 	22 2r2   c                     d}t          |j                  dk    r5|j        d         }t          |t          j        t          j        f          rd}|s$| j                            dt          z              d S d S )Nr   r   z\end{quote})	r   r  rW  r   rW  ri  rp   rs   r   r  s       r3   depart_block_quotez"LaTeXTranslator.depart_block_quoteb  s}    t}""M!$E%%"3U5J!KLL  	2I^b011111	2 	2r2   c                 X    | j         d         r| j                            d           d S d S )Nr  r  )r   rp   rs   r   s     r3   visit_optionzLaTeXTranslator.visit_optionm  s7    < 	#IT"""""	# 	#r2   c                 0    | j         dxx         dz  cc<   d S )Nr  r   )r   r   s     r3   depart_optionzLaTeXTranslator.depart_optionr  s&    RAr2   c                 b    | j                             |                    dd                     dS )z1The delimiter between an option and its argument.	delimiterr  N)rp   rs   rq   r   s     r3   visit_option_argumentz%LaTeXTranslator.visit_option_argumentv  s,    	+s3344444r2   c                     d S rO   r1   r   s     r3   depart_option_argumentz&LaTeXTranslator.depart_option_argumentz  ro  r2   c                 n    | j                             d           | j                            d           d S )Nz\item [r   )rp   rs   r   r   s     r3   visit_option_groupz"LaTeXTranslator.visit_option_group}  s4    	$$$Ar2   c                 l    | j                                          | j                            d           d S )Nz] )r   r  rp   rs   r   s     r3   depart_option_groupz#LaTeXTranslator.depart_option_group  s2    	r2   c                 t    | j                             dt          z              | j        rd| j        _        d S d S )Nz\begin{optionlist}{3cm}Try  r   s     r3   visit_option_listz!LaTeXTranslator.visit_option_list  sB    	3b8999: 	.)-DJ&&&	. 	.r2   c                 J    | j                             dt          z              d S )Nz\end{optionlist}r  r   s     r3   depart_option_listz"LaTeXTranslator.depart_option_list  s$    	,r122222r2   c                     d S rO   r1   r   s     r3   visit_option_list_itemz&LaTeXTranslator.visit_option_list_item  ro  r2   c                     d S rO   r1   r   s     r3   depart_option_list_itemz'LaTeXTranslator.depart_option_list_item  ro  r2   c                     |                                 }| j                            |                     |                     t          j        rO   )rZ   rp   rs   r9  r   r  )rS   re   ostrings      r3   visit_option_stringz#LaTeXTranslator.visit_option_string  s9    ++--	W--...nr2   c                 :    | j                             d           d S )Nr  r{  r   s     r3   visit_descriptionz!LaTeXTranslator.visit_description  r  r2   c                     d S rO   r1   r   s     r3   depart_descriptionz"LaTeXTranslator.depart_description  ro  r2   c                 :    | j                             d           d S )Nz	$^{\text{r{  r   s     r3   visit_superscriptz!LaTeXTranslator.visit_superscript      	&&&&&r2   c                 :    | j                             d           d S Nz}}$r{  r   s     r3   depart_superscriptz"LaTeXTranslator.depart_superscript  r  r2   c                 :    | j                             d           d S )Nz	$_{\text{r{  r   s     r3   visit_subscriptzLaTeXTranslator.visit_subscript  r  r2   c                 :    | j                             d           d S r  r{  r   s     r3   depart_subscriptz LaTeXTranslator.depart_subscript  r  r2   c                 x   |                     dg           }|dgfv r6| j                            d           | j                            d           d S |dgfv r6| j                            d           | j                            d           d S |dgfv r6| j                            d           | j                            d           d S |rS| j        sL| j                            d	d
                    |          z             | j                            d           d S | j                            d           d S )Nrh   menuselectionz\sphinxmenuselection{r   guilabelz\sphinxguilabel{acceleratorz\sphinxaccelerator{z\DUrole{%s}{r   rG   )rq   rp   rs   r   r   r   )rS   re   rh   s      r3   visit_inlinezLaTeXTranslator.visit_inline  sN   ((9b))()))I5666L$$$$$*&&I0111L$$$$$-)))I3444L$$$$$ 	$T] 	$I_sxx/@/@@AAAL$$$$$L#####r2   c                 h    | j                             | j                                                   d S rO   r  r   s     r3   depart_inlinezLaTeXTranslator.depart_inline  r  r2   c                     d S rO   r1   r   s     r3   visit_generatedzLaTeXTranslator.visit_generated  ro  r2   c                     d S rO   r1   r   s     r3   depart_generatedz LaTeXTranslator.depart_generated  ro  r2   c                     d S rO   r1   r   s     r3   visit_compoundzLaTeXTranslator.visit_compound  ro  r2   c                     d S rO   r1   r   s     r3   depart_compoundzLaTeXTranslator.depart_compound  ro  r2   c                 v    |                     dg           }|D ]}| j                            d|z              d S )Nrh   z
\begin{sphinxuseclass}{%s}rq   rp   rs   )rS   re   rh   cs       r3   visit_containerzLaTeXTranslator.visit_container  sQ    ((9b)) 	B 	BAI<q@AAAA	B 	Br2   c                 p    |                     dg           }|D ]}| j                            d           d S )Nrh   z
\end{sphinxuseclass}r  )rS   re   rh   _cs       r3   depart_containerz LaTeXTranslator.depart_container  sH    ((9b)) 	8 	8BI67777	8 	8r2   c                     d S rO   r1   r   s     r3   visit_decorationz LaTeXTranslator.visit_decoration  ro  r2   c                     d S rO   r1   r   s     r3   depart_decorationz!LaTeXTranslator.depart_decoration  ro  r2   c                     t           j        rO   r  r   s     r3   visit_headerzLaTeXTranslator.visit_header  r  r2   c                     t           j        rO   r  r   s     r3   visit_footerzLaTeXTranslator.visit_footer  r  r2   c                     t           j        rO   r  r   s     r3   visit_docinfozLaTeXTranslator.visit_docinfo  r  r2   r   c                     |                      |          }| j        r7|                    t          dt          z                                 dd          }|S )Nz~\\r  ~)r4  r   r;  r   rS   r   s     r3   r9  zLaTeXTranslator.encode  sM    {{4  " 	C <<FRK0088cBBDr2   c                     |                      |                              dd                              dd                              dd          S )Nz\textasciitilde{}r  z\sphinxhyphen{}rQ  z\textquotesingle{}'r  r  s     r3   r?  zLaTeXTranslator.encode_uri  sI    
 {{4  (()=sCCG&,,G)3//	0r2   c                     |                      |                                          }| j                            |           d S rO   )r9  rZ   rp   rs   )rS   re   r   s      r3   
visit_TextzLaTeXTranslator.visit_Text  s7    {{4;;==))	r2   c                     d S rO   r1   r   s     r3   depart_TextzLaTeXTranslator.depart_Text  ro  r2   c                     t           j        rO   r  r   s     r3   visit_commentzLaTeXTranslator.visit_comment   r  r2   c                     t           j        rO   r  r   s     r3   
visit_metazLaTeXTranslator.visit_meta  s
    nr2   c                     d S rO   r1   r   s     r3   visit_system_messagez$LaTeXTranslator.visit_system_message  ro  r2   c                 D    | j                             t                     d S rO   r  r   s     r3   depart_system_messagez%LaTeXTranslator.depart_system_message
  rw  r2   c                     | j         r0| j                            d|                                z             n/| j                            d|                                z             t          j        )Nz\protect\(%s\protect\)z\(%s\))r   rp   rs   rZ   r   r  r   s     r3   
visit_mathzLaTeXTranslator.visit_math  s^    = 	8I6FGGGGIY6777nr2   c                    |                     d          rd|d         d|d         }nd }|                     d          rL|r| j                            d|z             | j                            |                                           nGddlm} | j                             ||                                || j        j                             t          j	        )	Nr  	equation:rj  r  r  r!  r   )wrap_displaymath)
rq   rp   rs   rZ   sphinx.util.mathr  r   math_number_allr   r  )rS   re   r  r  s       r3   visit_math_blockz LaTeXTranslator.visit_math_block  s    88G 	 	(,YgGEEE88H 	L 8	  !6777IT[[]]++++999999I--dkkmmU.2k.IK K L L Lnr2   c                    d|d         d|d         }| j         j        }|r	 d|z  }| j                            |                    |                     d S # t
          $ rR}t                              t          d          ||           | j                            d	|z             Y d }~d S d }~ww xY w| j                            d	|z             d S )
Nr  rj  r  r  rE  )rF  zInvalid math_eqref_format: %rr  z
\eqref{%s})	r   math_eqref_formatrp   rs   r:  r  r   r   r   )rS   re   r  eqref_formatrefexcs         r3   visit_math_referencez$LaTeXTranslator.visit_math_reference$  s    $(OOOT(^^D{4 		48!E)	  !4!4C!4!@!@AAAAA 8 8 8r"ABBC(,  . . .	  !67777777778
 I]U233333s   3A 
B5#AB00B5c                     d S rO   r1   r   s     r3   depart_math_referencez%LaTeXTranslator.depart_math_reference2  ro  r2   c                 >    t          j        dt          d           dS )z*Prepends prefix to sphinx document classesz'LaTeXWriter.docclasses() is deprecated.r   )
stacklevel)howtorI   )warningswarnr   r   s    r3   
docclasseszLaTeXTranslator.docclasses5  s+     	?.1	> 	> 	> 	>""r2   )TT)Fr   (  r=   r>   r?   r`   r   r  r   rW   rQ   r	   r   r  r  rZ   r   r#  r   r+  r/  r1  r4  r"  r  r  r   r  r   r
   rd   r   rl  rn  rq  rs  rw  ry  r|  r  r  r  visit_sidebardepart_sidebarr  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  r  r  r  r  r  r  r  r
  r  r  r  r  r  r"  r%  r)  r+  r-  r/  r1  r6  r9  r;  r?  rG  rN  rQ  rZ  r]  r`  rp  rr  rt  rv  rz  r|  r  r  r  r  r  r  r  r  r  r  r  r  visit_field_namedepart_field_namevisit_field_bodydepart_field_bodyr  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  visit_attentiondepart_attentionvisit_cautiondepart_cautionvisit_dangerdepart_dangervisit_errordepart_error
visit_hintdepart_hintvisit_importantdepart_important
visit_notedepart_note	visit_tip
depart_tipvisit_warningdepart_warningr  r  r  r  r  r  r8  r;  rA  rC  rI  rK  rM  rO  rQ  rS  rU  rW  rY  r[  r]  r_  ra  rf  rh  rj  rl  rn  rp  ry  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  visit_doctest_blockdepart_doctest_blockr  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  r  r9  r?  r   r  r  r
  r  r  r  r  r  r  r   r   r&  ra   rb   s   @r3   rY   rY     sI        K!A- A-. A-A-$(A- A- A- A- A- A-FS	 d    c    
9 9 9 9 9Z Zc ZD Z ZQT Z Z Z Z
 7 D S    6C 6C 6 6 6 68s 8s 8 8 8 8= = = = = =3 3    
Y# Y3 Y3 Y Y Y Y%# % % % %N9C 9D 9S 9 9 9 9 x    X67 6t 6 6 6 6G     8 8D 8 8 8 8   T        $' $d $ $ $ $
;7 ;t ; ; ; ;5g 5$ 5 5 5 5w 4    ? ?D ? ? ? ?8 8T 8 8 8 8  M!N7 t    G     $ $T $ $ $ $
$' $d $ $ $ $2W 2 2 2 2 2#g #$ # # # #6W 6 6 6 6 6g $    . .D . . . .`1 1T 1 1 1 1$7 $t $ $ $ $-G - - - - -.w .4 . . . .F FD F F F F2' 2d 2 2 2 27 t    ; ;T ; ; ; ;:' :d : : : :)g )$ ) ) ) )*w *4 * * * *'w '4 ' ' ' '
 D    9g 9$ 9 9 9 9w 4    %G % % % % %%W % % % % %%w %4 % % % %% %D % % % %G     W     .w .4 . . . . D    W     
g $    ( (T ( ( ( ("' "d " " " ". .D . . . . T    ;' ;d ; ; ; ;7 t    
6' 6d 6 6 6 6
$7 $t $ $ $ $ T    -' -d - - - -97 9t 9 9 9 9G      D    7 t     '  'D  '  '  '  'D	 	T 	 	 	 	=' =d = = = =7 t     T    ' d    ) )D ) ) ) ) T    
' 'D ' ' ' ' T    
Sg S$ S S S S&w 4    8%% %%D %% %% %% %%N1 1T 1 1 1 1Bw 4    .g .$ . . . .4w 44 4 4 4 4.' .d . . . .>27 2t 2 2 2 2'G ' ' ' ' '
W     .' .d . . . .
47 4t 4 4 4 4w 4     D    	!w 	!4 	! 	! 	! 	! D     W           g  $        W     g $    .W . . . . .
?g ?$ ? ? ? ? D     T     "#')>G > > > > >"W     .7 .t . . . .
/G / / / / /	. 	.D 	. 	. 	. 	.M MT M M M M7 t    G      C  hsm    :g :$ : : : :P PD P P P Pd T    %6 %6T %6 %6 %6 %6N-' -d - - - -	+' 	+d 	+ 	+ 	+ 	+7 t    7 7T 7 7 7 75' 5d 5 5 5 5"W " " " " ""g "$ " " " ""G " " " " ""W " " " " " .O/+M-N*L,M)K+L(J*K-O/(J*K'I)J+M-N' d    7 t    , ,T , , , ,\' d     g  $        8w 84 8 8 8 8@ @D @ @ @ @Dg $    6)G 6) 6) 6) 6) 6)p!W ! ! ! ! !
7 t    (W     g $    w 4     D    37 3t 3 3 3 3G     I7 It I I I IG     1 1T 1 1 1 1' d    G GT G G G G' d    %w %4 % % % %- -D - - - -1' 1d 1 1 1 127 2t 2 2 2 2.' .d . . . .7 t    	:' 	:d 	: 	: 	: 	:>7 >t > > > >U7 Ut U U U U
G     !W ! ! ! ! !g $    ' d    (7 t    W     2w 24 2 2 2 2 D    9w 94 9 9 9 9> >D > > > >
' d    7 t    1! 1!D 1! 1! 1! 1!f$ $T $ $ $ $ ./&w &4 & & & & D    .W . . . . .4g 4$ 4 4 4 42g 2$ 2 2 2 22w 24 2 2 2 2# #T # # # #
' d    5' 5d 5 5 5 57 t    w 4    
 D    .g .$ . . . .
3w 34 3 3 3 37 t    G      D    
g $    w 4    'g '$ ' ' ' ' w  4        'G ' ' ' ' ' W          $ $T $ $ $ $"-' -d - - - -G     W     7 t    G     BG B B B B B
8W 8 8 8 8 8
W     g $    
 T     T    ' d    
3 3    0s 0s 0 0 0 0t          ' d    w 4     T    ' d    w 4    W      4 4T 4 4 4 4' d     #E#s(O # # # X# # # # #r2   rY   )r  r  r  r'  )Vr@   r   r$  collectionsr   osr   typingr   r   r   r   r	   r
   r   r   r   docutilsr   r   docutils.nodesr   r   r   sphinxr   r   sphinx.deprecationr   sphinx.domainsr   sphinx.domains.stdr   sphinx.errorsr   sphinx.localer   r   r   sphinx.utilr   r   r   sphinx.util.docutilsr   sphinx.util.nodesr    r!   sphinx.util.templater"   sphinx.util.texescaper#   docutils.utils.romanr$   ImportErrorromansphinx.builders.latexr%   sphinx.builders.latex.themingr&   	getLoggerr=   r   rv  r   rl  r   rv  compiler  r  r<   rB   WriterrE   rd   r   r   r   r   r   rY   sphinx.builders.latex.nodesr  r  r  r1   r2   r3   <module>r[     sF    
			  # # # # # #       W W W W W W W W W W W W W W W W W W W W W W # # # # # # # # . . . . . . . . . . ) ) ) ) ) ) ) ) 7 7 7 7 7 7 % % % % % % - - - - - - % % % % % % 1 1 1 1 1 1 1 1 1 1 6 6 6 6 6 6 6 6 6 6 1 1 1 1 1 1 9 9 9 9 9 9 9 9 . . . . . . 1 1 1 1 1 1,,,,,,,     4222222333333 
	8	$	$ C C C "{#5#51;5=5=5>5>$% $%& &  
	2:344@ @ @ @ @ @ @ @0 0 0 0 0{ 0 0 0> > > > >'. > > >4y y y y y y y yx               F/c /c / / / /
 # c C    8^# ^# ^# ^# ^#& ^# ^# ^#F9           s   B B#"B#