
    ~Ti             	         d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	m
Z
 ddlmZmZ ddlmZ dd	lmZmZ dd
l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!m"Z" ddl#m$Z$ ddl%m&Z& e	r*ddl'm(Z( ddlm)Z)m*Z* ddl+m,Z,m-Z-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4  ejj                  e6      Z7dZ8g dZ9 ed dddddd       Z:d!Z;d"Z<d#Z= ej|                  d$      Z? G d% d&ej                        ZA G d' d(e      ZB G d) d*ej                        ZD G d+ d,      ZE G d- d.      ZFd4d/ZGd5d6d0ZH G d1 d2e      ZIdd3lJmKZKmLZLmMZM y)7z~Custom docutils writer for LaTeX.

Much of this code is adapted from Dave Kuhlman's "docpy" writer from his
docutils sandbox.
    )annotationsN)defaultdict)Path)TYPE_CHECKINGcast)nodeswriters)RomanNumeral)addnodeshighlighting)SphinxError)___admonitionlabels)logging	texescape)SphinxTranslator)split_index_msg)clean_astextget_prev_node)LaTeXRenderer)tex_replace_map)Iterable)AnyClassVar)ElementNodeText)LaTeXBuilder)Theme)
IndexEntry   )partchaptersection
subsectionsubsubsection	paragraphsubparagraphc                      y)N\arabic r,       G/home/agent/.local/lib/python3.12/site-packages/sphinx/writers/latex.py<lambda>r/   3   s    r-   r+   z\alphz\Alphz\romanz\Roman)arabic
loweralpha
upperalpha
lowerroman
upperromani  
z

z^(.*\S)\s+\(([^()]*)\)\s*$c                      e Zd ZdZy)collected_footnotez5Footnotes that are collected are assigned this class.N)__name__
__module____qualname____doc__r,   r-   r.   r7   r7   C   s    ?r-   r7   c                      e Zd ZdZy)UnsupportedErrorzMarkup is unsupported in LaTeXN)r8   r9   r:   categoryr,   r-   r.   r=   r=   G   s    /Hr-   r=   c                  z     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ded<   ded<   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--authorzClassVar[dict[str, Any]]settings_defaultsr    themec                0    t         |           || _        y N)super__init__builder)selfrL   	__class__s     r.   rK   zLaTeXWriter.__init__[   s    r-   c                :   t        | j                  t        j                        sJ | j                  j	                  | j                  | j                  | j
                        }| j                  j                  |       t        d|      j                         | _	        y )NLaTeXTranslator)

isinstancedocumentr   rL   create_translatorrG   	walkaboutr   astextoutput)rM   visitors     r.   	translatezLaTeXWriter.translate_   sm    $--888,,00MM4<<
 	(,g6==?r-   )rL   r   returnNone)rY   rZ   )
r8   r9   r:   	supportedsettings_specrF   __annotations__rK   rX   __classcell__rN   s   @r.   r@   r@   K   sk     I 	
{mi_=~	8/DE
|i_5	
M 35/4L@r-   r@   c                  P    e Zd ZdZd	dZd
dZddZddZddZ	 	 d	 	 	 	 	 ddZ	y)TablezA table datac                n   g | _         g | _        |j                  dd      | _        |j                  dg       | _        g | _        d| j                  v r| j
                  j                  d       nSd| j                  v r| j
                  j                  d       n)d| j                  v r| j
                  j                  d       d| j                  v r| j
                  j                  d       n)d| j                  v r| j
                  j                  d       d	| _        d
| _        d| j
                  v sd| j
                  v rd
| _	        nd| j
                  v rd| _	        nd | _	        g | _
        d| _        d| _        d| _        g | _        g | _        d	| _        d	| _        t%        t&              | _        d	| _        y )NalignrC   classesstandard
borderlessbooktabsnocolorrows	colorrowsr   rB   |F)headerbodygetrc   rd   stylesappendcolcountcolspeccolsep	colwidthshas_problematichas_verbatim	is_nestedcaptionstubscolrowr   intcellscell_idrM   nodes     r.   rK   zTable.__init__n   sh   !#!	XXgy1
"&((9b"9!#%KKz*T\\)KK|,4<<'KKz*DLL(KK}-DLL(KK{+$(C&(DK4;;&DKDK$&$!"$ "
  2=S1A
r-   c                @    | j                   dkD  xs d| j                  v S )zTrue if and only if table uses longtable environment.

        In absence of longtable class can only be used trustfully on departing
        the table, as the number of rows is not known until then.
           	longtable)rz   rd   rM   s    r.   is_longtablezTable.is_longtable   s      xx"};t|| ;;r-   c                    | j                         r| j                  sy| j                  ry| j                  rt	        d | j                  D              ryy| j
                  s| j                  rd| j                  v ryy)zReturns the LaTeX environment name for the table.

        It is used at time of ``depart_table()`` and again via ``get_colspec()``.
        The class currently supports:

        * longtable
        * tabular
        * tabulary
        r   tabularc              3  $   K   | ]  }|d v  
 yw)LRCJTNr,   .0cs     r.   	<genexpr>z'Table.get_table_type.<locals>.<genexpr>   s     6A1<6s   tabularycolwidths-given)r   rv   ru   rq   anyrt   rs   rd   r   s    r.   get_table_typezTable.get_table_type   sj     t~~\\ 666! !!NN0DLL@ r-   c                D   | j                   r| j                   S | j                  }|J | j                  rad| j                  v rSt	        | j                        }| j                  D cg c]	  }d||fz   }}d| |j                  |       | dt        z   S | j                  r$d|| j                  | j                  |fz  t        z   S | j                         dk(  r"d|z   d|z   | j                  z  z   dz   t        z   S d|z   d|z   | j                  z  z   dz   t        z   S c c}w )	aN  Returns a column spec of table.

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

        .. note::

           This is used by the template renderer at time of depart_table().
           The ``\\X`` and ``T`` column type specifiers are defined in
           ``sphinxlatextables.sty``.
        r   z
