
    P&i                        d Z ddlZddlZddlmZ ddlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZ ddlmZmZ ddlmZmZmZ ddlmZmZ ddlmZ dd	lmZ dd
l m!Z! ddl"m#Z#m$Z$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- erddl.m/Z/  e'j0        e1          Z2dZ3dez   dz   Z4dedeej5                 fdZ6dde7dee7         de7fdZ8 G d dej9                  Z: G d de)          Z;dS )z#Custom docutils writer for Texinfo.    N)path)TYPE_CHECKINGAnyDictIterableIteratorListOptionalPatternSetTupleUnioncast)nodeswriters)ElementNodeText)__display_version__addnodes)
IndexEntry)IndexDomain)ExtensionError)___admonitionlabels)logging)SphinxTranslator)format_date)collected_footnote)TexinfoBuilderzn@quotation
%(project)s %(release)s, %(date)s

%(author)s

Copyright @copyright{} %(copyright)s
@end quotation
z\input texinfo   @c -*-texinfo-*-
@c %%**start of header
@setfilename %(filename)s
@documentencoding UTF-8
@ifinfo
@*Generated by Sphinx a  .@*
@end ifinfo
@settitle %(title)s
@defindex ge
@paragraphindent %(paragraphindent)s
@exampleindent %(exampleindent)s
@finalout
%(direntry)s
@c %%**end of header

@copying
%(copying)s
@end copying

@titlepage
@title %(title)s
@insertcopying
@end titlepage
@contents

@c %%** start of user preamble
%(preamble)s
@c %%** end of user preamble

@ifnottex
@node Top
@top %(title)s
@insertcopying
@end ifnottex

@c %%**start of body
%(body)s
@c %%**end of body
@bye
sectionreturnc                     g }| D ]n}t          |t          j                  r|                    |           2t          |t          j                  r"|                    t          |                     o|S )z7Return a list of subsections for the given ``section``.)
isinstancer   r"   appendr   extendfind_subsections)r"   resultchilds      c/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/sphinx/writers/texinfo.pyr(   r(   R   st    F 3 3eU]++ 	3MM%   u}-- 	3MM*511222M    ssepc                     |                      |          }t          |          D ]5\  }}t          d |D                       r|                                ||<   6|pd                    |          S )z_Like string.capwords() but does not capitalize words that already
    contain a capital letter.c              3   >   K   | ]}|                                 V  d S N)islower).0xs     r+   	<genexpr>z!smart_capwords.<locals>.<genexpr>c   s*      ))qqyy{{))))))r,    )split	enumerateall
capitalizejoin)r-   r.   wordsiwords        r+   smart_capwordsr?   ^   sy     GGCLLEU## ) )4))D))))) 	)((E!HJ3U###r,   c            
            e Zd ZU dZ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ddgddifffZeeeeeee	e         e
eef         f         df         f         ed<   i Ze
ed<   dZee         ed<   dZd fdZddZ xZS )TexinfoWriterz0Texinfo writer for generating Texinfo documents.)texinfotexizTexinfo Specific OptionsNzName of the Info filez--texinfo-filenamedefault z	Dir entryz--texinfo-dir-entryDescriptionz--texinfo-dir-descriptionCategoryz--texinfo-dir-categoryMiscellaneous.settings_specsettings_defaultsoutput)rK   fragmentbuilderr!   r#   c                 V    t                                                       || _        d S r1   )super__init__rM   )selfrM   	__class__s     r+   rP   zTexinfoWriter.__init__z   s$    r,   c           	      F   | j                             | j        | j                   }t          t          |          | _        | j                            |           | j                                         | j        D ]&}t          | |t          | j        |                     'd S r1   )rM   create_translatordocumentr   TexinfoTranslatorvisitor	walkaboutfinishvisitor_attributessetattrgetattr)rQ   rW   attrs      r+   	translatezTexinfoWriter.translate~   s    ,00MM-w77(((+ 	= 	=DD$d ; ;<<<<	= 	=r,   )rM   r!   r#   Nr#   N)__name__
__module____qualname____doc__	supportedrI   r   strr   r	   r   __annotations__rJ   rK   r
   rZ   rP   r^   __classcell__rR   s   @r+   rA   rA   h   s4        ::#I 	#D$';&<y"oN01Ir?C89Ir?K23i6E6G H	+IYJM5c5sDItCH~/M)NPS)S#TTU J J J !t    FHSM   /     = = = = = = = =r,   rA   c                       e Zd ZU dZded<   dddddddddddddZdej        ddd	d
f fdZddZ	ddZ
ddZddZddZded	efdZded	efdZded	efdZded	efdZddZdededed	efdZ ej        d          fdee         ded	d
fdZded	d
fdZd ed	efd!Zdd"Zd#ed	eeeee e!f                  f         fd$Z"d%ed	efd&Z#d%ed#e$d	d
fd'Z%d%eded#e$d	d
fd(Z&d#ed	d
fd)Z'd#ed	d
fd*Z(d#e)d	d
fd+Z*d#e)d	d
fd,Z+d#ed	d
fd-Z,d#ed	d
fd.Z-d/Z.d0Z/d#ed	d
fd1Z0d#ed	d
fd2Z1d#ed	d
fd3Z2d#ed	d
fd4Z3d#ed	d
fd5Z4d#ed	d
fd6Z5d#ed	d
fd7Z6d#ed	d
fd8Z7d#ed	d
fd9Z8d#ed	d
fd:Z9d#ed	d
fd;Z:d#ed	d
fd<Z;d#ed	d
fd=Z<d#ed	d
fd>Z=d#ed	d
fd?Z>d#ed	d
fd@Z?d#e@e         d	d
fdAZAd#e@e         d	d
fdBZBeAZCeBZDd#ed	d
fdCZEd#ed	d
fdDZFd#ed	d
fdEZGd#ed	d
fdFZHd#ed	d
fdGZId#ed	d
fdHZJd#ed	d
fdIZKd#ed	d
fdJZLd#ed	e!fdKZMd#ed	d
fdLZNd#ed	d
fdMZOd#ed	d
fdNZPd#ed	d
fdOZQd#ed	d
fdPZRd#ed	d
fdQZSd#ed	d
fdRZTd#ed	d
fdSZUd#ed	d
fdTZVd#ed	d
fdUZWd#ed	d
fdVZXd#ed	d
fdWZYd#ed	d
fdXZZd#ed	d
fdYZ[d#ed	d
fdZZ\d#ed	d
fd[Z]d#ed	d
fd\Z^d#ed	d
fd]Z_d#ed	d
fd^Z`d#ed	d
fd_Zad#ed	d
fd`Zbd#ed	d
fdaZcd#ed	d
fdbZdd#ed	d
fdcZed#ed	d
fddZfd#ed	d
fdeZgd#ed	d
fdfZhd#ed	d
fdgZid#ed	d
fdhZjd#ed	d
fdiZkd#ed	d
fdjZld#ed	d
fdkZmd#ed	d
fdlZnd#ed	d
fdmZod#ed	d
fdnZpd#ed	d
fdoZqd#ed	d
fdpZrd#ed	d
fdqZsd#ed	d
fdrZtd#ed	d
fdsZud#ed	d
fdtZvd#ed	d
fduZwd#ed	d
fdvZxd#ed	d
fdwZyd#ed	d
fdxZzd#ed	d
fdyZ{d#ed	d
fdzZ|d#ed	d
fd{Z}d#ed	d
fd|Z~d#ed	d
fd}Zd#ed	d
fd~Zd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZdd#eded	d
fdZd#ed	d
fdZd#ed	d
fdZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZeZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#e$d	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdÄZd#ed	d
fdĄZd#ed	d
fdńZd#ed	d
fdƄZd#ed	d
fdǄZd#ed	d
fdȄZd#ed	d
fdɄZd#ed	d
fdʄZd#ed	d
fd˄Zd#ej        d	d
fd̄Zd#ej        d	d
fd̈́Zd#ed	d
fd΄Zd#ed	d
fdτZd#ed	d
fdЄZd#ed	d
fdфZd#ed	d
fd҄Zd#ed	d
fdӄZd#ed	d
fdԄZd#ed	d
fdՄZd#ed	d
fdքZd#ed	d
fdׄZd#ed	d
fd؄Zd#ed	d
fdلZd#ed	d
fdڄZd#ed	d
fdۄZd#ed	d
fd܄Zd#ed	d
fd݄Zd#ed	d
fdބZd#ed	d
fd߄Zd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZ d#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZd#ed	d
fdZ	d#ed	d
fdZ
 xZS )rV   Fr!   rM   rE      r   )authorbodycopyingdatedirentryexampleindentfilenameparagraphindentpreambleprojectreleasetitlerU   r#   Nc                    t                                          ||           |                                  t                      | _        t                      | _        g | _        i | _        i | _        i | _	        i | _
        |                                  |                                  |                                  |                                  g | _        g | _        g | _        d | _        d| _        d| _        t                      | _        d| _        d| _        g | _        g | _        d| _        d| _        t                      | _        g | _        d S )Nr   F)rO   rP   init_settingssetwritten_idsreferenced_idsindices	short_ids
node_names
node_menusrellinkscollect_indicescollect_node_namescollect_node_menuscollect_rellinksrl   contextdescsprevious_sectionsection_level
seen_titlenext_section_idsescape_newlinesescape_hyphenscurfilestackfootnotestackin_footnotein_samphandled_abbrs	colwidths)rQ   rU   rM   rR   s      r+   rP   zTexinfoTranslator.__init__   s0   7+++%(UU(+.0)+*,02.0!!!!!!!	"$*,
9=*-%% ')UW'*uu$&r,   c                 b   | j         |                     d           | j        D ]c}|\  }}t          |g| j        |         z             }| j                            d|z             | j                            d|d|d           d| j        rJ| j                                        }|| j	        vr!| j                            d|ddd	           | j        J| 
                                 d
                    | j                  | _        | j        | j        d<   t          | j        z  | _        d S )NTop
@node %s,%s,%s,%s
z@unnumbered 


z@anchor{z}@w{z                              }
rE   rl   )r   add_menur|   tupler   rl   r&   r{   poprz   
ensure_eolr;   rL   elementsTEMPLATErK   )rQ   indexnamecontentpointersrs         r+   rY   zTexinfoTranslator.finish   sB    (MM%   \ 	I 	IE!MD'dVdmD&99::HI4x?@@@IwwwGHHHH! 	H#''))A(((	   !!!XXX!FGGG	 ! 	H
 		** $f.r,   c                    | j                                         x}| _        |                    | j        j        | j        j        | j        j        |                     | j	        j
                  |                     | j	        j                  |                     | j	        j                  |                     | j	        j        p3t          | j	        j        pt!          d          | j	        j                            d           | j        j        }|s<| j                            t(          j                  }|r|                                nd}|                     |          pd|d<   |d         sT| j                            d          pd|d<   |d         d	d          d