\X{%d}{%d}{}z{%s*{%d}{\X{1}{%d}%s}}r   Tl)
rq   rr   rs   rd   sumjoinCRrt   rp   r   )rM   _colseptotalwidthcolspecss        r.   get_colspeczTable.get_colspec   s)    <<<<++""">>/4<<?'EDHNNS56SHSyh!7 8	DrII!!)DMM4=='BC
   "j0=S7]dmm$CDsJROO=S7]dmm$CDsJROO Ts   &Dc                8   | xj                   dz  c_         t        |      D ]w  }t        |      D ]g  }| j                  | j                  |z   | j                  |z   f   dk(  sJ | j                   | j                  | j                  |z   | j                  |z   f<   i y y)zsAdds a new cell to a table.

        It will be located at current position: (``self.row``, ``self.col``).
           r   N)r}   ranger|   rz   ry   )rM   heightr   ry   rz   s        r.   add_cellzTable.add_cell   s    
 	< 	JCV} Jzz$((S.$((S."@AQFFF=A\\

488c>488c>9:J	Jr-   Nc                t    	 || j                   }|| j                  }t        | ||      S # t        $ r Y y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)rz   ry   	TableCell
IndexError)rM   rz   ry   s      r.   cellz
Table.cell   sD    	{hh{hhT3,, 		s   (+ 	77r   r   rY   rZ   )rY   boolrY   str)r   r{   r   r{   rY   rZ   )NN)rz   
int | Nonery   r   rY   zTableCell | None)
r8   r9   r:   r;   rK   r   r   r   r   r   r,   r-   r.   ra   ra   k   sL    &P<$LP@	J   
	r-   ra   c                  <    e Zd ZdZddZedd       Zedd       Zy)r   zData of a cell in a table.c                   |j                   ||f   dk(  rt        || _        |j                   ||f   | _        || _        || _        |j                   | j                  dz
  | j
                  f   | j                  k(  rK| xj                  dz  c_        |j                   | j                  dz
  | j
                  f   | j                  k(  rK|j                   | j                  | j
                  dz
  f   | j                  k(  rL| xj
                  dz  c_        |j                   | j                  | j
                  dz
  f   | j                  k(  rKy y Nr   r   )r|   r   tabler}   rz   ry   )rM   r   rz   ry   s       r.   rK   zTableCell.__init__  s    ;;sCx A%
{{38, kk$((Q,01T\\AHHMH kk$((Q,01T\\Akk$((DHHqL01T\\AHHMH kk$((DHHqL01T\\Ar-   c                   d}| j                   j                  | j                  | j                  |z   f   | j                  k(  rE|dz  }| j                   j                  | j                  | j                  |z   f   | j                  k(  rE|S )zReturns the cell width.r   r   r   r|   rz   ry   r}   )rM   r   s     r.   r   zTableCell.width  ss     jjtxxE)99:dllJQJE jjtxxE)99:dllJr-   c                   d}| j                   j                  | j                  |z   | j                  f   | j                  k(  rE|dz  }| j                   j                  | j                  |z   | j                  f   | j                  k(  rE|S )zReturns the cell height.r   r   r   )rM   r   s     r.   r   zTableCell.height  ss     jjtxx&0$((:;t||KaKF jjtxx&0$((:;t||Kr-   N)r   ra   rz   r{   ry   r{   rY   rZ   )rY   r{   )r8   r9   r:   r;   rK   propertyr   r   r,   r-   r.   r   r     s2    $    r-   r   c                0    t        j                  dd|       S )z#Adjust spacing after abbreviations.z
\.(?=\s|$)z.\@)resub)texts    r.   escape_abbrr   &  s    66-..r-   c                   t        j                  d|       }|st        | }|j                         dd \  }}|dk(  rHt	        |       |dv rd|z  }|S |dk(  rd|z  }|S |d	k(  rd
t	        |      dz  z  }|S |dv r| d| d}|S t	        |      |z  dz  }|dv rd|z  }|S |dk(  rd|z  }|S |d	k(  r
d|dz  z  }|S |dv r|dd| d}|S |d| }|S )z4Convert `width_str` with rst length to LaTeX length.z^(\d*\.?\d*)\s*(\S*)$N   d   >   rB   pxz%s\sphinxpxdimenptz%sbp%z%.3f\linewidth      Y@>   Qchvhvwremvmaxvminz\sphinxdimenz%.5f\sphinxpxdimenz%.5fbpz%.5f\linewidthz.5f)r   match
ValueErrorgroupsfloat)	width_strscaler   resamountunitamount_floats          r.   rstdim_to_latexdimr   +  sh   
 HH-y9E
C<<>"1%LFD|f:%.C, J+ T\6/C( J' S[#uV}u'<=C$ J# CCXWTF%0C  J V}u,u4:',6C J T\\)C J S[#|e';<C J CC"3'wtfE:C J	 "#&tf-C Jr-   c                  (    e Zd ZU ded<   dZdZ	 	 	 	 	 	 	 	 d fdZddZddZddZ	ddd	Z
ddd
ZddZddZddZddZddZddZddZedd       ZddZddZddZddZddZddZddZddZddZddZddZeZ ddZ!ddZ"dd Z#dd!Z$dd"Z%dd#Z&dd$Z'dd%Z(dd&Z)dd'Z*dd(Z+dd)Z,dd*Z-dd+Z.dd,Z/dd-Z0dd.Z1dd/Z2dd0Z3dd1Z4dd2Z5dd3Z6dd4Z7dd5Z8dd6Z9dd7Z:dd8Z;dd9Z<dd:Z=dd;Z>dd<Z?dd=Z@	 	 	 	 	 	 dd>ZAdd?ZBdd@ZCddAZDddBZEddCZFddDZGddEZHddFZIddGZJddHZKddIZLddJZMddKZNddLZOddMZPddNZQddOZRddPZSddQZTddRZUddSZVddTZWddUZXddVZYddWZZddXZ[ddYZ\ddZZ]dd[Z^dd\Z_dd]Z`dd^Zadd_Zbdd`ZcddaZdddbZeddcZfdddZgddeZhddfZiddgZjddhZkddiZlddjZmddkZnddlZoddmZpddnZqddoZrddpZsddqZtddrZuddsZvddtZwdduZxddvZyddwZzeqZ{erZ|euZ}evZ~ddxZddyZddzZdd{Zdd|Zdd}Zdd~ZddZdd dZddZddZddZddZddZddZddZddZddZddZddZddZddZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZeZeZddZddZddZddZddZddÄZddĄZddńZddƄZddǄZddȄZddɄZddʄZdd˄Zdd̄Zdd̈́Zdd΄ZddτZddЄZddфZdd҄ZddӄZddԄZddՄZddքZddׄZdd؄ZddلZddڄZddۄZdd܄Zdd݄ZddބZdd߄ZddZddZddZddZddZddZ ddZddZddZddZddZddZddZddZ xZ	S (  rP   r   rL   r   Fc                (   t         |   ||       g | _        || _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        d| _        d| _        d| _        d| _        d| _        g }| j$                  j&                  j)                         | _        t,        j)                         | _        | j                  j0                  dk(  r| j.                  j3                  d       d| _        | j6                  j8                  r5	 | j.                  j;                  | j6                  j8                        | _        | j6                  jF                  r| j6                  jH                  | _$        | jH                  dkD  rtK        | j.                        tK        t,              k  r/| j4                  dkD  r | xjH                  | j4                  z  c_$        n"| xjH                  | j4                  dz
  z  c_$        tM        | jH                  tK        t,              dz
        | _$        |jO                  d| jH                  z         n|jO                  d       | j6                  jF                  r@| j6                  jP                  r*|jS                  d	d
| j6                  jT                  z  g       | j6                  jV                  dvr;d| j6                  jX                  vr#dtZ        z   dz   tZ        z   dz   | j*                  d<   | j$                  j\                  | _.        | j\                  j_                         s3t>        jA                  tC        d      | j6                  jV                         | j`                  }| jb                  je                  d      r| jb                  je                  dd      | j4                  z   dz
  }tK        | j.                        tK        t,              k  r| j4                  dkD  r|dz  }|tK        t,              dz
  kD  r0t>        jA                  tC        d             tK        t,              dz
  }d|z  | j*                  d<   tg        ||      }| j6                  jF                  r2| j6                  jH                  dkD  rtg        || jH                  dz
        }|| j`                  kD  rd|z  | j*                  d<   |je                  d      }|r| ji                  d|      | j*                  d<   | j*                  d   r!|jO                  d| j*                  d   z         |r!ddjk                  |      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<   tm        jn                  d#| j6                  jp                  | j6                  jr                  $      | _:        g | _        g | _;        g | _<        d | _=        g | _>        d | _?        g | _@        g | _A        t               | _C        y # t<        $ rL t>        jA                  tC        d      | j6                  j8                  | j                  jD                         Y Dw xY w)%Nr   Fr   r%   r$   z+unknown %r toplevel_sectioning for class %rznumfigreset=%snonumfigreset
mathnumfigzmathnumsep={%s}>   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)DrJ   rK   rl   rG   in_titlein_production_listin_footnote
in_captionin_term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minro   math_numfigextendmath_numseplanguagelatex_elementsr   babelis_supported_languager   rR   rm   maxbabel_renewcommandr   r   PygmentsBridgepygments_styler   highlighter	descstacktablesnext_table_colspec	bodystackfootnote_restrictedpending_footnotescurfilestacksethandled_abbrs)	rM   rR   rL   rG   r   minsecnumdepthr   r   rN   s	           r.   rK   zLaTeXTranslator.__init__X  s    	7+!	
 "' !""#!"!& ,,113 .224::))Y6$$Y/ !";;00	(,(9(9(?(?KK99)% ;;'+{{'F'FD$''!+ ))*S1B-CC--1,,0E0EE,,,0E0E0II,+.,,c2C.Dq.H,( !''(84;S;S(ST ''8;;$++"9"9##!DKK$;$;;%  KK  4$++"<"<< 0;<  =	= MM*% \\''
zz//1 NN:;T[[=Q=Q ))==Z( }}((S9D<Q<QQTUUHD%%&->)??))A-A#/0144r"BCD01A5(Dx(ODMM*% :N;;4;;#B#BQ#F 1I1IA1MNND,,,/.@ MM-(  ||N3,0,C,C ,-DMM.) ==(##$5n8U$UV07#((CS:T0TDMM,-=='#dmmM&BB MM-( ==,-MM.)S4==AT3U-UU)'66T[[//dkk>V>V
 #%$&#%.2*,37 AC')'*ua  DEKK99JJ''s   4X< <AZZc                \    | j                   j                  | j                         || _        y rI   )r  ro   rl   )rM   newbodys     r.   pushbodyzLaTeXTranslator.pushbody  s    dii(	r-   c                \    | j                   }| j                  j                         | _         |S rI   )rl   r  pop)rM   rl   s     r.   popbodyzLaTeXTranslator.popbody  s$    yyNN&&(	r-   c                    | j                   j                  dj                  | j                        | j	                         d       | j                  d| j                         S )NrB   )rl   indiceszlatex.tex.jinja)r   updater   rl   generate_indicesrenderr   s    r.   rU   zLaTeXTranslator.astext  sM    GGDII&,,.
 	 {{,dmm<<r-   c                j    |r| j                   d   dz   |z   }| j                  |      }|rdndd|z  z   S )N:\phantomsectionrB   
\label{%s})r  idescape)rM   idwithdocanchor
escaped_ids        r.   hypertargetzLaTeXTranslator.hypertarget  sB    ""2&,r1B]]2&
&,""
8RRRr-   c                P     dj                   fd|d   D              }|rd|z   S |S )NrB   c              3  D   K   | ]  }j                  |d         yw)Fr/  N)r1  )r   node_idrM   s     r.   r   z1LaTeXTranslator.hypertarget_to.<locals>.<genexpr>
  s&      
8?DWU3
s    idsr*  )r   )rM   r   r/  labelss   `   r.   hypertarget_tozLaTeXTranslator.hypertarget_to	  s7     
CG;
 
 %..Mr-   c                *    d| j                  |      z  S )Nz{\hyperref[%s]{r,  rM   r-  s     r.   	hyperlinkzLaTeXTranslator.hyperlink  s    !DMM"$555r-   c                *    d| j                  |      z  S )Nz\autopageref*{%s}r:  r;  s     r.   hyperpagerefzLaTeXTranslator.hyperpageref  s    #dmmB&777r-   c                V    t        j                  || j                  j                        S rI   )r   escaper   r   )rM   ss     r.   r@  zLaTeXTranslator.escape  s    4;;#;#;<<r-   c                    t        |      j                  t              }|j                  dd      j	                  d      }d|j                  dd      z  S )Nasciibackslashreplacez\detokenize{%s}\r   )r   rX   r   encodedecodereplacer;  s     r.   r,  zLaTeXTranslator.idescape  sH    W/YYw 23::7C!BJJtS$999r-   c                    | j                   d   r d| j                  j                         z  }d}nd}d}| d| d| d| t        z   S )Nmultilingualz\addto\captions%s{r   rB   z\renewcommand{}{)r   r  get_languager   )rM   command
definitionprefixsuffixs        r.   r  z"LaTeXTranslator.babel_renewcommand   sW    ==(*TZZ-D-D-FFFFFF(/'$zl"VHMPRRRr-   c                   	 	 	 	 	 	 	 d	 fd}g 	 j                   j                  x}rt        |t              sd}t	        |      }nd} j
                  j                         D ]  }|j                  D ]  }|j                   d|j                   }|r||vr% ||      j                   j                  j                        \  }}|sV	j                  d|j                  z  t        z           |||         dj                  	      S )Nc                t   j                  dt        z          j                  dt        z          t        |       D ]  \  }\  }}|dkD  rj                  dt        z          j                  dj                  |      z  t        z          |D ]  }|d   s	j                  dj	                  |d         z         |d   r&j                  d	j	                  |d         z         j                  d
|d   dj                  |d         dt        z            j                  dt        z          y )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})ro   r   	enumerater@  rF  r,  )content	collapsediletterentriesentryretrM   s         r.   generatez2LaTeXTranslator.generate_indices.<locals>.generate+  s)    JJ0256JJDrIJ(1'(: $$FGq5JJ~23

,t{{6/BBRGH$ E 8 JJ@4;;uUVxCXX Qx

9DKKa<QQ JJ 8T]]58%<>	( JJ.34r-   TF-z\renewcommand{\indexname}{%s}rB   )rV  z"list[tuple[str, list[IndexEntry]]]rW  r   rY   rZ   )r   latex_domain_indicesrQ   r   	frozenset_domainssortedr#  namer]  rL   docnamesro   	localnamer   r   )
rM   r]  indices_configcheck_namesdomain	index_cls
index_namerV  rW  r\  s
   `        @r.   r%  z LaTeXTranslator.generate_indices*  s   	57	5DH	5	56 ![[===>=nd3"!*>!:#--..0 5!' 5I$*KK=)..1A!BJ"z'G )26):)C)C--*&GY 

<y?R?RRUWW !)455 wws|r-   c                F   t        | j                  j                        }| j                  j                  D ]  }| j                  j
                  |z  |z  }|j                         r|j                  t        |      |      c S |j                  dk(  s\|j                  j                  d      dz   }|j                  |      }|j                         st        j                  t        d      ||       |j                  t        |      |      c S  |j                  ||      S )Nr   z.jinja_tz5template %s not found; loading from legacy %s instead)r   r   r   templates_pathrL   confdirexistsr&  r   rP  rc  removesuffix	with_namer   r   r   )rM   template_name	variablesrenderertemplate_dirtemplatelegacy_template_namelegacy_templates           r.   r&  zLaTeXTranslator.render^  s     dkk.F.FG KK66 	LL||++l:]JH s8}i@@H,'/}}'A'A('Kd'R$"*"4"45I"J"))+NNRS%'
 $??3+?KK	L }i88r-   c                :    | j                   r| j                   d   S y)zGet current table.r(  N)r  r   s    r.   r   zLaTeXTranslator.tableq  s     ;;;;r?"r-   c                   | j                   j                  |j                  dd             | j                  dk(  rd| _        n?| j                  dk(  r0| j                  j                  t
        dz   t
        z          d| _        d|v r*| j                  j                  | j                  d             | j                  dz
  | _        y )NdocnamerB   r   r   z	\appendixr(  z:doc)	r  ro   rm   r   rl   r   r1  r   sectionlevelr~   s     r.   visit_documentzLaTeXTranslator.visit_documenty  s      )R!89!#"#D  A%IIR,.34"$DIIT--f56 11A5r-   c                     y rI   r,   r~   s     r.   depart_documentzLaTeXTranslator.depart_document      r-   c                    | j                   j                  |d          | j                  j                  t        dz   t        z          y )Nr{  z\sphinxstepscope)r  ro   rl   r   r~   s     r.   visit_start_of_filez#LaTeXTranslator.visit_start_of_file  s7      i1		11B67r-   c                8    | j                   j                          y rI   )r  r   r~   s     r.   depart_start_of_filez$LaTeXTranslator.depart_start_of_file  s    r-   c                    | j                   s| xj                  dz  c_        | j                  j                  t               y Nr   )r   r|  rl   ro   	BLANKLINEr~   s     r.   visit_sectionzLaTeXTranslator.visit_section  s.    %%"		#r-   c                Z    t        | j                  dz
  | j                  dz
        | _        y r  )r  r|  r   r~   s     r.   depart_sectionzLaTeXTranslator.depart_section  s'     1 1A 5t7L7Lq7PQr-   c                :    | j                   j                  d       y )Nz{\color{red}\bfseries{}rl   ro   r~   s     r.   visit_problematicz!LaTeXTranslator.visit_problematic  s    		34r-   c                :    | j                   j                  d       y Nr   r  r~   s     r.   depart_problematicz"LaTeXTranslator.depart_problematic      		r-   c                   | xj                   dz  c_         d|j                  dg       v rL| j                  j                  t        dz   t        z          | j
                  j                  dt        z          y | j                  j                  t        dz   t        z          | j
                  j                  dt        z          y )Nr   contentsrd   z\begin{sphinxcontents}z\end{sphinxcontents}z\begin{sphinxtopic}z\end{sphinxtopic})r   rm   rl   ro   r   r   r~   s     r.   visit_topiczLaTeXTranslator.visit_topic  s    A)R00IIR";;b@ALL 7" <=IIR"882=>LL 4r 9:r-   c                    | xj                   dz  c_         | j                  j                  | j                  j	                                y r  )r   rl   ro   r   r   r~   s     r.   depart_topiczLaTeXTranslator.depart_topic  s2    A		))+,r-   c                    | xj                   dz  c_         | j                  j                  t        dz   t        z          | j                  j                  dt        z          y )Nr   z\begin{sphinxsidebar}z\end{sphinxsidebar})r   rl   ro   r   r   r~   s     r.   visit_sidebarzLaTeXTranslator.visit_sidebar  sH    A		66;<2R78r-   c                     y rI   r,   r~   s     r.   visit_glossaryzLaTeXTranslator.visit_glossary  r  r-   c                     y rI   r,   r~   s     r.   depart_glossaryzLaTeXTranslator.depart_glossary  r  r-   c                    | j                   j                  t               | j                   j                  dt        z          d| _        y )Nz\begin{productionlist}T)rl   ro   r  r   r   r~   s     r.   visit_productionlistz$LaTeXTranslator.visit_productionlist  s4    		#		2R78"&r-   c                V    d| _         | j                  j                  dt        z          y )NFz\end{productionlist})r   rl   ro   r  r~   s     r.   depart_productionlistz%LaTeXTranslator.depart_productionlist  s"    "'		09<=r-   c                     y rI   r,   r~   s     r.   visit_productionz LaTeXTranslator.visit_production  s     	r-   c                     y rI   r,   r~   s     r.   depart_productionz!LaTeXTranslator.depart_production  r  r-   c                T    | j                   j                  | j                  d          y )N
transition)rl   ro   r   r~   s     r.   visit_transitionz LaTeXTranslator.visit_transition  s    		|45r-   c                     y rI   r,   r~   s     r.   depart_transitionz!LaTeXTranslator.depart_transition  r  r-   c                *   |j                   }t        |t        j                        rt        j
                  t        |t        j                        r| j                  rt        |j                        dk7  rGt        |j                  d   t        j                        s t        j                  t        d      |       | j                  d   s,| j                  |j!                               | j                  d<   d| _        t        j
                  d}t#        |j%                  t        j&                              r:d| j                  dj)                  t+        |      j-                                     z  }	 | j.                  j1                  d	| j2                  | j4                      | d
       | j8                  j1                  dt:        z   | j=                  |j                         z          d| _%        y t        |t        j>                        rud|jA                  dg       v r| j.                  j1                  d       n| j.                  j1                  d       | j8                  j1                  dt:        z          d| _%        y t        |t        jB                        rE| j.                  j1                  d       | j8                  j1                  dt:        z          d| _%        y t        |t        jD                        rE| j.                  j1                  d
       | j8                  j1                  dt:        z          d| _%        y t        |t        jF                        r| jI                  g        d| _%        y t        j                  t        d      |       | j.                  j1                  d       | j8                  j1                  dt:        z          d| _%        y # t6        $ r2 | j.                  j1                  d	| j2                  d    | d
       Y ew xY w)Nr   r   z(document title is not a single Text nodelocationtitlerB   [%s] rE  r   r(  r   r  rd   z\sphinxstylecontentstitle{z\sphinxstyletopictitle{z\sphinxstylesidebartitle{zJencountered title node not in section, topic, table, admonition or sidebarz\sphinxstyleothertitle{)&parentrQ   r   seealsor   SkipNoder%   r   r  childrenr   r   r   r   r   r@  rU   r   findallimager   r   splitrl   ro   r   r|  r   r   r   r8  topicrm   sidebar
Admonitionr   r  r   )rM   r   r  shorts       r.   visit_titlezLaTeXTranslator.visit_title  s   fh../.. femm,%%&!+&t}}Q'7DNNEFQU #  }}W- .2[[-GDMM'*)*&nn$E4<<,-SXXl46H6N6N6P-Q!RRH		  Ad&7&78I8I&J%KE7RT!UV LLb4+>+>t{{+K KL4 3 ,VZZ	266		  !>?		  !;<LLb)( ' .II9:LLb)" !  0 01IIS!LLb)  ,MM"  NN,    II78LLb);  H		  Ad&7&7&;%<UG2!FGHs   48O 7PPc                   d| _         t        |j                  t        j                        r.| j                  J | j                         | j                  _        y | j                  j                  | j                  j                                y Nr   )r   rQ   r  r   r   r!  rw   rl   ro   r   r   r~   s     r.   depart_titlezLaTeXTranslator.depart_title
  s\    dkk5;;/::)))!%DJJIIT\\--/0r-   c                    t        |j                  t        j                        r>| j                  j                  d       | j                  j                  dt        z          y | j                  j                  d       y )Nz\sphinxstylesidebarsubtitle{r   rB   )rQ   r  r   r  rl   ro   r   r   r~   s     r.   visit_subtitlezLaTeXTranslator.visit_subtitle  sO    dkk5==1II<=LLb)LL#r-   c                j    | j                   j                  | j                  j                                y rI   rl   ro   r   r   r~   s     r.   depart_subtitlezLaTeXTranslator.depart_subtitle  !    		))+,r-   c                <   | j                   j                  dk(  rB| j                  j                  t               | j                  j                  dt
        z          y | j                  j                  t               | j                  j                  dt
        z          y )Nfootnotez&\begin{savenotes}\begin{fulllineitems}z\begin{fulllineitems})r   latex_show_urlsrl   ro   r  r   r~   s     r.   
visit_desczLaTeXTranslator.visit_desc#  sh    ;;&&*4IIY'IIFKLIIY'II5:;r-   c                F   | j                   r)| j                  j                  t        dz          d| _         | j                  j
                  dk(  r*| j                  j                  t        dz   t        z          y | j                  j                  t        dz   t        z          y )N\pysigstopsignaturesFr  z"\end{fulllineitems}\end{savenotes}z\end{fulllineitems})r   rl   ro   r   r   r  r  r~   s     r.   depart_desczLaTeXTranslator.depart_desc+  sw    !!IIR"99:%*D";;&&*4IIR"GG)STIIR"889DEr-   c                   dd}dd}d| _         d| _        |D ]  }t        |t        j                        rd| _          ||      } ||      }t        |t        j
                        r	 ||      }n	d| _        d}|r^|r.| j                  j                  t        dz   t        z   dz           y | j                  j                  t        dz   t        z   dz           y |r.| j                  j                  t        dz   t        z   dz           y | j                  j                  t        d	z   t        z   dz           y t        |t        j
                        s< ||      r.| j                  j                  t        d
z   t        z   dz           y | j                  j                  t        dz   t        z   dz           y  | j                  j                  t        dz   t        z   dz          y )Nc                    	 | j                   | j                   j                  |       dz      S # t        t        f$ r Y y w xY wr  )r  r   AttributeErrorr   es    r.   next_siblingz;LaTeXTranslator._visit_signature_line.<locals>.next_sibling5  s?    xxq 1A 566"J/ s   *- ??c                $    | j                  d      S )Nmulti_line_parameter_list)rm   r  s    r.   has_multi_linez=LaTeXTranslator._visit_signature_line.<locals>.has_multi_line;  s    55455r-   FTz*\pysigwithonelineperargwithonelinepertpargr   z(\pysiglinewithargsretwithonelinepertpargz#\pysigwithonelineperargwithtypelistz!\pysiglinewithargsretwithtypelistz\pysigwithonelineperargz\pysiglinewithargsretz
\pysigline)r  r   rY   zNode | None)r  r   rY   r   )	has_tp_listorphan_tp_listrQ   r   desc_type_parameter_listdesc_parameterlistrl   ro   r   )rM   r   r  r  childmulti_tp_listarglistmulti_arglists           r.   _visit_signature_linez%LaTeXTranslator._visit_signature_line4  s   		6 !# .	<E%!B!BC#'  .u 5&u-gx'B'BC$27$;M +/D'$)M $		((KL ! ""&  		((!LLrQTWW  %		((!GG"LsR  		((!EEJSP %!<!<=!%(II$$R*D%Dr%IC%OP  II$$R*B%BR%G#%MNW.	<\ IIR-/"4s:;r-   c                :    | j                   j                  d       y r  r  r~   s     r.   _depart_signature_linez&LaTeXTranslator._depart_signature_lineq  r  r-   c                   d}|j                   d   dk7  r#|d   r|d   D ]  }|| j                  |      z  } | j                  j                  |       | j                  s)d| _        | j                  j                  t
        dz          |j                  d      s| j                  |       y | j                  j                  t
        dz          y )	NrB   objtypedescriber6  Tz\pysigstartsignaturesis_multilinez\pysigstartmultiline)r  r1  rl   ro   r   r   rm   r  )rM   r   hyperr-  s       r.   visit_desc_signaturez$LaTeXTranslator.visit_desc_signaturet  s    ;;y!Z/DK5k .))"--.		%%%)D"IIR"::;xx'&&t,IIR"99:r-   c                    |j                  d      s| j                  |       y | j                  j                  t        dz          y )Nr  z\pysigstopmultiline)rm   r  rl   ro   r   r~   s     r.   depart_desc_signaturez%LaTeXTranslator.depart_desc_signature  s4    xx'''-IIR"889r-   c                &    | j                  |       y rI   )r  r~   s     r.   visit_desc_signature_linez)LaTeXTranslator.visit_desc_signature_line      ""4(r-   c                &    | j                  |       y rI   )r  r~   s     r.   depart_desc_signature_linez*LaTeXTranslator.depart_desc_signature_line  s    ##D)r-   c                r    | j                   sJ | j                  j                  t        dz          d| _         y )Nr  F)r   rl   ro   r   r~   s     r.   visit_desc_contentz"LaTeXTranslator.visit_desc_content  s1    %%%%		556!&r-   c                     y rI   r,   r~   s     r.   depart_desc_contentz#LaTeXTranslator.depart_desc_content  r  r-   c                :    | j                   j                  d       y )N\sphinxcode{\sphinxupquote{r  r~   s     r.   visit_desc_inlinez!LaTeXTranslator.visit_desc_inline  s    		78r-   c                :    | j                   j                  d       y N}}r  r~   s     r.   depart_desc_inlinez"LaTeXTranslator.depart_desc_inline      		r-   c                d    | j                   j                  d       | xj                  dz  c_        y )N\sphinxbfcode{\sphinxupquote{r   rl   ro   r   r~   s     r.   visit_desc_namezLaTeXTranslator.visit_desc_name  s&    		9:1$r-   c                d    | j                   j                  d       | xj                  dz  c_        y Nr  r   r  r~   s     r.   depart_desc_namez LaTeXTranslator.depart_desc_name  %    		1$r-   c                d    | j                   j                  d       | xj                  dz  c_        y )Nr  r   r  r~   s     r.   visit_desc_addnamez"LaTeXTranslator.visit_desc_addname  s&    		781$r-   c                d    | j                   j                  d       | xj                  dz  c_        y r  r  r~   s     r.   depart_desc_addnamez#LaTeXTranslator.depart_desc_addname  r   r-   c                     y rI   r,   r~   s     r.   visit_desc_typezLaTeXTranslator.visit_desc_type  r  r-   c                     y rI   r,   r~   s     r.   depart_desc_typez LaTeXTranslator.depart_desc_type  r  r-   c                :    | j                   j                  d       y )Nz{ $\rightarrow$ r  r~   s     r.   visit_desc_returnsz"LaTeXTranslator.visit_desc_returns      		,-r-   c                :    | j                   j                  d       y r  r  r~   s     r.   depart_desc_returnsz#LaTeXTranslator.depart_desc_returns  r  r-   c                6   d| _         d| _        d| _        d| _        |j                  D cg c]  }t        ||       c}| _        t        | j                        | _        d| _	        |j                  dd      | _        |j                  dd      | _        yc c}w )aK  Visit a signature parameters or type parameters list.

        The *parameter_group* value is the type of a child node acting as a required parameter
        or as a set of contiguous optional parameters.

        The caller is responsible for closing adding surrounding LaTeX macro argument start
        and stop tokens.
        Tr   z\sphinxparamcomma r  Fmulti_line_trailing_commaN)is_first_paramoptional_param_levelparams_left_at_levelparam_group_indexr  rQ   list_is_required_paramr   required_params_leftparam_separatorrm   r  trailing_comma)rM   r   parameter_groupr   s       r.   _visit_sig_parameter_listz)LaTeXTranslator._visit_sig_parameter_list  s     #$%!$%!!" 59MM'
/0Jq/*'
# %((C(C$D!4)-2Mu)U&"hh'BEJ'
s   Bc                
   | j                   r2| j                  rK| j                  j                  dt        z   dz          y | j                  j                  dt        z   dz          | j                  |t        j                         y Nr   r   )r  r  rl   ro   r   r  r   desc_parameterr~   s     r.   visit_desc_parameterlistz(LaTeXTranslator.visit_desc_parameterlist  sc    ""		  rC0 IIS2X^,&&tX-D-DEr-   c                j    | j                   rJ | j                  j                  dt        z   dz          y r  r  rl   ro   r   r~   s     r.   depart_desc_parameterlistz)LaTeXTranslator.depart_desc_parameterlist  s+    &&&&		rC(r-   c                    | j                   j                  dt        z   dz          | j                  |t        j
                         y r  )rl   ro   r   r  r   desc_type_parameterr~   s     r.   visit_desc_type_parameter_listz.LaTeXTranslator.visit_desc_type_parameter_list  s2    		rC(&&tX-I-IJr-   c                    | j                   r0| j                  j                  dt        z   dz   t        z   dz          y | j                  j                  dt        z   dz          y )Nr   z{}r   r  r~   s     r.   depart_desc_type_parameter_listz/LaTeXTranslator.depart_desc_type_parameter_list  sM     IIS2X_r1C78 IIS2X^,r-   c                t   | j                   rd| _         n=| j                  s1| j                  s%| j                  j	                  | j
                         | j                  dk(  r| xj                  dz  c_        n| xj                  dz  c_        |j                  d      s| j                  j	                  |       y y )NFr   r   noemph)	r  r  r  rl   ro   r  r  r  hasattr)rM   r   parameter_macros      r.   _visit_sig_parameterz$LaTeXTranslator._visit_sig_parameter  s    "'D//8Q8QIIT112$$)%%*%%%*%||H%II_- &r-   c                V   |j                  d      s| j                  j                  d       | j                  | j                     }| j
                  rt        | j                        }| j                  dz   |k(  }| xr | j                  | j                  dz      }| j                  dkD  }|s|re|s| j                  rW| j                  j                  | j                         n1| j                  r%| j                  j                  | j                         |r| xj                  dz  c_        y y )Nr'  r   r   r   )r(  rl   ro   r  r  r  r  r  r  r  r  )rM   r   is_requiredlen_lirpis_last_groupnext_is_requiredopt_param_left_at_levels          r.   _depart_sig_parameterz%LaTeXTranslator._depart_sig_parameter   s   ||H%IIS!11$2H2HI))4667H 22Q6(BM!! L//0F0F0JK  '+&?&?!&C#'%)<)<		  !5!56&&IIT112""a'" r-   c                (    | j                  |d       y )Nz\sphinxparam{r*  r~   s     r.   visit_desc_parameterz$LaTeXTranslator.visit_desc_parameter  s    !!$(89r-   c                &    | j                  |       y rI   r1  r~   s     r.   depart_desc_parameterz%LaTeXTranslator.depart_desc_parameter  r  r-   c                (    | j                  |d       y )Nz\sphinxtypeparam{r3  r~   s     r.   visit_desc_type_parameterz)LaTeXTranslator.visit_desc_type_parameter  s    !!$(<=r-   c                &    | j                  |       y rI   r6  r~   s     r.   depart_desc_type_parameterz*LaTeXTranslator.depart_desc_type_parameter"  r  r-   c                L   t        d |j                  D              | _        | xj                  dz  c_        | j                  | _        | j
                  r| j                  r| j                  j                  d       y | j                  rA| j                  j                  | j                         | j                  j                  d       y | j                  j                  d       | j                  j                  | j                         y | j                  j                  d       y )Nc              3  P   K   | ]  }t        |t        j                           y wrI   )rQ   r   r  r   s     r.   r   z6LaTeXTranslator.visit_desc_optional.<locals>.<genexpr>&  s"      (
78Jq(112(
   $&r   z\sphinxoptional{)r   r  r  r  max_optional_param_levelr  r  rl   ro   r  r  r~   s     r.   visit_desc_optionalz#LaTeXTranslator.visit_desc_optional%  s    $' (
<@MM(
 %
! 	!!Q&!(,(A(A%))""		  !45**		  !5!56		  !45		  !45		  !5!56II01r-   c                   | xj                   dz  c_         | j                   }| j                  rs| j                  }t        | j                        }| j
                  dz   |k(  }||dz
  k(  r8|r|dkD  s| j                  r%| j                  j                  | j                         | j                  j                  d       |dk(  r| xj
                  dz  c_        y y )Nr   r   r   )
r  r  r?  r  r  r  r  rl   ro   r  )rM   r   level	max_levelr-  r.  s         r.   depart_desc_optionalz$LaTeXTranslator.depart_desc_optional7  s    !!Q&!))))55I4667H 22Q6(BM 	A%!UQY$2E2E		  !5!56		A:""a'" r-   c                :    | j                   j                  d       y )Nr  r  r~   s     r.   visit_desc_annotationz%LaTeXTranslator.visit_desc_annotationI  s    		9:r-   c                :    | j                   j                  d       y r  r  r~   s     r.   depart_desc_annotationz&LaTeXTranslator.depart_desc_annotationL  r  r-   c                    | j                   j                  t               | j                   j                  dt        d   z  t        z          | xj
                  dz  c_        y )Nz\begin{sphinxseealso}{%s:}r  r   )rl   ro   r  r   r   r   r~   s     r.   visit_seealsozLaTeXTranslator.visit_seealsoQ  sL    		#		),<Y,GG"L	
 	!r-   c                    | j                   j                  t               | j                   j                  d       | j                   j                  t               | xj                  dz  c_        y )Nz\end{sphinxseealso}r   )rl   ro   r  r   r~   s     r.   depart_seealsozLaTeXTranslator.depart_seealsoX  sJ    		#		/0		#!r-   c                   t        |      dk(  r-|j                         dt        d      hv rt        j                  d}d|v r%|d   }	 | j
                  | j                  dz
  |z      }| j                  j                  d| d	       | j                  j                  d
t        z          d| _        y # t        $ r% t        j                  t        d      |d|       Y vw xY w)Nr   	Footnotesr'   zheading-levelz$unsupported rubric heading level: %sr   typer  rE  z*{r   )r  rU   r   r   r  r   r   	Exceptionr   r   r   rl   ro   r   r   r   )rM   r   tagrB  s       r.   visit_rubriczLaTeXTranslator.visit_rubric^  s    t9>dkkmQ{^/LL.. d")E''(=(=(AE(IJ 			AcU#'C"H%  => !	  s   B0 0+CCc                x    d| _         | j                  j                  | j                  j	                                y r  )r   rl   ro   r   r   r~   s     r.   depart_rubriczLaTeXTranslator.depart_rubricr  s(    		))+,r-   c                   | xj                   dz  c_         t        d|d         }| j                  r-| j                  j	                  d|j                         z         nN| j                  j	                  dt        z          | j                  j	                  d|j                         z         d|v r	 | j                  j	                  dt        z          y )Nr   nodes.labelr   z\begin{footnote}[%s]r   referred\sphinxAtStartFootnote)r   r   r   rl   ro   rU   r   rM   r   labels      r.   visit_footnotezLaTeXTranslator.visit_footnotev  s    A]DG,!!II4u||~EFIIS2X&II4u||~EF		2R78r-   c                    | j                   r| j                  j                  d       n=| j                  j                  dt        z          | j                  j                  d       | xj                  dz  c_        y )Nz\end{footnote}r   r   )r   rl   ro   r   r   r~   s     r.   depart_footnotezLaTeXTranslator.depart_footnote  sX    !!II./IIS2X&II./Ar-   c                "    t         j                  rI   r   r  r~   s     r.   visit_labelzLaTeXTranslator.visit_label      nnr-   c                6    |d   | _         t        j                  )Nspec)r  r   r  r~   s     r.   visit_tabular_col_specz&LaTeXTranslator.visit_tabular_col_spec  s    "&v,nnr-   c                <   t        |      }|J t        | j                        dk\  rd|_        t        | j                        dkD  r,t	        | j
                  d   d|j                  xs dd      | j                  j                  |       |j                  Ndd	| j                  j                  j                  vxr" d
| j                  j                  j                  vz  |_        | j                  rd| j                  z  t        z   |_        d|j                  v r#|j                  j                  d       d|_        n"|j                  j                  d       d|_        d|j!                  dg       v r t"        j%                  t'        d      |       d | _        y )Nr   Tr   r(  r)  rB   z+: deeply nested tables are not implemented.rj   rg   rf   z{%s}vlinesnovlinesr   rd   zGboth tabularcolumns and :widths: option are given. :widths: is ignored.r  )ra   r  r  rv   r=   r  linero   rr   rL   r   latex_table_styler  r   rq   rn   rm   r   infor   )rM   r   r   s      r.   visit_tablezLaTeXTranslator.visit_table  sl   d   t{{q "EOt{{a"$$R($))/r/; 
 	5!<<$,,"5"5"G"GG N (;(;(M(MMEL """T%<%<<rAEMemm###H-"##J/! DHHY$;;/ "   #'r-   c                v   | j                   J | j                  |      }| j                   j                         }|dk(  r4t        | j                        dkD  r| j                  d d D ]	  }d|_         n| j                   j                  rt        | j                   j                        dkD  sJ | j                   j                  dd }t        j                  dd|      t        fd	d