v r|d         d d	         |d<   |dxx         dz  cc<   | j        j        r|                     |                     | j        j                  d|d         z  |                     | j        j                            }d|                     | j        j                  d|d|d<   t<          |z  |d<   |                    | j        j                   d S )Nz	%b %d, %Y)language)rv   rk   rq   ru   rt   	copyrightrn   
<untitled>rv   rq   sourceuntitled)z.txtz.rstz.infoz(%s)z@dircategory z
@direntry
z@end direntry
ro   rm   ) default_elementscopyr   updatesettingsrv   rk   texinfo_filenameescapeconfigru   rt   r   todayr   	today_fmtr   r   rU   	next_noder   astext	escape_idgettexinfo_dir_entryformat_menu_entryescape_menu
escape_argtexinfo_dir_descriptiontexinfo_dir_categoryCOPYINGtexinfo_elements)rQ   r   rv   
title_nodeentrys        r+   rx   zTexinfoTranslator.init_settings   sw   #'#8#=#=#?#??4=](m*6{{4;#677{{4;#677T[%:;;KK 1 !K +DK,A,SQ{^^59[5I!K !K !KL L
 
 	 	 	 ]( 	H00==J+5GJ%%'''<E NN511A\
# 	,#'=#4#4X#>#>#L*HZ 
#BCC(,<<<'/
';CRC'@$Z   G+   =* 		K**  !@AA*-- EFFH HEE t}ABBBBEEE	$KHZ 
 &0677777r,   c                     dt           dt           f fdd j        d<    d            d           fd j        D              _         j                            t          j                  D ]_}t          t          j        |                    t          j	                            }|r|
                                nd} |          |d<   `d	S )
zeGenerates a unique id for each section.

        Assigns the attribute ``node_name`` to each section.r   r#   c                                         |           }d\  }}||z   j        v s||z   j        v r"|dz  }d|z  }||z   j        v ||z   j        v "||z  }j                            |           | j        |<   |S )N)   rE   r   z<%s>)r   rz   r~   add)r   node_idnthsuffixrQ   s       r+   add_node_namez;TexinfoTranslator.collect_node_names.<locals>.add_node_name  s    nnT**GKCF"d&666f$77q# F"d&666f$77 vG  )))'+DOG$Nr,   r   	node_nametopc                 0    g | ]\  }} |          |fS  r   )r3   r   r   r   s      r+   
<listcomp>z8TexinfoTranslator.collect_node_names.<locals>.<listcomp>  s<     ; ; ;)D' 't,,g6 ; ; ;r,   r   N)re   rU   r|   findallr   r"   r   TextElementr   Titularr   )rQ   r"   rv   r   r   s   `   @r+   r   z$TexinfoTranslator.collect_node_names   s   

	 
	 
	 
	 
	 
	 
	 
	 &+k"ee; ; ; ;-1\; ; ; },,U];; 	7 	7G*G,=,=em,L,LMME%*<5<<>>>D#0=#6#6GK  	7 	7r,   c                    | j         }| j        g}|                    | j                            t          j                             |D ]4}d|v r|d         sJ d t          |          D             }|||d         <   5| j                            t          j                  }|r|j	        n| j        }t          |t          j        t          j        f          s| j        }|| j        ur4||d                  }||d         dd         z  }||d<   ||d         = d|d<   | j        D ]%\  }}g ||<   |d                             |           &dS )z1Collect the menu entries for each "node" section.r   c                     g | ]
}|d          S )r   r   )r3   r-   s     r+   r   z8TexinfoTranslator.collect_node_menus.<locals>.<listcomp>!  s    FFF!q~FFFr,   r   r   N)r   rU   r'   r   r   r"   r(   r   rv   parentr%   r|   r&   )	rQ   r   targetsnodeentriesrv   r   r   _contents	            r+   r   z$TexinfoTranslator.collect_node_menus  ss   _
"&-t},,U];;<<< 	4 	4D$&&4+<&&&FF/?/E/EFFFG,3JtK())''44#6ell#>?? 	 -Cdm## [!12Gz%(,,G 'Ju3{+,$C"l 	+ 	+ND(!Jtu$$T****	+ 	+r,   c                    | j         }| j        }|D ]	}g d||<   
|                                D ]\  }}|D ]}|||         d<   |                                D ]^\  }}t          |          D ]I\  }}|dk    r||dz
           ||         d<   |t	          |          dz
  k    r||dz            ||         d<   J_	 |d         d         }||d         d<   d||         d<   dS # t
          $ r Y dS w xY w)z@Collect the relative links (next, previous, up) for each "node".)rE   rE   rE      r   r   r   N)r   r   itemsr8   len
IndexError)rQ   r   r   idr   er=   firsts           r+   r   z"TexinfoTranslator.collect_rellinks3  sW   =_
 	( 	(B'<<HRLL%++-- 	$ 	$KB $ $!#A$ &++-- 	5 	5KB"7++ 5 5266&-a!enHRLOGq(((&-a!enHRLO5	'u%a(E "'HUOA!&HUOA	  	 	 	DD	s   9C 
C-,C-r-   c                     |                     dd          }|                     dd          }|                     dd          }|                     dd          }|                     d	d
          }|S )z8Return a string with Texinfo command characters escaped.@z@@{z@{}z@}z``z`@w{`}z''z'@w{'})replacerQ   r-   s     r+   r   zTexinfoTranslator.escapeT  sf    IIc4  IIc4  IIc4  IIdH%%IIdH%%r,   c                     |                      |          }|                    dd          }d                    |                                                                          }|S )zVReturn an escaped string suitable for use as an argument
        to a Texinfo command.,z@comma{}r6   )r   r   r;   r7   stripr   s     r+   r   zTexinfoTranslator.escape_arg^  sP     KKNNIIc:&&HHQWWYY%%''r,   c                 .   d}|D ]}|                     |d          }t          j        d|          r|                     dd          }d                    |                                                                          }|                     |          S )z=Return an escaped string suitable for node names and anchors.z,:()r6   z[^ .].)r   researchr;   r7   r   r   )rQ   r-   	bad_charsbcs       r+   r   zTexinfoTranslator.escape_idh  s    	 	# 	#B		"c""AA9Wa   	$		#s##AHHQWWYY%%''{{1~~r,   c                     |                      |          }|                    dd          }d                    |                                                                          }|S )z3Return an escaped string suitable for menu entries.:;r6   )r   r   r;   r7   r   r   s     r+   r   zTexinfoTranslator.escape_menus  sP    OOAIIc3HHQWWYY%%''r,   c                     | j         r5| j         d         dd         dk    r| j                             d           dS dS dS )z7Ensure the last line in body is terminated by new line.Nr   rl   r&   )rQ   s    r+   r   zTexinfoTranslator.ensure_eolz  sQ    9 	#2rss+t33IT"""""	# 	#33r,   r   r   descc                    ||k    rd|d}n	d|d|d}t          dt          |          dz   dz  f          d                    fd	t          j        |dz
  
          D                       }||                                z   dz   S )Nz* z:: : z.    rj   N   r   c              3   (   K   | ]}d z  |z   V  dS )r6   Nr   )r3   loffsets     r+   r5   z6TexinfoTranslator.format_menu_entry.<locals>.<genexpr>  sD       B Bq#,* B B B B B Br,   )width)maxr   r;   textwrapwrapr   )rQ   r   r   r   r-   wdescr   s         @r+   r   z#TexinfoTranslator.format_menu_entry  s    9!TT#AA  !%iii0Ab3t99q=B./00		 B B B B"-BK@@@B B B B B5;;== 4''r,   z
\s+---?\s+r   regc                 h   |D ]}| j         |         }	 |                    |d          }n# t          $ r |g}Y nw xY wt          |          dk    r|\  }}nd}|                     |          }|                     |          }| j                            |                     |||                     d S )Nr   r   rE   )	r~   r7   	TypeErrorr   r   r   rl   r&   r   )rQ   r   r  r   r   partsr   s          r+   add_menu_entriesz"TexinfoTranslator.add_menu_entries  s     	H 	HE?5)D		$**    5zzQ"
dd##D))D;;t$$DIT33D%FFGGGG	H 	Hs   *::c                      j         |         }|sd S  j                            d                                |           |dk    s j         |d                  r j        j        r j                            d           d S dt          dd f fd j                            d           |D ]} |            j                            d	           d S )
N
@menu
r   r   z
@end menu
r   r#   c                     j         |          }|sd S j                            d                    j        |                    z                                 |           |D ]} |           d S )Nz
%s

)r   rl   r&   r   r~   r  )r   r   subentry_add_detailed_menurQ   s      r+   r  z6TexinfoTranslator.add_menu.<locals>._add_detailed_menu  s    od+G IZ4;;tt7L+N+NOPPP!!'***# - -""8,,,,- -r,   z0
@detailmenu
 --- The Detailed Node Listing ---
z
@end detailmenu
@end menu
)r   rl   r&   r  r   texinfo_no_detailmenure   )rQ   r   r   r   r  s   `   @r+   r   zTexinfoTranslator.add_menu  s1   /), 	F	%%%g&&&OGAJ/ 1  I_---F	-S 	-T 	- 	- 	- 	- 	- 	- 	- 		 @ 	A 	A 	A 	& 	&Eu%%%%	 ' 	( 	( 	( 	( 	(r,   	width_strc                     t          j        d|          }|s|S |}|                                d d         \  }}|r|dk    rdS |dk    rdt          |          dz  z  }|S )Nz(\d*\.?\d*)\s*(\S*)r   pxrE   %z%d.0ptgDI@)r   matchgroupsfloat)rQ   r  r  resamountunits         r+   tex_image_lengthz"TexinfoTranslator.tex_image_length  sy    /;; 	||~~bqb) 	9tt||2S[[eFmmi78C
r,   c           	          dt           t          t          t           t                   f                  dt          dt          f fd} j        j        }|r j        j        j	        
                                D ]}|j        D ]}|j        d|j        }t          |t                    r||vr- ||                               j        j                  \  }}|s[ j                            |j         |||          f           t'          t(           j        j                            d                    } j        j        D ];}|j        |         r, j                            t/          d          df            d S <d S )	Nr   	collapsedr#   c                    dg}| D ]\  }}|D ]}|d         s
                     |d                   }
                    |d         d|d                   }
                    |d                   }
                    |||          }	|                    |	           |                    d           d                    |          S )	Nr	     r   r   r      z
@end menu
rE   )r   get_short_idr   r   r&   r;   )r   r  ret_letterr   r   r   sidr   merQ   s             r+   generatez3TexinfoTranslator.collect_indices.<locals>.generate  s    -C$+ # # $ # #E 8 ! ++E!H55D++uQxxxq,JKKC??5844D//c4@@BJJrNNNN# JJ}%%%773<<r,   -r   Indexz
@printindex ge
)r	   r   re   r   boolr   texinfo_domain_indicesrM   envdomainsvaluesr|   r   r%   listr#  docnamesr&   	localnamer   r   
get_domainr   r   )	rQ   r#  indices_configdomainindexcls	indexnamer   r  docnames	   `        r+   r   z!TexinfoTranslator.collect_indices  s   	 d5d:.>)>#?@ 	 T 	 VY 	  	  	  	  	  	  ; 	H,*299;; H H & 
H 
HH+1;;; FI!.$77 %$N::$)1&)9)9)B)B-*/ */&GY" ! L'');)1'9)E)E)G H H H H
H k4<#3#>#>w#G#GHH|, 	 	G~g& ##QwZZ1E$FGGG	 	r,   r   c                 *   dt           dt          t          j                 ffdi } |          D ]_}t	          t          j        |d                   }|                                                                }t          dg|j	        R  dg||<   `|S )Nnr#   c              3      K   t          | t          j                  r| V  d S | j        D ]H}t          |t          j                  rt          |t          j                  r |          E d {V  Id S r1   )r%   r   footnotechildrenr   start_of_filer   )r5  cfootnotes_unders     r+   r;  z<TexinfoTranslator.collect_footnotes.<locals>.footnotes_under  s      !U^,, 6 6 6A!!X%;<< 6 #Au}55 6#2?1#5#55555555	6 6r,   r   rE   F)
r   r   r   r7  r   labelr   r   r    r8  )rQ   r   fnotesfnr<  numr;  s         @r+   collect_footnotesz#TexinfoTranslator.collect_footnotes  s    	6w 	68EN+C 	6 	6 	6 	6 	6 	6 DF!/$'' 	H 	HBbe,,E,,..&&((C-b?2;???GF3KKr,   r   c                     	 | j         |         }nC# t          $ r6 t          t          | j                             dd         }|| j         |<   Y nw xY w|S )z-Return a shorter 'id' associated with ``id``.r   N)r}   KeyErrorhexr   )rQ   r   r!  s      r+   r  zTexinfoTranslator.get_short_id   si    	%.$CC 	% 	% 	%c$.))**122.C!$DN2	% 
s    =AAc                 <   |                     d          rd S | j        d         dz   |z   }|                     |          }|                     |          }||fD ]B}|| j        vr7| j                            d|z             | j                            |           Cd S )Nzindex-r   r   z@anchor{%s})
startswithr   r   r  rz   rl   r&   r   )rQ   r   r   eidr!  s        r+   
add_anchorzTexinfoTranslator.add_anchor  s    =="" 	Fr"S(2-nnR  ##* 	) 	)B)))	  !3444 $$R(((	) 	)r,   c                 z   |                      |          }|                     |          }| j        j        rj| j                            d|d|d           | j                            |           | j                            |                     |                     d S | j                            |           d S )N@ref{,,r   )	r   r  r   texinfo_cross_referencesrl   r&   r{   r   r   )rQ   r   r   r   r!  s        r+   add_xrefzTexinfoTranslator.add_xref  s    %%##;/ 	#IsssDDD9:::##C(((##DNN2$6$677777IT"""""r,   c                     | j                             |                     |                     | j                            |                    dd                     d|v r|                     d|           d S d S )Nr3  rE   :doc)r   r&   r@  r   r   rG  rQ   r   s     r+   visit_documentz TexinfoTranslator.visit_document"  sy    !!$"8"8">">???  )R!8!8999OOFD))))) r,   c                 j    | j                                          | j                                         d S r1   )r   r   r   rO  s     r+   depart_documentz!TexinfoTranslator.depart_document(  s2       r,   c                     |                      |                                          }| j        r|                    dd          }| j        r|                    dd          }| j                            |           d S )Nr   r6   r$  z@w{-})r   r   r   r   r   rl   r&   )rQ   r   r-   s      r+   
visit_TextzTexinfoTranslator.visit_Text,  ss    KK&& 	%		$$$A 	(		#w''A	r,   c                     d S r1   r   rO  s     r+   depart_TextzTexinfoTranslator.depart_Text5      r,   c                 ^   | j                             |                    dg                      | j        sd S | j        r!|                     | j        d                    n|                     d           |d         }t          |g| j        |         z             }| j        	                    d|z             t          | j                   D ]}|                     ||           | j                                          t          t          j        |          | _        | xj        dz  c_        d S )Nidsr   r   r   r   )r   r   r   r   r   r   r   r   rl   r&   sortedrG  clearr   r   r"   r   )rQ   r   r   r   r   s        r+   visit_sectionzTexinfoTranslator.visit_section8  s%   $$TXXeR%8%8999 	F  	!MM$/<====MM%   %	)t}Y'??@@	08;<<<.// 	& 	&BOOB%%%%##%%% $U]D 9 9ar,   c                 &    | xj         dz  c_         d S Nr   )r   rO  s     r+   depart_sectionz TexinfoTranslator.depart_sectionK  s    ar,   )z@unnumberedz@chapterz@sectionz@subsectionz@subsubsection)z@headingz@subheadingz@subsubheadingc                 J   | j         sd| _         t          j        |j        }t	          |t          j                  rd S t	          |t          j        t          j        t          j        f          rt          j        t	          |t          j	                  s@t                              t          d          |           |                     |           d S 	 | j        | j                 }n# t           $ r | j        d         }Y nw xY w| j                            d|z             d S )NTzJencountered title node not in section, topic, table, admonition or sidebarlocationr   
%s )r   r   SkipNoder   r%   table
Admonitionsidebartopicr"   loggerwarningr   visit_rubricheadingsr   r   rl   r&   )rQ   r   r   headings       r+   visit_titlezTexinfoTranslator.visit_title\  s$    	!"DO. fek** 	Ffu/LMM 	0. FEM22 
	0NN2 6 7 7$(  * * * d#####,-(:; , , ,-+,IWw./////s   C) )DDc                 :    | j                             d           d S Nr   r   rO  s     r+   depart_titlezTexinfoTranslator.depart_titleq      	     r,   c                 J   t          |          dk    r1|                                dt          d          fv rt          j        	 | j        | j                 }n# t          $ r | j        d         }Y nw xY w| j        	                    d|z             | xj
        dz  c_
        d S )Nr   	Footnotesr   rc  )r   r   r   r   rd  rubricsr   r   rl   r&   r   )rQ   r   rubrics      r+   rk  zTexinfoTranslator.visit_rubrict  s    t99>>dkkmmQ{^^/LLL. 	&\$"45FF 	& 	& 	&\"%FFF	&	6)***!s   A A32A3c                 Z    | xj         dz  c_         | j                            d           d S )Nr   r   )r   rl   r&   rO  s     r+   depart_rubriczTexinfoTranslator.depart_rubric~  s2    !	     r,   c                 :    | j                             d           d S )Nz

@noindent
r   rO  s     r+   visit_subtitlez TexinfoTranslator.visit_subtitle  s    	*+++++r,   c                 :    | j                             d           d S rp  r   rO  s     r+   depart_subtitlez!TexinfoTranslator.depart_subtitle  rr  r,   c                    |j                             |          }	 	 |j         |dz            }nD# t          $ r7 |j         j         |j         j                             |j                            }Y nw xY wt          |t          j                  rW|                    d          r | j                            |d                    | j        	                    |d                    d S n# t          t          f$ r Y nw xY wd|v rd S |                    d          r|                     |d         |           |d         D ]}|                     ||           d S )Nr   refidrY  refuri)r   r   r   r%   r   r"   r   r   r   r   AttributeErrorrG  )rQ   r   parindexnextr   s        r+   visit_targetzTexinfoTranslator.visit_target  s~   ;$$T**	Q{8a<0 Q Q Q {)$+*<*B*B4;*O*OPQ $.. 88G$$ =)--d7m<<<%,,T%[999	
 N+ 	 	 	D	tF88G 	1OODM4000u+ 	& 	&BOOB%%%%	& 	&s-   . C$ >A/,C$ .A//A2C$ $C87C8c                     d S r1   r   rO  s     r+   depart_targetzTexinfoTranslator.depart_target  rW  r,   c           	         t          |j        t          j        t          j        f          rd S t          |d         t          j                  rd S |                    d|                                          	                                }|                    dd          }|s1|                    d          rd| j
        d         z   dz   |d         z   }|sd S |                    d	          r||                     |d
d                    }|                     |          }|r||k    r| j                            d|z             n| j                            d|d|d           nq|                    d          r4| j
        d         dz   |dd          z   }|                     |||           n(|                    d          r`|                    d          }|dk    r|dd          dz   }n|dd                              dd          }|                     |||           n|                    d          r|dd                              dd          }|                     |          }d}d|v r|                    dd          \  }}|                     |          }|                     |          }||k    r"| j                            d|d|d           n| j                            d|d|d|d           n|                     |          }|                     |          }| j        j        }| j        rd}|r||k    r| j                            d|z             np|dk    r"| j                            d|d|d           nH|dk    r"| j                            d|d|d           n | j                            |d|d           t          j        )Nr   r   r  rE   r~  r  r   #zmailto:   z
@email{%s}z@email{r   r   r   r   z::doczinfo:   r   r6   r   rI  z,,,rJ  inlinez@indicateurl{%s}z@uref{no
@footnote{)r%   r   r   rv   r   	desc_typeimager   r   r   r   rE  r   rl   r&   rL  findr   r7   r   r   r   texinfo_show_urlsr   rd  )rQ   r   r   urir   	hashindex	show_urlss          r+   visit_referencez!TexinfoTranslator.visit_reference  s    dkEK1C#DEE 	Fd1gu{++ 	Fxx..4466hhx$$ 	Dtxx(( 	D)"--3d7mCC 	F>>)$$ /	B//#abb'**C??4((D @43;;	  !34444	   CCC!>????^^C   (	B"2&,s122w6BMM"dD))))^^C   $	BIBWw& W__S#..MM"dD))))^^G$$ 	Babb'//#s++C//#&&CBczz))C++R##B##D))Drzz	   BBB!<====	   bbb$$$!DEEEE//#&&C??4((D5I %$	 B3$;;	  !3c!9::::h&&	   333!=>>>>d""	   CCC!>????	  dddCCC!@AAAnr,   c                     d S r1   r   rO  s     r+   depart_referencez"TexinfoTranslator.depart_reference  rW  r,   c                     t          j        |                    dd                    }|                     |           t           j        )Nrv   r  )r   r   r   rT  rd  rQ   r   texts      r+   visit_number_referencez(TexinfoTranslator.visit_number_reference  s9    z$((7C0011nr,   c                     |                                 }| j                            d|                     |          z             t          j        )Nz	@cite{%s})r   rl   r&   r   r   rd  r  s      r+   visit_title_referencez'TexinfoTranslator.visit_title_reference  s>    {{}}	tt'<'<<===nr,   c                 :    | j                             d           d S Nr   r   rO  s     r+   visit_paragraphz!TexinfoTranslator.visit_paragraph      	r,   c                 :    | j                             d           d S r  r   rO  s     r+   depart_paragraphz"TexinfoTranslator.depart_paragraph  r  r,   c                 :    | j                             d           d S )Nz
@quotation
r   rO  s     r+   visit_block_quotez#TexinfoTranslator.visit_block_quote  s    	)*****r,   c                 b    |                                   | j                            d           d S )Nz@end quotation
r   rl   r&   rO  s     r+   depart_block_quotez$TexinfoTranslator.depart_block_quote  /    	+,,,,,r,   c                 :    | j                             d           d S )Nz

@example
r   rO  s     r+   visit_literal_blockz%TexinfoTranslator.visit_literal_block   s    	(((((r,   c                 b    |                                   | j                            d           d S )Nz@end example
r  rO  s     r+   depart_literal_blockz&TexinfoTranslator.depart_literal_block  /    	)*****r,   c                     t          |j        t          j                  s| j                            d           | j                            d           d S )Nr   z	@display
)r%   r   r   
line_blockrl   r&   rO  s     r+   visit_line_blockz"TexinfoTranslator.visit_line_block
  sK    $+u'788 	%IV$$$	&&&&&r,   c                     | j                             d           t          |j        t          j                  s| j                             d           d S d S )Nz@end display
r   )rl   r&   r%   r   r   r  rO  s     r+   depart_line_blockz#TexinfoTranslator.depart_line_block  sV    	)***$+u'788 	%IV$$$$$	% 	%r,   c                 &    | xj         dz  c_         d S r^  r   rO  s     r+   
visit_linezTexinfoTranslator.visit_line      !r,   c                 Z    | j                             d           | xj        dz  c_        d S )Nz@w{ }
r   )rl   r&   r   rO  s     r+   depart_linezTexinfoTranslator.depart_line  s2    	###!r,   c                 :    | j                             d           d S )N`r   rO  s     r+   visit_strongzTexinfoTranslator.visit_strong      	r,   c                 :    | j                             d           d S )N'r   rO  s     r+   depart_strongzTexinfoTranslator.depart_strong   r  r,   c                     | j         r6| j                            d           | j                            d           d S | j                            d           | j                            d           d S )Nz@var{r   r  r  )r   rl   r&   r   rO  s     r+   visit_emphasisz TexinfoTranslator.visit_emphasis#  sp    < 	%IW%%%L$$$$$IS!!!L$$$$$r,   c                 h    | j                             | j                                                   d S r1   rl   r&   r   r   rO  s     r+   depart_emphasisz!TexinfoTranslator.depart_emphasis+  ,    	))++,,,,,r,   c                     d|d         v S )Nsampclassesr   rO  s     r+   is_sampzTexinfoTranslator.is_samp.  s    i((r,   c                     |                      |          r| xj        dz  c_        | j                            d           d S )Nr   @code{r  r   rl   r&   rO  s     r+   visit_literalzTexinfoTranslator.visit_literal1  sB    << 	LLALL	"""""r,   c                     |                      |          r| xj        dz  c_        | j                            d           d S )Nr   r   r  rO  s     r+   depart_literalz TexinfoTranslator.depart_literal6  sB    << 	LLALL	r,   c                 :    | j                             d           d S )Nz@w{^r   rO  s     r+   visit_superscriptz#TexinfoTranslator.visit_superscript;  rr  r,   c                 :    | j                             d           d S Nr   r   rO  s     r+   depart_superscriptz$TexinfoTranslator.depart_superscript>  r  r,   c                 :    | j                             d           d S Nz@w{[r   rO  s     r+   visit_subscriptz!TexinfoTranslator.visit_subscriptA  rr  r,   c                 :    | j                             d           d S Nz]}r   rO  s     r+   depart_subscriptz"TexinfoTranslator.depart_subscriptD  r  r,   c                     t           j        r1   r   rd  rO  s     r+   visit_footnotez TexinfoTranslator.visit_footnoteI  
    nr,   c                 Z    | xj         dz  c_         | j                            d           d S )Nr   r  )r   rl   r&   rO  s     r+   visit_collected_footnotez*TexinfoTranslator.visit_collected_footnoteL  s2    A	&&&&&r,   c                 Z    | j                             d           | xj        dz  c_        d S )Nr   r   )rl   r&   r   rO  s     r+   depart_collected_footnotez+TexinfoTranslator.depart_collected_footnoteP  s2    	Ar,   c                    |                                                                 }	 | j        d         |         \  }}n&# t          t          f$ r}t
          j        |d }~ww xY w|                    |            t
          j        )Nr   )	r   r   r   rB  r   r   rd  rX   SkipChildren)rQ   r   r?  footnodeusedexcs         r+   visit_footnote_referencez*TexinfoTranslator.visit_footnote_referenceT  s    kkmm!!##	*!/3C8NHdd*% 	* 	* 	*.c)	* 	4     s   ? A"AA"c                     | j                             d           |                    d          D ]}|                     ||           | xj        dz  c_        d S )Nr   rY  r   )rl   r&   r   rG  r   )rQ   r   r   s      r+   visit_citationz TexinfoTranslator.visit_citation^  sb    	((5// 	& 	&BOOB%%%%!r,   c                 &    | xj         dz  c_         d S r^  r  rO  s     r+   depart_citationz!TexinfoTranslator.depart_citationd  r  r,   c                 :    | j                             d           d S r  r   rO  s     r+   visit_citation_referencez*TexinfoTranslator.visit_citation_referenceg  rr  r,   c                 :    | j                             d           d S r  r   rO  s     r+   depart_citation_referencez+TexinfoTranslator.depart_citation_referencej  r  r,   c                 l    |                     dd          }| j                            d|z             d S )Nbullet*z

@itemize %s
r   rl   r&   )rQ   r   r  s      r+   visit_bullet_listz#TexinfoTranslator.visit_bullet_listo  s7    (C((	,v566666r,   c                 b    |                                   | j                            d           d S )Nz@end itemize
r  rO  s     r+   depart_bullet_listz$TexinfoTranslator.depart_bullet_lists  r  r,   c                     |                     dd          }dddd}|                     d|                     |d                    }| j                            d|z             d S )	NenumtypearabicrE   aA)r  
loweralpha
upperalphastartz

@enumerate %s
r  )rQ   r   enumstartersr  s        r+   visit_enumerated_listz'TexinfoTranslator.visit_enumerated_listw  so    xx
H-- "%"%' ' (,,tR"8"899	.677777r,   c                 b    |                                   | j                            d           d S )Nz@end enumerate
r  rO  s     r+   depart_enumerated_listz(TexinfoTranslator.depart_enumerated_list  r  r,   c                 :    | j                             d           d S )Nz
@item r   rO  s     r+   visit_list_itemz!TexinfoTranslator.visit_list_item  s    	$$$$$r,   c                     d S r1   r   rO  s     r+   depart_list_itemz"TexinfoTranslator.depart_list_item  rW  r,   c                 :    | j                             d           d S )Nz

@table @option
r   rO  s     r+   visit_option_listz#TexinfoTranslator.visit_option_list  s    	/00000r,   c                 b    |                                   | j                            d           d S Nz@end table
r  rO  s     r+   depart_option_listz$TexinfoTranslator.depart_option_list  .    	(((((r,   c                     d S r1   r   rO  s     r+   visit_option_list_itemz(TexinfoTranslator.visit_option_list_item  rW  r,   c                     d S r1   r   rO  s     r+   depart_option_list_itemz)TexinfoTranslator.depart_option_list_item  rW  r,   c                     d| _         d S Nz@item	at_item_xrO  s     r+   visit_option_groupz$TexinfoTranslator.visit_option_group       r,   c                     d S r1   r   rO  s     r+   depart_option_groupz%TexinfoTranslator.depart_option_group  rW  r,   c                 x    | xj         dz  c_         | j                            d| j        z             d| _        d S )Nr   rc  @itemx)r   rl   r&   r  rO  s     r+   visit_optionzTexinfoTranslator.visit_option  s>    q 	4>1222!r,   c                 &    | xj         dz  c_         d S r^  )r   rO  s     r+   depart_optionzTexinfoTranslator.depart_option  s    q r,   c                     d S r1   r   rO  s     r+   visit_option_stringz%TexinfoTranslator.visit_option_string  rW  r,   c                     d S r1   r   rO  s     r+   depart_option_stringz&TexinfoTranslator.depart_option_string  rW  r,   c                 b    | j                             |                    dd                     d S )N	delimiterr6   )rl   r&   r   rO  s     r+   visit_option_argumentz'TexinfoTranslator.visit_option_argument  s,    	+s3344444r,   c                     d S r1   r   rO  s     r+   depart_option_argumentz(TexinfoTranslator.depart_option_argument  rW  r,   c                 :    | j                             d           d S r  r   rO  s     r+   visit_descriptionz#TexinfoTranslator.visit_description  r  r,   c                     d S r1   r   rO  s     r+   depart_descriptionz$TexinfoTranslator.depart_description  rW  r,   c                 :    | j                             d           d S )Nz

@table @asis
r   rO  s     r+   visit_definition_listz'TexinfoTranslator.visit_definition_list  s    	-.....r,   c                 b    |                                   | j                            d           d S r  r  rO  s     r+   depart_definition_listz(TexinfoTranslator.depart_definition_list  r  r,   c                     d| _         d S r  r  rO  s     r+   visit_definition_list_itemz,TexinfoTranslator.visit_definition_list_item  r  r,   c                     d S r1   r   rO  s     r+   depart_definition_list_itemz-TexinfoTranslator.depart_definition_list_item  rW  r,   c                 n   |                     d          D ]}|                     ||           |d d          D ]R}t          |t          j        t
          j        f          r*|                    |            |                    |           S| j	        
                    d| j        z             d| _        d S )NrY  rc  r  )r   rG  r%   r   r   r   targetrX   removerl   r&   r  )rQ   r   r   r5  s       r+   
visit_termzTexinfoTranslator.visit_term  s    ((5// 	& 	&BOOB%%%%bbb 	 	A!hnel;<< D!!!A	4>1222!r,   c                     d S r1   r   rO  s     r+   depart_termzTexinfoTranslator.depart_term  rW  r,   c                 :    | j                             d           d S )Nz : r   rO  s     r+   visit_classifierz"TexinfoTranslator.visit_classifier      	r,   c                     d S r1   r   rO  s     r+   depart_classifierz#TexinfoTranslator.depart_classifier  rW  r,   c                 :    | j                             d           d S r  r   rO  s     r+   visit_definitionz"TexinfoTranslator.visit_definition  r  r,   c                     d S r1   r   rO  s     r+   depart_definitionz#TexinfoTranslator.depart_definition  rW  r,   c                     d| _         d S r  	entry_seprO  s     r+   visit_tablezTexinfoTranslator.visit_table  r  r,   c                 :    | j                             d           d S )Nz
@end multitable

r   rO  s     r+   depart_tablezTexinfoTranslator.depart_table  s    	011111r,   c                     d S r1   r   rO  s     r+   visit_tabular_col_specz(TexinfoTranslator.visit_tabular_col_spec  rW  r,   c                     d S r1   r   rO  s     r+   depart_tabular_col_specz)TexinfoTranslator.depart_tabular_col_spec  rW  r,   c                    | j                             |d                    t          | j                   | j        k    rd S | j                            d           | j         D ]%}| j                            dd|dz   z  z             &d S )Ncolwidthz

@multitable z{%s} r4   r   )r   r&   r   n_colsrl   )rQ   r   r5  s      r+   visit_colspeczTexinfoTranslator.visit_colspec  s    d:.///t~$+--F	+,,, 	8 	8AIWq1u67777	8 	8r,   c                     d S r1   r   rO  s     r+   depart_colspecz TexinfoTranslator.depart_colspec  rW  r,   c                 .    g | _         |d         | _        d S )Ncols)r   rP  rO  s     r+   visit_tgroupzTexinfoTranslator.visit_tgroup  s    6lr,   c                     d S r1   r   rO  s     r+   depart_tgroupzTexinfoTranslator.depart_tgroup  rW  r,   c                     d| _         d S )Nz	@headitemrE  rO  s     r+   visit_theadzTexinfoTranslator.visit_thead  s    $r,   c                     d S r1   r   rO  s     r+   depart_theadzTexinfoTranslator.depart_thead  rW  r,   c                     d S r1   r   rO  s     r+   visit_tbodyzTexinfoTranslator.visit_tbody  rW  r,   c                     d S r1   r   rO  s     r+   depart_tbodyzTexinfoTranslator.depart_tbody  rW  r,   c                     d S r1   r   rO  s     r+   	visit_rowzTexinfoTranslator.visit_row  rW  r,   c                     d| _         d S r  rE  rO  s     r+   
depart_rowzTexinfoTranslator.depart_row  r  r,   c                 X    | j                             d| j        z             d| _        d S )Nz
%s
z@tab)rl   r&   rF  rO  s     r+   visit_entryzTexinfoTranslator.visit_entry  s*    	DN2333r,   c                     t          |                    dd                    D ]}| j                            d           d S )Nmorecolsr   z
@tab
)ranger   rl   r&   )rQ   r   _is      r+   depart_entryzTexinfoTranslator.depart_entry  sJ    Q//00 	) 	)BIZ((((	) 	)r,   c                     d S r1   r   rO  s     r+   visit_field_listz"TexinfoTranslator.visit_field_list  rW  r,   c                     d S r1   r   rO  s     r+   depart_field_listz#TexinfoTranslator.depart_field_list!  rW  r,   c                 :    | j                             d           d S r  r   rO  s     r+   visit_fieldzTexinfoTranslator.visit_field$  r  r,   c                 :    | j                             d           d S r  r   rO  s     r+   depart_fieldzTexinfoTranslator.depart_field'  r  r,   c                 b    |                                   | j                            d           d S )Nz@*r  rO  s     r+   visit_field_namez"TexinfoTranslator.visit_field_name*  s.    	r,   c                 :    | j                             d           d S )Nr   r   rO  s     r+   depart_field_namez#TexinfoTranslator.depart_field_name.  r  r,   c                     d S r1   r   rO  s     r+   visit_field_bodyz"TexinfoTranslator.visit_field_body1  rW  r,   c                     d S r1   r   rO  s     r+   depart_field_bodyz#TexinfoTranslator.depart_field_body4  rW  r,   c                     |sGt          t          j        |d                   }|                     |                                          }| j                            d|z             d S )Nr   
@cartouche
@quotation %s )r   r   rv   r   r   rl   r&   )rQ   r   r   rv   s       r+   visit_admonitionz"TexinfoTranslator.visit_admonition9  sZ     	/d1g..E;;u||~~..D	7$>?????r,   c                 d    t           |j                 }| j                            d|z             d S )Nr}  )r   tagnamerl   r&   )rQ   r   r<  s      r+   _visit_named_admonitionz)TexinfoTranslator._visit_named_admonition?  s0     .	7%?@@@@@r,   c                 b    |                                   | j                            d           d S )Nz@end quotation
@end cartouche
r  rO  s     r+   depart_admonitionz#TexinfoTranslator.depart_admonitionC  s;    	 , 	- 	- 	- 	- 	-r,   c                     t           j        r1   r  rO  s     r+   visit_docinfozTexinfoTranslator.visit_docinfo]  r  r,   c                     t           j        r1   r  rO  s     r+   visit_generatedz!TexinfoTranslator.visit_generated`  r  r,   c                     t           j        r1   r  rO  s     r+   visit_headerzTexinfoTranslator.visit_headerc  r  r,   c                     t           j        r1   r  rO  s     r+   visit_footerzTexinfoTranslator.visit_footerf  r  r,   c                 h    |                     d          r| j                            d           d S d S )Nliteral_blockz

@float LiteralBlock
r  rO  s     r+   visit_containerz!TexinfoTranslator.visit_containeri  s=    88O$$ 	:I899999	: 	:r,   c                 h    |                     d          r| j                            d           d S d S )Nr  
@end float

r  rO  s     r+   depart_containerz"TexinfoTranslator.depart_containerm  s=    88O$$ 	1I/00000	1 	1r,   c                     d S r1   r   rO  s     r+   visit_decorationz"TexinfoTranslator.visit_decorationq  rW  r,   c                     d S r1   r   rO  s     r+   depart_decorationz#TexinfoTranslator.depart_decorationt  rW  r,   c                 f   d|                     dg           v rt          j        t          t          j        |d                   }|                     |           | j                            d|                     |	                                          z             | 
                    |           d S )Ncontentsr  r   z%s
)r   r   rd  r   rv   rk  rl   r&   r   r   rx  )rQ   r   rv   s      r+   visit_topiczTexinfoTranslator.visit_topicw  s    )R0000. U[$q'**%   	$++ellnn"="==>>>5!!!!!r,   c                     d S r1   r   rO  s     r+   depart_topiczTexinfoTranslator.depart_topic  rW  r,   c                 @    | j                             ddz             d S )Nz

%s

B__________________________________________________________________r   rO  s     r+   visit_transitionz"TexinfoTranslator.visit_transition  s#    	233333r,   c                     d S r1   r   rO  s     r+   depart_transitionz#TexinfoTranslator.depart_transition  rW  r,   c                 :    | j                             d           d S )Nz

@center --- r   rO  s     r+   visit_attributionz#TexinfoTranslator.visit_attribution      	+,,,,,r,   c                 :    | j                             d           d S rp  r   rO  s     r+   depart_attributionz$TexinfoTranslator.depart_attribution  rr  r,   c                     |                     dd                                          }d|v sd|v r,| j                            |                                           t
          j        )NformatrE   rB   rC   )r   r7   rl   r&   r   r   rd  )rQ   r   r  s      r+   	visit_rawzTexinfoTranslator.visit_raw  s\    (B''--//&F"2"2IT[[]]+++nr,   c                 :    | j                             d           d S )Nz

@float Figure
r   rO  s     r+   visit_figurezTexinfoTranslator.visit_figure  s    	./////r,   c                 :    | j                             d           d S )Nr  r   rO  s     r+   depart_figurezTexinfoTranslator.depart_figure  r  r,   c                 @   t          |j        t          j                  s9t          |j        t          j                  r6|j                            d          r| j                            d           d S t          	                    t          d          |           d S )Nr  z

@caption{zcaption not inside a figure.ra  )r%   r   r   figure	containerr   rl   r&   ri  rj  r   rO  s     r+   visit_captionzTexinfoTranslator.visit_caption  s    t{EL11 	*t{EO44	*00	* I]+++++NN2<==$(  * * * * *r,   c                     t          |j        t          j                  s9t          |j        t          j                  r6|j                            d          r| j                            d           d S d S d S )Nr  r   )r%   r   r   r  r  r   rl   r&   rO  s     r+   depart_captionz TexinfoTranslator.depart_caption  sv    t{EL11 	$t{EO44	$00	$ IU#####	$ 	$ 	$ 	$r,   c                 t   |d         | j         j        v r| j         j        |d                  }n| j        rd S |d         }|                    d          dk    rd S t	          j        |          \  }}|                     |                    dd                    }|                     |                    dd                    }|                     |                    dd                    }| j	        d         d d	         d
|}| j
                            d|d|d|d|d|dd          d           d S )Nr  z://r   r   rE   heightaltrq   z	-figures/z
@image{r   r   r   )rM   imagesignore_missing_imagesr  r   splitextr  r   r   r   rl   r&   )	rQ   r   r  r   extr   r  r  rq   s	            r+   visit_imagezTexinfoTranslator.visit_image  sO   ;$,---,%d5k2CC ) u+C88E??b  FM#&&	c%%dhhw&;&;<<&&txx"'='=>>oodhhub1122&*mJ&?&D&D&DddK	"((EEE666333ABBA 	B 	B 	B 	B 	Br,   c                     d S r1   r   rO  s     r+   depart_imagezTexinfoTranslator.depart_image  rW  r,   c                     d S r1   r   rO  s     r+   visit_compoundz TexinfoTranslator.visit_compound  rW  r,   c                     d S r1   r   rO  s     r+   depart_compoundz!TexinfoTranslator.depart_compound  rW  r,   c                 0    |                      |           d S r1   )r  rO  s     r+   visit_sidebarzTexinfoTranslator.visit_sidebar  s    r,   c                 0    |                      |           d S r1   )r  rO  s     r+   depart_sidebarz TexinfoTranslator.depart_sidebar  s    $r,   c                 `    | j         rt          j        | j                            d           d S )Nz@w{()r   r   rd  rl   r&   rO  s     r+   visit_labelzTexinfoTranslator.visit_label  s1     	%. IV$$$$$r,   c                 :    | j                             d           d S )Nz)} r   rO  s     r+   depart_labelzTexinfoTranslator.depart_label  r=  r,   c                     d S r1   r   rO  s     r+   visit_legendzTexinfoTranslator.visit_legend  rW  r,   c                     d S r1   r   rO  s     r+   depart_legendzTexinfoTranslator.depart_legend  rW  r,   c                     d S r1   r   rO  s     r+   visit_substitution_referencez.TexinfoTranslator.visit_substitution_reference  rW  r,   c                     d S r1   r   rO  s     r+   depart_substitution_referencez/TexinfoTranslator.depart_substitution_reference  rW  r,   c                     t           j        r1   r  rO  s     r+   visit_substitution_definitionz/TexinfoTranslator.visit_substitution_definition  r  r,   c                 x    | j                             d|                                z             t          j        )Nz.
@verbatim
<SYSTEM MESSAGE: %s>
@end verbatim
)rl   r&   r   r   rd  rO  s     r+   visit_system_messagez&TexinfoTranslator.visit_system_message  s;    	 +-1[[]]; 	< 	< 	< nr,   c                     | j                             d           |                                                                D ]}| j                             d|z              t          j        )Nr   z@c %s
)rl   r&   r   
splitlinesr   rd  )rQ   r   lines      r+   visit_commentzTexinfoTranslator.visit_comment  sa    	KKMM,,.. 	/ 	/DIY-....nr,   c                 :    | j                             d           d S )Nz>>r   rO  s     r+   visit_problematicz#TexinfoTranslator.visit_problematic  r  r,   c                 :    | j                             d           d S )Nz<<r   rO  s     r+   depart_problematicz$TexinfoTranslator.depart_problematic  r  r,   c                 Z    t                               t          d          ||           d S )Nzunimplemented node type: %rra  )ri  rj  r   rO  s     r+   unimplemented_visitz%TexinfoTranslator.unimplemented_visit  s7    r788$ $ 	 	& 	& 	& 	& 	&r,   c                     d S r1   r   rO  s     r+   unknown_departurez#TexinfoTranslator.unknown_departure  rW  r,   c                    |                      d            g }t          t          t          j                 |          }|D ]}|                    |d                    t          d |D                       }|D ]}|d         rM|                    d          D ]}|                     ||           |d         	                    |          dz   }ndd|z  z  }| j
                            |                     |                     | j
                            |                     |                                dz                        |                     d            t          j        )N	tokennamec              3   4   K   | ]}t          |          V  d S r1   )r   )r3   r   s     r+   r5   z9TexinfoTranslator.visit_productionlist.<locals>.<genexpr>  s(      114SYY111111r,   rY  z ::=z%s    r6   r   )r  r   r   r   
productionr&   r   r   rG  ljustrl   r   r   r  r   rd  )rQ   r   namesproductionlistr  maxlenr   r-   s           r+   visit_productionlistz&TexinfoTranslator.visit_productionlist  sf     &&&hx':;TBB( 	2 	2JLLK0111111511111( 	F 	FJ+& .$..// 4 4BOOB
3333{+11&99FBf-IT[[^^,,,IT[[):):)<)<t)CDDEEEE!!$'''nr,   c                     d S r1   r   rO  s     r+   visit_productionz"TexinfoTranslator.visit_production  rW  r,   c                     d S r1   r   rO  s     r+   depart_productionz#TexinfoTranslator.depart_production  rW  r,   c                 :    | j                             d           d S Nr  r   rO  s     r+   visit_literal_emphasisz(TexinfoTranslator.visit_literal_emphasis      	"""""r,   c                 :    | j                             d           d S r  r   rO  s     r+   depart_literal_emphasisz)TexinfoTranslator.depart_literal_emphasis  r  r,   c                 :    | j                             d           d S r  r   rO  s     r+   visit_literal_strongz&TexinfoTranslator.visit_literal_strong   r  r,   c                 :    | j                             d           d S r  r   rO  s     r+   depart_literal_strongz'TexinfoTranslator.depart_literal_strong#  r  r,   c                 ,   t          |j        t          j                  r|                                  n| j                            d           |d         D ]<}|\  }}}}}|                     |          }| j                            d|z             =d S )Nr   r   z@geindex %s
)r%   r   r   	paragraphr   rl   r&   r   )rQ   r   r   typr  tidtext2key_s           r+   visit_indexzTexinfoTranslator.visit_index&  s    dk5?33 	#OOIT""")_ 	5 	5E*/'CsE4##D))DI_t34444	5 	5r,   c                 :    | j                             d           d S r  r   rO  s     r+   visit_versionmodifiedz'TexinfoTranslator.visit_versionmodified1  r  r,   c                 :    | j                             d           d S r  r   rO  s     r+   depart_versionmodifiedz(TexinfoTranslator.depart_versionmodified4  r  r,   c                     | j                             d           | j                            |d                    | j                            |                     |                     d S )NrN  r3  )r   r   r   r&   r   r@  rO  s     r+   visit_start_of_filez%TexinfoTranslator.visit_start_of_file7  s_    !!&)))  i111!!$"8"8">">?????r,   c                 j    | j                                          | j                                         d S r1   )r   r   r   rO  s     r+   depart_start_of_filez&TexinfoTranslator.depart_start_of_file=  s2         r,   c                     |                      |                                          }| j                            d|z             t          j        )Nz

@center %s

)r   r   rl   r&   r   rd  rQ   r   txts      r+   visit_centeredz TexinfoTranslator.visit_centeredA  s?    oodkkmm,,	-3444nr,   c                 V    | j                             dt          d         z             d S )Nz

@subsubheading %s

seealso)rl   r&   r   rO  s     r+   visit_seealsozTexinfoTranslator.visit_seealsoF  s6    	4))45 	6 	6 	6 	6 	6r,   c                 :    | j                             d           d S r  r   rO  s     r+   depart_seealsoz TexinfoTranslator.depart_seealsoJ  r  r,   c                     t           j        r1   r  rO  s     r+   
visit_metazTexinfoTranslator.visit_metaM  r  r,   c                     d S r1   r   rO  s     r+   visit_glossaryz TexinfoTranslator.visit_glossaryP  rW  r,   c                     d S r1   r   rO  s     r+   depart_glossaryz!TexinfoTranslator.depart_glossaryS  rW  r,   c                    t          t          j        |d                   }t          t          t          j                 |          }| j                            d           | j                            d                    d |D                       dz              | j                            d           t          j        )Nr   r   , c              3   >   K   | ]}|                                 V  d S r1   )r   )r3   r5  s     r+   r5   z/TexinfoTranslator.visit_acks.<locals>.<genexpr>Z  s*      "B"B!188::"B"B"B"B"B"Br,   r   )	r   r   bullet_listr   	list_itemrl   r&   r;   rd  )rQ   r   r  
list_itemss       r+   
visit_ackszTexinfoTranslator.visit_acksV  s    5,d1g66(5?3[AA
	   	"B"Bz"B"B"BBBSHIII	   nr,   c                 H    | j                             |           d| _        d S )Nz@deffn)r   r&   	at_deffnxrO  s     r+   
visit_desczTexinfoTranslator.visit_desce  s#    
$!r,   c                     | j                                          |                                  | j                            d           d S )Nz@end deffn
)r   r   r   rl   r&   rO  s     r+   depart_desczTexinfoTranslator.depart_desci  s@    
	(((((r,   c                 F   | xj         dz  c_         |j        d         }|dk    r.|                    d          D ]}|                     ||           	 | j        j                            |j        d                   }|                    |j        |         | j	        j
        |j        k              }n# t          t          f$ r |}Y nw xY w|                     t          |                    }| j                            d| j        d|d           d	| _        || _        d S )