D              r3t        j                  t        d      |d|       d| j                   _        | j                  |dz   | j                   |d      }| j                  j                  t                | j                  j                  |       | j                  j                  t"               | j                  j%                          y )Nr   r   r(  Tr   z\{.*?\}rB   c              3  &   K   | ]  }|v  
 y wrI   r,   )r   r   _colspec_strippeds     r.   r   z/LaTeXTranslator.depart_table.<locals>.<genexpr>  s     ?!q--?s   LRJCTzcolspec %s was given which appears to use tabulary syntax.  But this table can not be rendered as a tabulary; the given colspec will be ignored.r   rO  z
.tex.jinja)r   r7  )r   r8  r   r  r  rt   rq   r   r   r   r   r   r   r&  rl   ro   r  r   r   )rM   r   r7  
table_typer   _colspec_as_givenr   rp  s          @r.   depart_tablezLaTeXTranslator.depart_table  ss   zz%%%$$T*ZZ..0
#4;;!#Sb) -A(,A%- zz!!4::--.222$(JJ$6$6q$<!$&FF:r;L$M!?w??NN* *$!% # 
 *,DJJ&%v'N
 			#				r-   c                8   | j                   J | j                   xj                  dz  c_        d|v r(| j                   j                  j                  |d          d|v r=| j                   j                  j                  | j                   j                  dz
         y y )Nr   colwidthstub)r   rp   rs   ro   rx   r~   s     r.   visit_colspeczLaTeXTranslator.visit_colspec  s    zz%%%