Nr   objtypedescriberY  r0  r   z {z} z@deffnx)r   r   r   rG  rM   r(  r.  get_type_nameobject_typesr   primary_domainr   rB  r   r   r?   rl   r&   r  desc_type_name)rQ   r   r#  r   r0  r   categorys          r+   visit_desc_signaturez&TexinfoTranslator.visit_desc_signaturen  s4   q +i(j  hhuoo * *D))))	\%00X1FGGF''(;G(D(,(Bfk(QS SDD.) 	 	 	DDD	 ??>$#7#788	BCCC"-1s   AB2 2CCc                 h    | j                             d           | xj        dz  c_        d | _        d S )Nr   r   )rl   r&   r   r(  rO  s     r+   depart_desc_signaturez'TexinfoTranslator.depart_desc_signature  s:    	q "r,   c                     d S r1   r   rO  s     r+   visit_desc_signature_linez+TexinfoTranslator.visit_desc_signature_line  rW  r,   c                     d S r1   r   rO  s     r+   depart_desc_signature_linez,TexinfoTranslator.depart_desc_signature_line  rW  r,   c                     d S r1   r   rO  s     r+   visit_desc_contentz$TexinfoTranslator.visit_desc_content  rW  r,   c                     d S r1   r   rO  s     r+   depart_desc_contentz%TexinfoTranslator.depart_desc_content  rW  r,   c                     d S r1   r   rO  s     r+   visit_desc_inlinez#TexinfoTranslator.visit_desc_inline  rW  r,   c                     d S r1   r   rO  s     r+   depart_desc_inlinez$TexinfoTranslator.depart_desc_inline  rW  r,   c                     d S r1   r   rO  s     r+   visit_desc_namez!TexinfoTranslator.visit_desc_name  rW  r,   c                     d S r1   r   rO  s     r+   depart_desc_namez"TexinfoTranslator.depart_desc_name  rW  r,   c                     d S r1   r   rO  s     r+   visit_desc_addnamez$TexinfoTranslator.visit_desc_addname  rW  r,   c                     d S r1   r   rO  s     r+   depart_desc_addnamez%TexinfoTranslator.depart_desc_addname  rW  r,   c                     d S r1   r   rO  s     r+   visit_desc_typez!TexinfoTranslator.visit_desc_type  rW  r,   c                     d S r1   r   rO  s     r+   depart_desc_typez"TexinfoTranslator.depart_desc_type  rW  r,   c                 :    | j                             d           d S )Nz -> r   rO  s     r+   visit_desc_returnsz$TexinfoTranslator.visit_desc_returns  rr  r,   c                     d S r1   r   rO  s     r+   depart_desc_returnsz%TexinfoTranslator.depart_desc_returns  rW  r,   c                 H    | j                             d           d| _        d S )Nz (r   )rl   r&   first_paramrO  s     r+   visit_desc_parameterlistz*TexinfoTranslator.visit_desc_parameterlist  s&    	r,   c                 :    | j                             d           d S )N)r   rO  s     r+   depart_desc_parameterlistz+TexinfoTranslator.depart_desc_parameterlist  r  r,   c                    | j         s| j                            d           nd| _         |                     |                                          }|                    dd          }| j                            |           t          j        )Nr  r       z@w{ })rJ  rl   r&   r   r   r   r   rd  r  s      r+   visit_desc_parameterz&TexinfoTranslator.visit_desc_parameter  sx     	!IT"""" D{{4;;==))||D'**	nr,   c                 :    | j                             d           d S )N[r   rO  s     r+   visit_desc_optionalz%TexinfoTranslator.visit_desc_optional  r  r,   c                 :    | j                             d           d S )N]r   rO  s     r+   depart_desc_optionalz&TexinfoTranslator.depart_desc_optional  r  r,   c                     |                                                                 }| j        r|| j        d         d         k    s"| j        r'|| j                                        v rt
          j        d S d S )Nr   r#  )r   r   r   r(  r7   r   rd  r  s      r+   visit_desc_annotationz'TexinfoTranslator.visit_desc_annotation  sw     kkmm!!##Z 	!C4:b>)#<<<$ =),0C0I0I0K0K)K)K.  =<)K)Kr,   c                     d S r1   r   rO  s     r+   depart_desc_annotationz(TexinfoTranslator.depart_desc_annotation  rW  r,   c                     d S r1   r   rO  s     r+   visit_inlinezTexinfoTranslator.visit_inline  rW  r,   c                     d S r1   r   rO  s     r+   depart_inlinezTexinfoTranslator.depart_inline  rW  r,   c                 v   |                                 }| j                            d           |                    d          r[|| j        vrR| j                            d|                     |d                   z             | j                            |           d S | j                            d           d S )Nz@abbr{explanationz,%s}r   )r   rl   r&   hasattrr   r   r   r   )rQ   r   abbrs      r+   visit_abbreviationz$TexinfoTranslator.visit_abbreviation  s    {{}}	"""<<&& 	%4t7I+I+ILm9L)M)M MNNN""4(((((L$$$$$r,   c                 h    | j                             | j                                                   d S r1   r  rO  s     r+   depart_abbreviationz%TexinfoTranslator.depart_abbreviation  r  r,   c                 ,    |                      |          S r1   )r  rO  s     r+   visit_manpagezTexinfoTranslator.visit_manpage  s    **4000r,   c                 ,    |                      |          S r1   )r  rO  s     r+   depart_manpagez TexinfoTranslator.depart_manpage  s    ++D111r,   c                     d S r1   r   rO  s     r+   visit_download_referencez*TexinfoTranslator.visit_download_reference  rW  r,   c                     d S r1   r   rO  s     r+   depart_download_referencez+TexinfoTranslator.depart_download_reference  rW  r,   c                 0    |                      |           d S r1   )r  rO  s     r+   visit_hlistzTexinfoTranslator.visit_hlist  s    t$$$$$r,   c                 0    |                      |           d S r1   )r  rO  s     r+   depart_hlistzTexinfoTranslator.depart_hlist  s    %%%%%r,   c                     d S r1   r   rO  s     r+   visit_hlistcolz TexinfoTranslator.visit_hlistcol  rW  r,   c                     d S r1   r   rO  s     r+   depart_hlistcolz!TexinfoTranslator.depart_hlistcol  rW  r,   c                     d S r1   r   rO  s     r+   visit_pending_xrefz$TexinfoTranslator.visit_pending_xref  rW  r,   c                     d S r1   r   rO  s     r+   depart_pending_xrefz%TexinfoTranslator.depart_pending_xref  rW  r,   c                     | j                             d|                     |                                          z   dz              t          j        )Nz@math{r   )rl   r&   r   r   r   rd  rO  s     r+   