q JJ  ''Z(89T>JJ##DJJ$7$7!$;< r-   c                     y rI   r,   r~   s     r.   depart_colspeczLaTeXTranslator.depart_colspec  r  r-   c                     y rI   r,   r~   s     r.   visit_tgroupzLaTeXTranslator.visit_tgroup  r  r-   c                     y rI   r,   r~   s     r.   depart_tgroupzLaTeXTranslator.depart_tgroup  r  r-   c                j    | j                   J | j                  | j                   j                         y rI   )r   r  rk   r~   s     r.   visit_theadzLaTeXTranslator.visit_thead  s(    zz%%%djj''(r-   c                    | j                   r,| j                   d   dk(  r| j                   j                          | j                          y Nr(  \sphinxhlinerl   r   r!  r~   s     r.   depart_theadzLaTeXTranslator.depart_thead  .    992/9IIMMOr-   c                j    | j                   J | j                  | j                   j                         y rI   )r   r  rl   r~   s     r.   visit_tbodyzLaTeXTranslator.visit_tbody  s&    zz%%%djjoo&r-   c                    | j                   r,| j                   d   dk(  r| j                   j                          | j                          y r  r  r~   s     r.   depart_tbodyzLaTeXTranslator.depart_tbody   r  r-   c                   | j                   J d| j                   _        | j                   j                  }	 | j                   j                  | j                   j                  | j                   j                        }|y | j                   xj                  |j
                  z  c_        |j                  r| j                  j                  d       |j
                  dk(  r)| j                  j                  d|j                  z         nI|j                  dk(  r|nd}| j                  j                  d|j
                  |||j                  fz         )Nr   &r   \sphinxtablestrut{%d}rB   z.\multicolumn{%d}{%sl%s}{\sphinxtablestrut{%d}})	r   ry   rr   r   rz   r   rl   ro   r}   )rM   r   r   r   left_colseps        r.   	visit_rowzLaTeXTranslator.visit_row  s    zz%%%

**##::??4::>>4::>>BD|JJNNdjj(Nxx		  %zzQ		  !9DLL!HI)-QgB		  Ezz;FG r-   c                "   | j                   J t        | j                   j                        D cg c]2  }| j                   j                  | j                   j                  |      4 }}|D cg c]5  }|j                  |j
                  z   | j                   j                  dz   k(  7 }}t        |      r?| j                  j                  dt        z          | j                  j                  d       n| j                  j                  dt        z          d}|j                  dg       |d   du rd}|| j                   j                  k  rm||   du rf||dz
     j                  ||   j                  k7  r| j                  j                  d|z         |dz  }|| j                   j                  k  r||   du rf|| j                   j                  k  r||d  j                  d      }| j                  j                  d|dz   ||z   fz         ||z  }|dz  }|| j                   j                  k  rm||   du rf||dz
     j                  ||   j                  k7  r| j                  j                  d|z         |dz  }|| j                   j                  k  r||   du rf|| j                   j                  k  r| j                  j                  d	| j                   j                  z         | j                   xj                  dz  c_        y c c}w c c}w )
Nr   z\\r  z\\*r   Fz\sphinxvlinecrossing{%d}z\sphinxcline{%d-%d}z\sphinxfixclines{%d})r   r   rp   r   rz   r   allrl   ro   r   r  r}   r   )rM   r   rX  r|   r   
underlinedjs          r.   
depart_rowzLaTeXTranslator.depart_row  s   zz%%%=B4::CVCV=WX3XX 
 HHt{{"djjnnq&88

 
 z?IIURZ(II_-IIVb[)Aug&!}%$**---*Q-52HQU|++uQx/?/??		(()Dq)HIFA $**---*Q-52H djj)))qrN((/		  !71q5!a%.!HIQQ$**---*Q-52HQU|++uQx/?/??		(()Dq)HIFA $**---*Q-52H djj))) II4tzz7J7JJK