visit_mathzTexinfoTranslator.visit_math  s>    	DOODKKMM$B$BBSHIIInr,   c                     |                     d          r|                     |d         |           | j                            d|                     |                                          z             t          j        )Nr<  z

@example
%s
@end example

)r   rG  rl   r&   r   r   r   rd  rO  s     r+   visit_math_blockz"TexinfoTranslator.visit_math_block  so    88G 	1OODM4000	=778 	9 	9 	9nr,   r_   )rE   (  r`   ra   rb   r  rf   r   r   rU   rP   rY   rx   r   r   r   re   r   r   r   r   r   r   r   compiler	   r   r  r   r  r   r   r   r   r    r&  r@  r  r   rG  rL  rP  rR  r   rT  rV  r\  r_  rl  ru  rn  rq  rk  rx  rz  r|  r  r  r  r  r  r  r  r  r  r  r
   r  r  visit_doctest_blockdepart_doctest_blockr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r!  r#  r&  r(  r*  r,  r.  r0  r2  r4  r8  r:  r<  r?  rA  rC  rG  rI  rK  rM  rQ  rS  rV  rX  rZ  r\  r^  r`  rb  rd  rf  rk  rm  ro  rq  rs  ru  rw  ry  r{  r~  r  r  visit_attentiondepart_attentionvisit_cautiondepart_cautionvisit_dangerdepart_dangervisit_errordepart_error