!; Y
s   7L-:Lc                H   | j                   J | j                   j                  dkD  r| j                  j                  d       | j                   j	                  |j                  dd      dz   |j                  dd      dz          | j                   j                         }|J d}| j                   j                  }|j                  dkD  r| j                  j                  r| j                   j                  dk(  r3| j                  j                  d|j                  ||fz  t        z          n1| j                  j                  d|j                  |fz  t        z          d	t        z   }n8| j                  j                  d
|j                  z  t        z          dt        z   }|j                  dkD  rG| j                  j                  d|j                  |j                  fz  t        z          d	t        z   |z   }| j                  j                  d|j                  | j                   j                  fz  t        z          dt        z   dz   t        z   |z   }t        |j                   j                   t"        j$                        s"|j                  | j                   j&                  v rWt)        |      dk(  r.t        |d   t"        j*                        r|j-                         sn| j                  j                  d       | j/                  g        | j0                  j                  |       y )Nr   r  morerowsr   morecolsrB   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\sphinxbeforeendvarwidthz\end{varwidth}%z\sphinxstyletheadfamily )r   ry   rl   ro   r   rm   r   rr   r   r   latex_use_latex_multicolumnr   r   r}   rp   rQ   r  r   theadrx   r  r(   rU   r  r   )rM   r   r   r   r   s        r.   visit_entryzLaTeXTranslator.visit_entry=  sv   zz%%%::>>AIIS!

DHHZ3a7*a9PST9TUzz **##::>{{66::>>Q&II$$5Wg8VV
 II$$3tzz76KKbP )		  !ADJJ!NQS!ST3b8;;?II-dll0KKbP Ri')G 			;zz4::../0	

 .25GG"LwVt{{))5;;7DJJ,,, D	QtAw8		  !<=bG$r-   c                   | j                   J | j                         }|r,|d   t        k(  r |j                  d       |r|d   t        k(  r | j                  j                  |       | j                  j                  | j                  j                                | j                   j                         }|J | j                   xj                  |j                  z  c_	        | j                   j                  }	 | j                   j                         }|y | j                  j                  d       |j                  dk(  r)| j                  j                  d|j                  z         n5| j                  j                  d|j                  ||j                  fz         | j                   xj                  |j                  z  c_	        )Nr   r  r   r  z,\multicolumn{%d}{l%s}{\sphinxtablestrut{%d}})r   r!  r   r   rl   r  ro   r   r   ry   r   rr   r}   )rM   r   rl   r   r   nextcells         r.   depart_entryzLaTeXTranslator.depart_entry}  sb   zz%%%||~ tAw"}HHQK tAw"}				))+,zz 

$**$**## zz(HIIS!~~" 		  !9H<L<L!LM 		  C~~w0@0@AB JJNNhnn,N! r-   c                <   t        d|d         }t        d|      }| j                  j                  t               | j                  j                  dj	                  d |D              dz          | j                  j                  t               t
        j                  )Nznodes.bullet_listr   zIterable[nodes.list_item], c              3  <   K   | ]  }|j                           y wrI   rU   )r   ns     r.   r   z-LaTeXTranslator.visit_acks.<locals>.<genexpr>  s     "B!188:"B   .)r   rl   ro   r  r   r   r  )rM   r   bullet_list
list_itemss       r.   
visit_ackszLaTeXTranslator.visit_acks  sv     .Q85{C
		#		"Bz"BBSHI		#nnr-   c                b    | j                   s#| j                  j                  dt        z          y y )Nz\begin{itemize}r   rl   ro   r   r~   s     r.   visit_bullet_listz!LaTeXTranslator.visit_bullet_list  s(      II/"45 !r-   c                b    | j                   s#| j                  j                  dt        z          y y )Nz\end{itemize}r  r~   s     r.   depart_bullet_listz"LaTeXTranslator.depart_bullet_list  s(      II-23 !r-   c                *  	 dd}d	fd	 	|      }dt        |      j                          }dt        |dz         j                          }t        j                   ||            }|j                  dd      }|j                  dd      }| j                  j                  d	t        z          | j                  j                  d
|d|d|d|d|dt        z          d|v r.| j                  j                  d||d   dz
  fz  t        z          y y )Nc                x    | j                  dd      }d|v r#| j                  dd      t        |       z   dkD  rd}|S )Nenumtyper0   alphastartr      )rm   r  )r   r  s     r.   get_enumtypez;LaTeXTranslator.visit_enumerated_list.<locals>.get_enumtype  s?    xx
H5H("!(<s4y(HB'N#Or-   c                    | yt        | t        j                        r | j                        dz   S  | j                        S r   )rQ   r   enumerated_listr  )r   get_nested_levels    r.   r  z?LaTeXTranslator.visit_enumerated_list.<locals>.get_nested_level  s>    |D%"7"78'4q88'44r-   enumr   rO  rB   rP  r  z\begin{enumerate}z\sphinxsetlistlabels{rK  r  r  z\setcounter{%s}{%d})r   r   rY   r   )r   r   rY   r{   )r
   to_lowercaseENUMERATE_LIST_STYLErm   rl   ro   r   )
rM   r   r  nested_levelr  enumnextstylerO  rP  r  s
            @r.   visit_enumerated_listz%LaTeXTranslator.visit_enumerated_list  s   		5 (-l<0==?@A,|a'78EEGHI$((d);<(B'(C(		-23		dHff6	

 d?II3tT']Q=N6OORTTU r-   c                H    | j                   j                  dt        z          y )Nz\end{enumerate}rl   ro   r   r~   s     r.   depart_enumerated_listz&LaTeXTranslator.depart_enumerated_list  s    		+b01r-   c                :    | j                   j                  d       y )Nz	\item {} r  r~   s     r.   visit_list_itemzLaTeXTranslator.visit_list_item  s     			&r-   c                B    | j                   j                  t               y rI   r  r~   s     r.   depart_list_itemz LaTeXTranslator.depart_list_item      		r-   c                H    | j                   j                  dt        z          y )Nz\begin{description}r  r~   s     r.   visit_definition_listz%LaTeXTranslator.visit_definition_list  s    		/"45r-   c                H    | j                   j                  dt        z          y )Nz\end{description}r  r~   s     r.   depart_definition_listz&LaTeXTranslator.depart_definition_list      		-23r-   c                     y rI   r,   r~   s     r.   visit_definition_list_itemz*LaTeXTranslator.visit_definition_list_item  r  r-   c                     y rI   r,   r~   s     r.   depart_definition_list_itemz+LaTeXTranslator.depart_definition_list_item  r  r-   c                   | xj                   dz  c_         d}|j                  d      r"d}|d   D ]  }|| j                  |d      z  } |dz  }| j                  j	                  d       | j
                  j	                  |       y )	Nr   rB   r6  r*  Fr4  r   z\sphinxlineitem{)r   rm   r1  rl   ro   r   )rM   r   ctxr5  s       r.   
visit_termzLaTeXTranslator.visit_term  s    88E?$C; ?t'''>>?t		,-C r-   c                    | j                   j                  | j                  j                                | xj                  dz  c_        y r  )rl   ro   r   r   r   r~   s     r.   depart_termzLaTeXTranslator.depart_term  s/    		))+,r-   c                :    | j                   j                  d       y )Nz{[}r  r~   s     r.   visit_classifierz LaTeXTranslator.visit_classifier      		r-   c                :    | j                   j                  d       y )Nz{]}r  r~   s     r.   depart_classifierz!LaTeXTranslator.depart_classifier  r  r-   c                     y rI   r,   r~   s     r.   visit_definitionz LaTeXTranslator.visit_definition  r  r-   c                B    | j                   j                  t               y rI   r  r~   s     r.   depart_definitionz!LaTeXTranslator.depart_definition  r  r-   c                H    | j                   j                  dt        z          y )Nz \begin{quote}\begin{description}r  r~   s     r.   visit_field_listz LaTeXTranslator.visit_field_list  s    		<rABr-   c                H    | j                   j                  dt        z          y )Nz\end{description}\end{quote}r  r~   s     r.   depart_field_listz!LaTeXTranslator.depart_field_list  s    		82=>r-   c                     y rI   r,   r~   s     r.   visit_fieldzLaTeXTranslator.visit_field  r  r-   c                     y rI   r,   r~   s     r.   depart_fieldzLaTeXTranslator.depart_field  r  r-   c                *   |j                   j                  |      }|dkD  rt        |j                   t        j                        rwt        |j                   |dz
     t        j
                        sMt        |j                   |dz
     t        j                        s#| j                  j                  dt        z          y |dk(  r+t        |j                   t        j                  t        f      ry | j                  j                  t        dt        z   g       y )Nr   r   	\noindentz\sphinxAtStartPar)r  r   rQ   r   compoundr(   rl   ro   r   r  footnotetextr  )rM   r   r   s      r.   visit_paragraphzLaTeXTranslator.visit_paragraph  s    !!$'AI4;;7t{{5195uGt{{5195u~~F II\B./aZJt{{U^^\4RS 
 IIb"6";<=r-   c                B    | j                   j                  t               y rI   r  r~   s     r.   depart_paragraphz LaTeXTranslator.depart_paragraph+  r  r-   c                H    | j                   j                  t        dz          y )N\begin{center}r  r~   s     r.   visit_centeredzLaTeXTranslator.visit_centered.  s    		//0r-   c                H    | j                   j                  t        dz          y )N\end{center}r  r~   s     r.   depart_centeredzLaTeXTranslator.depart_centered1  s    		o-.r-   c                .   | xj                   dz  c_         |d   }| j                   dkD  r"| j                  j                  dt        z          | j                  j                  d|z   dz   t        z          | j                  j                  dt        z          y )Nr   ncolumnsz\setlength{\multicolsep}{0pt}z\begin{multicols}{z}\raggedrightzA\begin{itemize}\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}r  )rM   r   r  s      r.   visit_hlistzLaTeXTranslator.visit_hlist4  s    Q
#q II=BC		.9<LLrQR		)+-.	
r-   c                r    | xj                   dz  c_         | j                  j                  dt        z          y )Nr   z*\end{itemize}\raggedcolumns\end{multicols}r  r~   s     r.   depart_hlistzLaTeXTranslator.depart_hlist?  s+    Q		FKLr-   c                     y rI   r,   r~   s     r.   visit_hlistcolzLaTeXTranslator.visit_hlistcolC  r  r-   c                     y rI   r,   r~   s     r.   depart_hlistcolzLaTeXTranslator.depart_hlistcolF  s     	r-   c                x    	 t        ||      S # t        $ r" t        j                  t	        d      |       Y y w xY w)Nz&dimension unit %s is invalid. Ignored.)r   r   r   r   r   )rM   r   r   s      r.   latex_image_lengthz"LaTeXTranslator.latex_image_lengthN  s:    	%i77 	NN2FGS	s    (99c                J    t        |j                  t        j                        S )z2Check whether a node represents an inline element.)rQ   r  r   TextElementr~   s     r.   	is_inlinezLaTeXTranslator.is_inlineU  s    $++u'8'899r-   c                   g }g }g }t        |j                  t        j                        }|r| j	                  |j                        }n| j	                  |      }d|v rGd|v r| j                  |d   |d         }n| j                  |d         }|r|j                  d|z         d|v rGd|v r| j                  |d   |d         }n| j                  |d         }|r|j                  d|z         d|v r%|s#|j                  dt        |d         dz  z         d|v rBd	d
ddddd}		 |j                  |	||d   f   d          |j                  |	||d   f   d          | j                  r"|j                  d       |j                  d       |s/|s-|j                  t        dz          |j                  t               |j                          |d   | j                  j                  v r| j                  j                  |d      }
n| j                  ry |d   }
|
j                  d      dk7  ry | j                   j#                  |       d}|rddj%                  |      z  }t'        |
      }|j)                  d      }|j*                  }| j,                  r|rd| d| d| d}nd| d| d| d}dt/        |      v rd | d}| j                   j                  |       | j                   j#                  |       y # t        $ r Y w xY w)!Nr   r   zwidth=%sr   z	height=%szscale=%sr   rc   )rB   rB   )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(  rB   r  r   z!\lowercase{\sphinxincludegraphicsz}{{z\sphinxincludegraphicsz{{#z{\catcode`\#=12)rQ   r  r   	referencer   r  ro   r   KeyErrorr   r   reverserL   imagesignore_missing_imagesfindrl   r  r   r   with_suffixrP  r   r   )rM   r   prepostinclude_graphics_optionshas_hyperlinkr   whalign_prepostr
  optionsimg_pathbaseextcmds                   r.   visit_imagezLaTeXTranslator.visit_imageY  s   #% "4;;@t{{3It,Id?$++DM4=I++DM:(//
Q?t$++DNDMJ++DN;(//a@d?+ )//%W"6">? d? %@=I 88M

=DM)AB1EFM)T']*BCAFG !!JJ;<KKJJrL()KKO;$,,---,,%%d5k2C ))u+C88E?b 		#sxx(@AAG9##B'oo==T 8ytfBseSUVC+G9DbRHC#d)%cU"-C				K  s   '8K9 9	LLc                     y rI   r,   r~   s     r.   depart_imagezLaTeXTranslator.depart_image  r  r-   c                |   | j                   d   }| j                  rd}| j                  r| j                  j	                  t
               d|v r^| j                  |d         }|r| j                  j	                  d|z  t        z          | j                  j	                  dt        z          nD| j                  j	                  dt        z          | j                  j	                  dt        z          t        d |D              r| j                  j	                  d       | j                  j	                  d	t        z          y |j                  d
d      dv rd }d|v r| j                  |d         }n;t        |d   t        j                        rd|d   v r| j                  |d   d         }| j                  j	                  t
               | j                  j	                  d|d
   dk(  rdndd|xs ddt        z          | j                  j	                  d       | j                  j	                  dt
        z   dz   t        z          y | j                  rE| j                  j	                  t        dz          | j                  j	                  dt        z          y | j                  j	                  t        d|z  z   t        z          | j                  j	                  dt        z          t        d |D              r"| j                  j	                  dt        z          | j                  j	                  dt        z          y )Nfigure_alignHr   z!\begin{sphinxfigure-in-table}[%s]z
\centeringz\begin{sphinxfigure-in-table}c              3  P   K   | ]  }t        |t        j                           y wrI   rQ   r   rw   r   r  s     r.   r   z/LaTeXTranslator.visit_figure.<locals>.<genexpr>       F:eU]]3Fr>  z	\capstartz!\end{sphinxfigure-in-table}\relaxrc   rB   >   r  r	  r   z\begin{wrapfigure}{r	  rr   rK  0ptr   z\end{wrapfigure}z6\mbox{}\par\vskip-\dimexpr\baselineskip+\parskip\relaxr  r  z\begin{figure}[%s]c              3  P   K   | ]  }t        |t        j                           y wrI   r&  r'  s     r.   r   z/LaTeXTranslator.visit_figure.<locals>.<genexpr>  r(  r>  z\end{figure})r   r   r   rl   ro   r  r  r   r   r   rm   rQ   r   r  r   )rM   r   rc   lengths       r.   visit_figurezLaTeXTranslator.visit_figure  s   n-E::IIY'$00g?II$$%IF%RUW%WXII$$]R%78		  !AB!FG		  !34FFF		  .LL Dr IJXXgr"&77F$00g?DGU[[1ga6H00a1AB IIY'IIw-723;V_u_N
 II]+LL#KL  IIR"334LL" 45IIR"7%"??"DEII]R/0FFF		  !23LL" 45r-   c                j    | j                   j                  | j                  j                                y rI   r  r~   s     r.   depart_figurezLaTeXTranslator.depart_figure  r  r-   c                   | xj                   dz  c_         t        |j                  t              r| j                  j                  d       y | j                  r@t        |j                  t        j                        r| j                  j                  d       y | j                  r5|j                  j                  dk(  r| j                  j                  d       y | j                  j                  d       y )Nr   z\sphinxSetupCaptionForVerbatim{z\captionof{figure}{figurez\sphinxfigcaption{z	\caption{)r   rQ   r  captioned_literal_blockrl   ro   r   r   r1  r   tagnamer~   s     r.   visit_captionzLaTeXTranslator.visit_caption  s    1dkk#:;II?@*T[[%,,"GII34ZZDKK//8;II23II\*r-   c                   | j                   j                  d       t        |j                  t        j
                        r6| j                  |j                        }| j                   j                  |       | xj                  dz  c_        y )Nr   r   )rl   ro   rQ   r  r   r1  r8  r   )rM   r   r7  s      r.   depart_captionzLaTeXTranslator.depart_caption  sZ    		dkk5<<0((5FIIV$1r-   c                H    | j                   j                  t        dz          y )Nz\begin{sphinxlegend}r  r~   s     r.   visit_legendzLaTeXTranslator.visit_legend  s    		556r-   c                H    | j                   j                  dt        z          y )Nz\end{sphinxlegend}r  r~   s     r.   depart_legendzLaTeXTranslator.depart_legend  s    		.34r-   c                r    | j                   j                  t        dz          | xj                  dz  c_        y )Nz\begin{sphinxadmonition}{note}r   rl   ro   r   r   r~   s     r.   visit_admonitionz LaTeXTranslator.visit_admonition  s+    		??@!r-   c                r    | j                   j                  dt        z          | xj                  dz  c_        y Nz\end{sphinxadmonition}r   r<  r~   s     r.   depart_admonitionz!LaTeXTranslator.depart_admonition  +    		2R78!r-   c                    t         |j                     }| j                  j                  t        d|j                  d|dz          | xj
                  dz  c_        y )Nz\begin{sphinxadmonition}{rK  z:}r   )r   r3  rl   ro   r   r   rZ  s      r.   _visit_named_admonitionz'LaTeXTranslator._visit_named_admonition  sF     .		uMM	
 	!r-   c                r    | j                   j                  dt        z          | xj                  dz  c_        y r?  r<  r~   s     r.   _depart_named_admonitionz(LaTeXTranslator._depart_named_admonition  rA  r-   c                     y rI   r,   r~   s     r.   visit_versionmodifiedz%LaTeXTranslator.visit_versionmodified$  r  r-   c                     y rI   r,   r~   s     r.   depart_versionmodifiedz&LaTeXTranslator.depart_versionmodified'  r  r-   c                    d fd}}t        |t        j                        r-|j                  d      }t        |t        j                        r- j                  j
                  }t        |t              ry |#|j                  |      r|j                  |      ry dv ry dv ry j                  d      r<t              }t        |t        j                        rd   |d   k(  ry  |d          d   D ]
  } ||        y )	Nc                   | j                  d      ry | j                  d      ry j                  j                        }|dkD  rIt        j                  |dz
     t        j
                        rj                  j                  t               j                   }j                  j                  j                  | |             y )Nzindex-z	equation-r   r   r4  )
startswithr  r   rQ   r   r(   rl   ro   r   r   r1  )r-  r   r/  r   rM   s      r.   
add_targetz0LaTeXTranslator.visit_target.<locals>.add_target+  s     }}X& }}[) KK%%d+EqyZEAI(>P		  $ &FIIT--b-@Ar-   T)ascendrefuri	anonymousrefidr6  )r-  r   rY   rZ   )rQ   r   target	next_nodera  standard_domainHYPERLINK_SUPPORT_NODESget_enumerable_node_typeget_numfig_titlerm   r   r  )rM   r   rM  rS  rh  	prev_noder-  s   ``     r.   visit_targetzLaTeXTranslator.visit_target*  s    	B* "&	ELL1!++4+8I ELL1 ..i!89!//	:''	2t$88G%d+I9eoo6MYw%77 4=)u+ 	BrN	r-   c                     y rI   r,   r~   s     r.   depart_targetzLaTeXTranslator.depart_target_  r  r-   c                    | j                   j                  t        dz   t        z          | j                   j                  d       y )Nz\begin{flushright}z---r  r~   s     r.   visit_attributionz!LaTeXTranslator.visit_attributionb  s1    		33b89		r-   c                V    | j                   j                  t        dz   t        z          y )Nz\end{flushright}r  r~   s     r.   depart_attributionz"LaTeXTranslator.depart_attributionf  s    		11B67r-   c                b    d fd}dd}|j                  dd      s j                  j                  t               |d   }|D ]  \  }}}}}	d}
|rd}
	 t	        t        |t        ||                  }t	        t        ||            }|dk(  r7	 |\  }}|\  }} j                  j                  d	| d
| d| d
| |
 d
       n<|dk(  rC|\  }}|\  }} j                  j                  d	| d
| d| d
| |
 d| d
| d| d
| |
 d       n|dk(  r|\  }}}|\  }}} j                  j                  dj                  g d	| d
| d| d| d
| d| |
 d| d
| d| d| d
| d| |
 d| d
| d| d| d
| d| |
 d             nS|dv r0|\  }}|\  }} j                  j                  d	| d
| d| d       nt        j                  t        d      |        |j                  dd      s j                  j                  d       t        j                  # t        $ r/ |\  }|\  } j                  j                  d	| d
| |
 d       Y ww xY w# t        $ r)}t        j                  t        |             Y d }~ed }~ww xY w)Nc                   j                  |       } | j                  dd      } | j                  dd      } | j                  dd      } | j                  dd      } | j                  d	d
      } | j                  dd      } | S )Nz\{z\sphinxleftcurlybrace{}z\}z\sphinxrightcurlybrace{}"z""@z"@!z"!rj   z
\textbar{}rF  rH  )valuerM   s    r.   r@  z+LaTeXTranslator.visit_index.<locals>.escapej  sx    KK&EMM%)CDEMM%)DEEMM#t,EMM#t,EMM#t,EMM#}5ELr-   c                \    t         j                  |       }|r|j                  d      S d| z  S )Nz\\spxentry{\1}\\spxextra{\2}z\spxentry{%s})EXTRA_REr   expand)stringr   s     r.   r  z*LaTeXTranslator.visit_index.<locals>.stylet  s.    NN6*E||$CDD'&00r-   inlineTrZ  rB   z	|spxpagemsinglez\index{rc  rd  r   pairz}\index{tripler  r  >   seer  z|see{r  z!unknown index entry type %s foundz\ignorespaces )rf  r   rY   r   )rj  r   rY   r   )rm   rl   ro   r   tuplemapr   r   r   r   r   r   r   r   r  )rM   r   r@  r  rZ  rP  rj  _tidismain_keympartsstyledp1p2P1P2pPp3P3_P2errs   `                      r.   visit_indexzLaTeXTranslator.visit_indexi  s
   		1 xx$'IIR y/07 &	),D&$A")c&/$*GHIs5%018#C!&B!'B		((HRD"Qrd!B4s")MN
 V^"FB#FBII$$#B4qAbT2$qc :$$&4qAbT2$qc= X%!&JBB!'JBBII$$G G8 GB4 Gq G GA GbT G G2$ Ga Gt G1 GRD G G D$ G$&4G'(G)+G,-G.0TG13G464G78G9;G<>G?AdGCD#GF$G$&4G'(G)+G,-G.0TG12G35$G67G8:tG;<G=?DGABGCEG
 //"FB$GBII$$AbTt4%HINN2&I#JDQI&	)N xx$'II./nn; & C$%		((HQCqA3b)ABC2  )s3x(()s=   9I<4ID>I<5I96I<8I99I<<	J.J))J.c                x   | j                  |      s| j                  j                  t               d|j	                  dd      j                         v r)| j                  j                  |j                                | j                  |      s| j                  j                  t               t        j                  )Nr   formatrB   )	r   rl   ro   r   rm   r  rU   r   r  r~   s     r.   	visit_rawzLaTeXTranslator.visit_raw  s|    ~~d#IIR dhhx,2244IIT[[]+~~d#IIR nnr-   c                *   | j                   sI|j                  d      D ]5  }| j                   }| xj                  | j	                  ||      z  c_        7 | j                  |      s| j                  j                  t               |j                  dd      }|s,|j                  d      rd| j                  d   z   dz   |d   z   }|s| j                  j                  d       y |j                  d      r| j                  d   d	z   |d
d  z   }| j                  j                  | j                  |             | j                  j                  d       | j                  j                  r:| j                  s.| j                  j                  d| j                  |      z         y | j                  j                  d       y |j                  d      r[|j!                  d      }|dk(  r	|d
d  dz   }n|d
d  j#                  dd	      }| j                  j                  | j                  |             t%        |      rkt'        |d   t(        j*                        rNd|d   j                  dg       v r7| j                  j                  d       | j                  j                  d       y | j                  j                  d       | j                  j                  r:| j                  s.| j                  j                  d| j                  |      z         y | j                  j                  d       y t%        |      d
k(  r||d   k(  r|j                  d      r=| j                  j                  d| j-                  |      z         t(        j.                  | j                  j                  d| j-                  |      z         t(        j.                  | j                  j                  d| j-                  |      z         | j                  j                  d       y )Nr6  r4  rO  rB   rQ  r   r(  r  r)  r   z\sphinxsamedocref{z}}} (%s)z}}}z::docr   zstd-termrd   z\sphinxtermref{z\sphinxcrossref{	nolinkurlz\sphinxnolinkurl{%s}z\sphinxurl{%s}z\sphinxhref{%s}{r   )r   rm   r   rl   r1  r   ro   r   r  r   rL  r<  r   latex_show_pagerefsr   r>  r  rH  r  rQ   r   r   
encode_urir  )rM   r   r-  r/  r
  	hashindexs         r.   visit_referencezLaTeXTranslator.visit_reference  s)   }}hhuo A!__,		T--b-@@	A ~~d#IIR hhx$txx())"--3d7mCCLL#^^C ""2&,s12w6BIIT^^B/0II23{{..t7N7N##J1B1B21F$FG##E*^^C IBWw& W__S#.IIT^^B/0D	tAw6$q'++i"<< ##E*		  !34		  !45;;224;R;RLL''
T5F5Fr5J(JKLL''.4yA~#a.88K(II$$%<ts?S%ST nn$ II$$%69M%MNnn$		  !4ts7K!KL##C(r-   c                    | j                   j                  | j                  j                                | j	                  |      s | j                   j                  t
               y y rI   )rl   ro   r   r   r   r   r~   s     r.   depart_referencez LaTeXTranslator.depart_reference  sD    		))+,~~d#IIR  $r-   c                   |j                  d      r| j                  d   dz   |d   z   }n%|j                  dd      dd  j                  dd      }| j                  |j                  dd	            j                  d
d	      }d|v sd|v rc|j                  dd      j                  dd      }t	        |      j                  d| j                  |      z  d| j                  |      z        }n t	        |      d| j                  |      z  z  }d| j                  |       d| d}| j                  j                  |       t        j                  )NrQ  r(  r)  rO  rB   r   r  r  z%sz\%sz\{name\}z
\{number\}z{name}z{number}z\nameref{%s}\ref{%s})rc  numberz
\hyperref[]{r   )rm   r  rH  r@  r   r  r,  rl   ro   r   r  )rM   r   r-  r  r   hyperrefs         r.   visit_number_referencez&LaTeXTranslator.visit_number_reference  s<   88G""2&,tG}<B(B'+33C=BDHHWd34<<VTJ%=E#9MM+x8@@zE u%,,$t}}R'88"T]]2%66 - D u%t}}R7H)HID r!2 33tfB?		"nnr-   c                     y rI   r,   r~   s     r.   visit_download_referencez(LaTeXTranslator.visit_download_reference  r  r-   c                     y rI   r,   r~   s     r.   depart_download_referencez)LaTeXTranslator.depart_download_reference  r  r-   c                     y rI   r,   r~   s     r.   visit_pending_xrefz"LaTeXTranslator.visit_pending_xref  r  r-   c                     y rI   r,   r~   s     r.   depart_pending_xrefz#LaTeXTranslator.depart_pending_xref  r  r-   c                :    | j                   j                  d       y )Nz\sphinxstyleemphasis{r  r~   s     r.   visit_emphasiszLaTeXTranslator.visit_emphasis  s    		12r-   c                :    | j                   j                  d       y r  r  r~   s     r.   depart_emphasiszLaTeXTranslator.depart_emphasis  r  r-   c                :    | j                   j                  d       y )Nz+\sphinxstyleliteralemphasis{\sphinxupquote{r  r~   s     r.   visit_literal_emphasisz&LaTeXTranslator.visit_literal_emphasis  s    		GHr-   c                :    | j                   j                  d       y r  r  r~   s     r.   depart_literal_emphasisz'LaTeXTranslator.depart_literal_emphasis  r  r-   c                :    | j                   j                  d       y )Nz\sphinxstylestrong{r  r~   s     r.   visit_strongzLaTeXTranslator.visit_strong   s    		/0r-   c                :    | j                   j                  d       y r  r  r~   s     r.   depart_strongzLaTeXTranslator.depart_strong#  r  r-   c                   | j                   rUdg}||d   D cg c]  }| j                  |d       c}z  }| j                  j                  dj	                  |             y | j                  j                  d       y c c}w )Nr*  r6  Fr4  rB   z)\sphinxstyleliteralstrong{\sphinxupquote{)r   r1  rl   ro   r   )rM   r   r  id_s       r.   visit_literal_strongz$LaTeXTranslator.visit_literal_strong&  sr    ""%&C4;OCD$$S$7OOCIIRWWS\*		EF Ps   A>c                T    | j                   ry | j                  j                  d       y r  )r   rl   ro   r~   s     r.   depart_literal_strongz%LaTeXTranslator.depart_literal_strong.  s     ""		r-   c                f   |j                  dd      }|j                         }| j                  j                  d       |rW|| j                  vrI| j
                  j                  d| j                  |      z         | j                  j                  |       y | j
                  j                  d       y )NexplanationrB   z\sphinxstyleabbreviation{z} (%s)r   )rm   rU   rl   ro   r  r   rF  add)rM   r   r  abbrs       r.   visit_abbreviationz"LaTeXTranslator.visit_abbreviation3  s    hh}b1{{}		564t'9'99LL4;;{+C CD""4(LL$r-   c                j    | j                   j                  | j                  j                                y rI   r  r~   s     r.   depart_abbreviationz#LaTeXTranslator.depart_abbreviation>  r  r-   c                &    | j                  |       y rI   )r  r~   s     r.   visit_acronymzLaTeXTranslator.visit_acronymA  s    %r-   c                &    | j                  |       y rI   )r  r~   s     r.   depart_acronymzLaTeXTranslator.depart_acronymD  s      &r-   c                $    | j                  |      S rI   )r  r~   s     r.   visit_manpagezLaTeXTranslator.visit_manpageG  s    **400r-   c                $    | j                  |      S rI   )r  r~   s     r.   depart_manpagezLaTeXTranslator.depart_manpageJ  s    ++D11r-   c                :    | j                   j                  d       y )Nz\sphinxtitleref{r  r~   s     r.   visit_title_referencez%LaTeXTranslator.visit_title_referenceM  r  r-   c                :    | j                   j                  d       y r  r  r~   s     r.   depart_title_referencez&LaTeXTranslator.depart_title_referenceP  r  r-   c                
   t        d|      }d |D        }t        d |D        t              }t        |      t        kD  r	|d t         }| j                  j                  t        d| j                  |      z  z   t        z          y )NzIterable[nodes.citation]c              3  :   K   | ]  }t        d |d           yw)rW  r   N)r   )r   citations     r.   r   z8LaTeXTranslator.visit_thebibliography.<locals>.<genexpr>U  s     Mx$}hqk2Ms   c              3  <   K   | ]  }|j                           y wrI   r  )r   r[  s     r.   r   z8LaTeXTranslator.visit_thebibliography.<locals>.<genexpr>V  s     @U\\^@r  )keyz!\begin{sphinxthebibliography}{%s})r   r  r  MAX_CITATION_LABEL_LENGTHrl   ro   r   rF  )rM   r   	citationsr7  longest_labels        r.   visit_thebibliographyz%LaTeXTranslator.visit_thebibliographyS  sv    3T:	M9M@@cJ} 99)*D+DEM		5M8RRRUWW	
r-   c                H    | j                   j                  dt        z          y )Nz\end{sphinxthebibliography}r  r~   s     r.   depart_thebibliographyz&LaTeXTranslator.depart_thebibliography_  s    		7"<=r-   c           	         t        d|d         }| j                  j                  d| j                  |j	                                d|d    d|d   d    d       y )	NrW  r   z	\bibitem[r  r{  r)  r6  r   )r   rl   ro   rF  rU   rZ  s      r.   visit_citationzLaTeXTranslator.visit_citationb  s`    ]DG,		U\\^45 6y/"!DKN#327	
r-   c                     y rI   r,   r~   s     r.   depart_citationzLaTeXTranslator.depart_citationi  r  r-   c                    | j                   ry | j                  j                  d|d    d|d    d       t        j                  )Nz\sphinxcite{r{  r)  refnamer   )r   rl   ro   r   r  r~   s     r.   visit_citation_referencez(LaTeXTranslator.visit_citation_referencel  sB    ==IId9o->aY?PPRST.. r-   c                     y rI   r,   r~   s     r.   depart_citation_referencez)LaTeXTranslator.depart_citation_references  r  r-   c                N   | j                   r| j                  j                  d       y d|d   v r| j                  j                  d       y |j                  dd       }d|d   vs|s| j                  j                  d       y | j                  j
                  j                  |i       }| j                  j                  |j                         |||d	      }| j                  j                  d
t        z   |j                         z   dz   t        z   dz          t        j                  )Nz*\sphinxstyleliteralintitle{\sphinxupquote{kbdrd   z\sphinxkeyboard{\sphinxupquote{r	  coder  T)optsr  nowrapz\sphinxcode{\sphinxupquote{%r   r  )r   rl   ro   rm   r   highlight_optionsr  highlight_blockrU   r   rstripr   r  )rM   r   langr  hlcodes        r.   visit_literalzLaTeXTranslator.visit_literalv  s    ==IIJKd9o%II?@xx
D)i(II;<{{,,00r:!!11KKM4dT$ 2 
 			+b06==?BSH2MPTT	
 nnr-   c                :    | j                   j                  d       y r  r  r~   s     r.   depart_literalzLaTeXTranslator.depart_literal  r  r-   c                "    t         j                  rI   r`  r~   s     r.   visit_footnote_referencez(LaTeXTranslator.visit_footnote_reference  rb  r-   c                :    | j                   j                  d       y )Nz\sphinxfootnotemark[r  r~   s     r.   visit_footnotemarkz"LaTeXTranslator.visit_footnotemark  s    		01r-   c                :    | j                   j                  d       y )N]r  r~   s     r.   depart_footnotemarkz#LaTeXTranslator.depart_footnotemark  r  r-   c                   t        d|d         }| j                  j                  dt        z          | j                  j                  d|j	                         z         | j                  j                  dt        z          y )NrW  r   r   z\begin{footnotetext}[%s]rY  )r   rl   ro   r   rU   rZ  s      r.   visit_footnotetextz"LaTeXTranslator.visit_footnotetext  s^    ]DG,		r"		4u||~EF		2R78r-   c                ~    | j                   j                  dt        z          | j                   j                  d       y )Nr   z \end{footnotetext}\ignorespaces r  r~   s     r.   depart_footnotetextz#LaTeXTranslator.depart_footnotetext  s+    		r"		<=r-   c                     y rI   r,   r~   s     r.   visit_captioned_literal_blockz-LaTeXTranslator.visit_captioned_literal_block  r  r-   c                     y rI   r,   r~   s     r.   depart_captioned_literal_blockz.LaTeXTranslator.depart_captioned_literal_block  r  r-   c           	        |j                   |j                         k7  r8| xj                  dz  c_        | j                  j	                  dt
        z          y | j                  |      }t        |j                  t              r|| j                  |j                        z  }|r4| j                  s(| j                  j	                  t
        dz   |z   dz          |j                  dd      }|j                  dd      }|j                  d	i       }|j                  d
d      |d
<   | j                  j                  j                  |i       } | j                  j                  |j                   |f|||d|}| j                  r5| j                  j	                  t
        dz          |j!                  dd      }nS| j"                  r5d| j"                  _        d| j"                  _        |j!                  dd      }n|j!                  dd      }|j)                         d d }| j"                  r| j                  s|dz  }n|dz  }t+        |j                  dg             dd }|r%| j                  j	                  t
        d|z  z          |j-                         }	t.        }
t1        |	      |
z   dz
  |
z  }|dkD  rF|	d   dd  }|j3                  d      }|dkD  r?||d  }|j3                  d      }| j                  j	                  t
        d|d| z  z          n"| j                  j	                  t
        dz          d|z   |	d<   d |	d<   t
        j5                  |	d |
dz          t
        z   d!z   t
        z   }|
dz   }|r	|d d d"z   }nd#}t7        |d$z
        D ]C  }|d%|z   t
        z   t
        j5                  |	|||
z          z   t
        z   d&z   t
        z   z  }||
z  }E |d'|z   t
        z   t
        j5                  |	|d        z   z  }| j                  j	                  t
        |z   t
        z          |r"| j                  j	                  d(t
        z          t8        j:                  ))Nr   z\begin{sphinxalltt}z\def\sphinxLiteralBlockLabel{r   r	  rC   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,}}%%rS  r      zfirstnumber=r   z$\def\sphinxverbatimfirstnumber{%s}%%   z"\def\sphinxverbatimfirstnumber{1}%z\begin{sphinxLongVerbatimFirst}z\end{sphinxLongVerbatimLast}z\end{sphinxLongVerbatimFirst}z,firstnumber=last]z[firstnumber=last]r   z \begin{sphinxLongVerbatimMiddle}z\end{sphinxLongVerbatimMiddle}z\begin{sphinxLongVerbatimLast}z\sphinxresetverbatimhllines)	rawsourcerU   r   rl   ro   r   r8  rQ   r  r2  r   rm   r   r  r  r  rH  r   rt   ru   r  r   
splitlinesVERBATIM_CHUNKSIZEr  r  r   r   r   r  )rM   r   r7  r  r  r  r  r  hllines_hlcodelines
_chunksize_nbofchunks_e_idx1_e1_idx2_linenor   s                     r.   visit_literal_blockz#LaTeXTranslator.visit_literal_block  sU   >>T[[]*""a'"II3b89((.F$++'>?$--dkk::d..		  &F!F!ORU!UV88J	2Dhhy%0G!XX&6;N&*hhw&>N7#;;0044T2>D5T%%55  !F 		  &H!HI(;=VW -1

**.

'')I  (;=VW]]_Tc*Fzz$"2"28811.,,Z<=aCG		  &BW&L!LM!,,.L+J|,z9A=*LKQ!!_RS) /2:UV*CHHSMEII$$Ds2e}TT II$$R*O%OP"Dr"IQ#BR GGL)9:>:;67   %q. CR#77B-B{Q/ 
*A; '',w:9M"NOP 	
 << F z)G
* 5 ggl78456 IIR&[2-.		  !?"!DE.. r-   c                    | j                   j                  t        dz   t        z          | xj                  dz  c_        y )Nz\end{sphinxalltt}r   )rl   ro   r   r   r~   s     r.   depart_literal_blockz$LaTeXTranslator.depart_literal_block	  s0    		22R78!#r-   c                :    | j                   j                  d       y )Nz\item[] r  r~   s     r.   
visit_linezLaTeXTranslator.visit_line	  s    		%r-   c                B    | j                   j                  t               y rI   r  r~   s     r.   depart_linezLaTeXTranslator.depart_line	  r  r-   c                (   t        |j                  t        j                        rE| j                  j                  dt        z          | j                  j                  dt        z          y | j                  j                  t        dz   t        z          y )Nz\item[]z'\begin{DUlineblock}{\DUlineblockindent}z\begin{DUlineblock}{0em})rQ   r  r   
line_blockrl   ro   r   r~   s     r.   visit_line_blockz LaTeXTranslator.visit_line_block	  sa    dkk5#3#34IIZ"_-IIG"LMIIR"==BCr-   c                H    | j                   j                  dt        z          y )Nz\end{DUlineblock}r  r~   s     r.   depart_line_blockz!LaTeXTranslator.depart_line_block$	  r  r-   c                    d}t        |j                        dk(  r;|j                  d   }t        |t        j                  t        j
                  f      rd}|s#| j                  j                  dt        z          y y )Nr   r   z\begin{quote}	r  r  rQ   r   r  r  rl   ro   r   rM   r   doner  s       r.   visit_block_quotez!LaTeXTranslator.visit_block_quote'	  sh     t}}"MM!$E%%"3"3U5J5J!KLII-23 r-   c                    d}t        |j                        dk(  r;|j                  d   }t        |t        j                  t        j
                  f      rd}|s#| j                  j                  dt        z          y y )Nr   r   z\end{quote}r  r  s       r.   depart_block_quotez"LaTeXTranslator.depart_block_quote3	  se    t}}"MM!$E%%"3"3U5J5J!KLII^b01 r-   c                Z    | j                   d   r| j                  j                  d       y y )Nr(  r  )r   rl   ro   r~   s     r.   visit_optionzLaTeXTranslator.visit_option>	  s%    <<IIT" r-   c                2    | j                   dxx   dz  cc<   y )Nr(  r   )r   r~   s     r.   depart_optionzLaTeXTranslator.depart_optionC	  s    RAr-   c                Z    | j                   j                  |j                  dd             y)z1The delimiter between an option and its argument.	delimiterr  N)rl   ro   rm   r~   s     r.   visit_option_argumentz%LaTeXTranslator.visit_option_argumentG	  s    		+s34r-   c                     y rI   r,   r~   s     r.   depart_option_argumentz&LaTeXTranslator.depart_option_argumentK	  r  r-   c                p    | j                   j                  d       | j                  j                  d       y )Nz\item [r   )rl   ro   r   r~   s     r.   visit_option_groupz"LaTeXTranslator.visit_option_groupN	  s&    		$Ar-   c                n    | j                   j                          | j                  j                  d       y )Nz] )r   r   rl   ro   r~   s     r.   depart_option_groupz#LaTeXTranslator.depart_option_groupS	  s$    		r-   c                H    | j                   j                  dt        z          y )Nz\begin{optionlist}{3cm}r  r~   s     r.   visit_option_listz!LaTeXTranslator.visit_option_listW	  s    		3b89r-   c                H    | j                   j                  dt        z          y )Nz\end{optionlist}r  r~   s     r.   depart_option_listz"LaTeXTranslator.depart_option_listZ	  s    		,r12r-   c                     y rI   r,   r~   s     r.   visit_option_list_itemz&LaTeXTranslator.visit_option_list_item]	  r  r-   c                     y rI   r,   r~   s     r.   depart_option_list_itemz'LaTeXTranslator.depart_option_list_item`	  r  r-   c                    |j                         }| j                  j                  | j                  |             t        j
                  rI   )rU   rl   ro   rF  r   r  )rM   r   ostrings      r.   visit_option_stringz#LaTeXTranslator.visit_option_stringc	  s2    ++-		W-.nnr-   c                :    | j                   j                  d       y )Nr  r  r~   s     r.   visit_descriptionz!LaTeXTranslator.visit_descriptionh	  r  r-   c                     y rI   r,   r~   s     r.   depart_descriptionz"LaTeXTranslator.depart_descriptionk	  r  r-   c                :    | j                   j                  d       y )Nz	$^{\text{r  r~   s     r.   visit_superscriptz!LaTeXTranslator.visit_superscriptn	      		&r-   c                :    | j                   j                  d       y Nz}}$r  r~   s     r.   depart_superscriptz"LaTeXTranslator.depart_superscriptq	  r  r-   c                :    | j                   j                  d       y )Nz	$_{\text{r  r~   s     r.   visit_subscriptzLaTeXTranslator.visit_subscriptt	  r4  r-   c                :    | j                   j                  d       y r6  r  r~   s     r.   depart_subscriptz LaTeXTranslator.depart_subscriptw	  r  r-   c                   |j                  dg       }|dgk(  r7| j                  j                  d       | j                  j                  d       y |dgk(  r7| j                  j                  d       | j                  j                  d       y |dgk(  r7| j                  j                  d       | j                  j                  d       y |rd| j                  sX| j                  j                  d	d
j                  |      z   dz          | j                  j                  dt        |      z         y | j                  j                  d       y )Nrd   menuselectionz\sphinxmenuselection{r   guilabelz\sphinxguilabel{acceleratorz\sphinxaccelerator{z\DUrole{z
}{\DUrole{rK  rB   )rm   rl   ro   r   r   r   r  )rM   r   rd   s      r.   visit_inlinezLaTeXTranslator.visit_inlinez	  s    ((9b)''II56LL$$II01LL$'II34LL$T]]II[=+=+=g+FFMNLLc'l 23LL#r-   c                j    | j                   j                  | j                  j                                y rI   r  r~   s     r.   depart_inlinezLaTeXTranslator.depart_inline	  r  r-   c                     y rI   r,   r~   s     r.   visit_generatedzLaTeXTranslator.visit_generated	  r  r-   c                     y rI   r,   r~   s     r.   depart_generatedz LaTeXTranslator.depart_generated	  r  r-   c                     y rI   r,   r~   s     r.   visit_compoundzLaTeXTranslator.visit_compound	  r  r-   c                     y rI   r,   r~   s     r.   depart_compoundzLaTeXTranslator.depart_compound	  r  r-   c                r    |j                  dg       }|D ]   }| j                  j                  d|z         " y )Nrd   z
\begin{sphinxuseclass}{%s}rm   rl   ro   )rM   r   rd   r   s       r.   visit_containerzLaTeXTranslator.visit_container	  s;    ((9b) 	BAII<q@A	Br-   c                l    |j                  dg       }|D ]  }| j                  j                  d        y )Nrd   z
\end{sphinxuseclass}rL  )rM   r   rd   _cs       r.   depart_containerz LaTeXTranslator.depart_container	  s4    ((9b) 	8BII67	8r-   c                     y rI   r,   r~   s     r.   visit_decorationz LaTeXTranslator.visit_decoration	  r  r-   c                     y rI   r,   r~   s     r.   depart_decorationz!LaTeXTranslator.depart_decoration	  r  r-   c                "    t         j                  rI   r`  r~   s     r.   visit_headerzLaTeXTranslator.visit_header	  rb  r-   c                "    t         j                  rI   r`  r~   s     r.   visit_footerzLaTeXTranslator.visit_footer	  rb  r-   c                "    t         j                  rI   r`  r~   s     r.   visit_docinfozLaTeXTranslator.visit_docinfo	  rb  r-   c                    | j                  |      }| j                  r-|j                  t        dt        z         j                  dd      }|S )Nz~\\r  ~)r@  r   rH  r   rM   r   s     r.   rF  zLaTeXTranslator.encode	  sA    {{4 "" <<FRK088cBDr-   c                    | j                  |      j                  dd      j                  dd      j                  dd      S )Nz\textasciitilde{}r\  z\sphinxhyphen{}r^  z\textquotesingle{}'re  r]  s     r.   r  zLaTeXTranslator.encode_uri	  s<     KKW)3/W'-W*C0		
r-   c                x    | j                  |j                               }| j                  j                  |       y rI   )rF  rU   rl   ro   )rM   r   r   s      r.   
visit_TextzLaTeXTranslator.visit_Text	  s(    {{4;;=)		r-   c                     y rI   r,   r~   s     r.   depart_TextzLaTeXTranslator.depart_Text	  r  r-   c                "    t         j                  rI   r`  r~   s     r.   visit_commentzLaTeXTranslator.visit_comment	  rb  r-   c                "    t         j                  rI   r`  r~   s     r.   
visit_metazLaTeXTranslator.visit_meta	  s    nnr-   c                     y rI   r,   r~   s     r.   visit_system_messagez$LaTeXTranslator.visit_system_message	  r  r-   c                B    | j                   j                  t               y rI   r  r~   s     r.   depart_system_messagez%LaTeXTranslator.depart_system_message	  r  r-   c                
   | j                   r<| j                  j                  d|j                         z         t        j
                  | j                  j                  d|j                         z         t        j
                  )Nz\protect\(%s\protect\)z\(%s\))r   rl   ro   rU   r   r  r~   s     r.   
visit_mathzLaTeXTranslator.visit_math	  s\    ==II6FG nn IIY67nnr-   c                   |j                  d      rd|d    d|d    }nd }|j                  d|j                  dd            rY|r| j                  j                  d|z         | j                  j                  |j                                t        j                  d	d
lm} | j                  j                   ||j                         || j                  j                               t        j                  )Nr[  	equation:r{  r)  zno-wrapr  Fr+  r   )wrap_displaymath)
rm   rl   ro   rU   sphinx.util.mathrp  r   math_number_allr   r  )rM   r   r[  rp  s       r.   visit_math_blockz LaTeXTranslator.visit_math_block	  s    88GY0$w-AEE88Itxx%89		  !67IIT[[]+ nn :II t{{7R7RS nnr-   c                   d|d    d|d    }| j                   j                  }|r2	 d|z  }| j                  j                  |j	                  |             y | j                  j                  d	|z         y # t
        $ rI}t        j                  t        d      ||       | j                  j                  d	|z         Y d }~y d }~ww xY w)
Nro  r{  r)  rR  r  )r  zInvalid math_eqref_format: %rr  z
\eqref{%s})	r   math_eqref_formatrl   ro   r  r  r   r   r   )rM   r   r[  eqref_formatrefexcs         r.   visit_math_referencez$LaTeXTranslator.visit_math_reference	  s    DO,Ad8n-=>{{448!E)		  !4!4C!4!@A
 II]U23	  8r"ABCRVW		  !6778s   0A8 8	C
?CC
c                     y rI   r,   r~   s     r.   depart_math_referencez%LaTeXTranslator.depart_math_reference
  r  r-   )rR   znodes.documentrL   r   rG   r    rY   rZ   )r  	list[str]rY   rZ   )rY   r|  r   )TT)r-  r   r.  r   r/  r   rY   r   )F)r   r   r/  r   rY   r   )r-  r   rY   r   )rA  r   rY   r   )rM  r   rN  r   rY   r   )rr  r   rs  zdict[str, Any]rY   r   )rY   zTable | Noner   )r   r   r  ztype[Element]rY   rZ   )r   r   r)  r   rY   rZ   )r   znodes.rubricrY   rZ   r   )r   r   r   r{   rY   z
str | None)r   r   rY   r   r   r   rY   r   )r   r   rY   rZ   )r   z
nodes.mathrY   rZ   )r   znodes.math_blockrY   rZ   (
  r8   r9   r:   r]   r   r  rK   r  r!  rU   r1  r8  r<  r>  r@  r,  r  r%  r&  r   r   r}  r  r  r  r  r  r  r  r  r  r  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*  r1  r4  r7  r9  r;  r@  rD  rF  rH  rJ  rL  rS  rU  r\  r^  ra  re  rl  rt  rx  rz  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  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/  r4  r6  r8  r:  r=  r@  rC  rE  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_warningrG  rI  rY  r[  r]  r_  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  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/  r1  r3  r7  r9  r;  r@  rB  rD  rF  rH  rJ  rM  rP  rR  rT  rV  rX  rZ  rF  r  ra  rc  re  rg  ri  rk  rm  rs  ry  r{  r^   r_   s   @r.   rP   rP   Q  s   K!Y-&Y-1=Y-FKY-	Y-v
=S68=:
S2h9&  68 $
R5;-9
 "N'
>67r1$-<F;<z;:)*'
9%%%%.KK.;K	K4
F)
K
-
.(2:)>)2$($;
""(-9"'H(T=)

'

.B>%@!-F64VB2'
64	!  C? "#')>(1/	
M:Sj06d-	+75"""" .O/+M-N*L,M)K+L(J*K-O/(J*K'I)J+M-N3j 8>@7)r!
03I1G
	%-&'12.

>
!*29>
f!P$ ./&D4
42#
5
:3
' ' $"-B
8




$4 r-   rP   )rU  r2  r  r~  r}  )r   r   r   r{   rY   r   )Nr;   
__future__r   r   collectionsr   pathlibr   typingr   r   docutilsr   r	   roman_numeralsr
   sphinxr   r   sphinx.errorsr   sphinx.localer   r   r   sphinx.utilr   r   sphinx.util.docutilsr   sphinx.util.index_entriesr   sphinx.util.nodesr   r   sphinx.util.templater   sphinx.util.texescaper   collections.abcr   r   r   docutils.nodesr   r   r   sphinx.builders.latexr   sphinx.builders.latex.themingr    sphinx.domainsr!   	getLoggerr8   r   r  r   r  r  r   r  compilerh  r  r7   r=   Writerr@   ra   r   r   r   rP   sphinx.builders.latex.nodesrU  r2  r  r,   r-   r.   <module>r     s/   # 	 #  & # ' ) % 1 1 * 1 5 9 . 1($2223) 
		8	$   #	   		2::34@ @0{ 0@'.. @@U Up   F/
#Lu"& u"tE r-   