visit_hintdepart_hintvisit_importantdepart_important
visit_notedepart_note	visit_tip
depart_tipvisit_warningdepart_warningr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r
  r  r  r  r  r  r  r   r   r  r!  r*  r,  r.  r0  r2  r4  r6  r8  r:  r<  r>  r@  rB  rD  rF  rH  rK  rN  rQ  rT  rW  rY  r[  r]  r_  rd  rf  rh  rj  rl  rn  rp  rr  rt  rv  rx  rz  r|  r~  rg   rh   s   @r+   rV   rV      s        !   '  ':J  't  '  '  '  '  '  'D/ / / /*(8 (8 (8 (8T7 7 7 7<+ + + +2' ' ' 'B     C C    	3 	3 	 	 	 	S S    # # # #
(c (c ( ( ( ( ( ( CM"*]B[B[ H HS	 H H"H H H H$(# ($ ( ( ( (8# #    " " " "Ng $sDGY[_G_A`<a7a2b    &	s 	s 	 	 	 		)S 	) 	) 	) 	) 	) 	)#3 #c # #$ # # # #*7 *t * * * * G          t           '  d        & 7  t        HG0 0D 0 0 0 0*! !T ! ! ! !" "T " " " "!' !d ! ! ! !,7 ,t , , , ,!G ! ! ! ! !
& &T & & & &0' d    =G = = = = =~W     7 t    
' d    G     W     +g +$ + + + +-w -4 - - - -)(9 )d ) ) ) )+'): +t + + + + ./'W ' ' ' ' '
%g %$ % % % %
"w "4 " " " "" "D " " " " T    ' d    %7 %t % % % %-G - - - - -)G ) ) ) ) )#' #d # # # #
7 t    
!g !$ ! ! ! !w 4    !G ! ! ! ! !W     
7 t    'W ' ' ' ' 'g $    !W ! ! ! ! !"7 "t " " " ""G " " " " "!W ! ! ! ! !g $    
7g 7$ 7 7 7 7+w +4 + + + +8' 8d 8 8 8 8-7 -t - - - -%G % % % % %W     
1g 1$ 1 1 1 1)w )4 ) ) ) )7 t    G     !w !4 ! ! ! ! D    " "T " " " "
!' !d ! ! ! ! D     T    5' 5d 5 5 5 57 t    g $    w 4    
/' /d / / / /)7 )t ) ) ) )!w !4 ! ! ! ! D    	"w 	"4 	" 	" 	" 	" D     W          g $    W     g $    
! !D ! ! ! !2 2T 2 2 2 27 t    G     8' 8d 8 8 8 87 t    # #T # # # #' d    % %D % % % % T     D     T    g $    !w !4 ! ! ! !   D        ) )T ) ) ) )W     g $     D     T    W     g $    W     g $    
@ @W @C @ @ @ @ @AG A A A A A-g -$ - - - -
 .O(+M&N*L%M)K$L(J#K-O((J#K'I"J+M&N' d    G      T     T    :G : : : : :1W 1 1 1 1 1W     g $    " "D " " " " T    4W 4 4 4 4 4g $    -g -$ - - - -!w !4 ! ! ! !g $    0 0T 0 0 0 0-' -d - - - -*' *d * * * *$7 $t $ $ $ $B BD B B B B( T    7 t    G     ' d     7  t        % %D % % % %   T         T    ' d     T    ' d    ' d     T    ' d    g $    w 4    & &D & & & &d t    
 T    &W     g $    #7 #t # # # #G     # #T # # # #' d    	5 	5D 	5 	5 	5 	5' d    7 t    @ @D @ @ @ @! !T ! ! ! !7 t    
6' 6d 6 6 6 67 t    w 4    7 t    G     w 4    "x} " " " " ") )$ ) ) ) )
2 2T 2 2 2 2&#' #d # # # #
g $    w 4    w 4     D    g $    w 4    G     W     w 4     D    G     W     !w !4 ! ! ! ! D    W     g $    	 	T 	 	 	 	 D     T    	!' 	!d 	! 	! 	! 	!7 t    
 T    ' d    %w %4 % % % %- -D - - - -1' 1d 1 1 1 127 2t 2 2 2 2W     g $    % %D % % % %& &T & & & &7 t    G     w 4     D    w 4    W         r,   rV   r1   )<rc   r   r   osr   typingr   r   r   r   r   r	   r
   r   r   r   r   r   docutilsr   r   docutils.nodesr   r   r   sphinxr   r   sphinx.domainsr   sphinx.domains.indexr   sphinx.errorsr   sphinx.localer   r   r   sphinx.utilr   sphinx.util.docutilsr   sphinx.util.i18nr   sphinx.writers.latexr    sphinx.builders.texinfor!   	getLoggerr`   ri  r   r   r"   r(   re   r?   WriterrA   rV   r   r,   r+   <module>r     s   ) ) 				       ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( $ # # # # # # # . . . . . . . . . . 0 0 0 0 0 0 0 0 % % % % % % , , , , , , ( ( ( ( ( ( 1 1 1 1 1 1 1 1 1 1       1 1 1 1 1 1 ( ( ( ( ( ( 3 3 3 3 3 3 7666666 
	8	$	$ 00"3(V	g 	$u}*= 	 	 	 	$ $c $ $ $ $ $ $= = = = =GN = = =>M M M M M( M M M M Mr,   