B
    ô<[ˆ‹  ã               @   s°   d Z dZddlZddlZddlmZmZmZ yddlZW n& ek
r^   ddl	m
  mZ Y nX dZdZdZdZdZdZG dd	„ d	ejƒZG d
d„ deƒZG dd„ dejƒZdS )aÖ  
Simple man page writer for reStructuredText.

Man pages (short for "manual pages") contain system documentation on unix-like
systems. The pages are grouped in numbered sections:

 1 executable programs and shell commands
 2 system calls
 3 library functions
 4 special files
 5 file formats
 6 games
 7 miscellaneous
 8 system administration

Man pages are written *troff*, a text file formatting system.

See http://www.tldp.org/HOWTO/Man-Page for a start.

Man pages have no subsection only parts.
Standard parts

  NAME ,
  SYNOPSIS ,
  DESCRIPTION ,
  OPTIONS ,
  FILES ,
  SEE ALSO ,
  BUGS ,

and

  AUTHOR .

A unix-like system keeps an index of the DESCRIPTIONs, which is accesable
by the command whatis or apropos.

ZreStructuredTexté    N)ÚnodesÚwritersÚ	languagesé   g      @aw  .
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
c               @   s$   e Zd ZdZdZdd„ Zdd„ ZdS )ÚWriter)ÚmanpageNc             C   s   t j | ¡ t| _d S )N)r   r   Ú__init__Ú
TranslatorÚtranslator_class)Úself© r   ú7lib/python3.7/site-packages/docutils/writers/manpage.pyr   e   s    zWriter.__init__c             C   s&   |   | j¡}| j |¡ | ¡ | _d S )N)r
   ÚdocumentZ	walkaboutÚastextÚoutput)r   Zvisitorr   r   r   Ú	translatei   s    zWriter.translate)Ú__name__Ú
__module__Ú__qualname__Z	supportedr   r   r   r   r   r   r   r   ]   s   r   c               @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚTablec             C   s   g | _ dg| _d| _g | _d S )NÚcenterú	)Ú_rowsÚ_optionsÚ	_tab_charÚ_coldefs)r   r   r   r   r   p   s    zTable.__init__c             C   s   | j  g ¡ d S )N)r   Úappend)r   r   r   r   Únew_rowu   s    zTable.new_rowc             C   s   | j  |g¡ dS )z$Append the separator for table head.N)r   r   )r   Z	separatorr   r   r   Úappend_separatorw   s    zTable.append_separatorc             C   s`   d}t |ƒdkr |d dkr d}| jd  ||d… ¡ t | jƒt | jd ƒk r\| j d¡ dS )zcell_lines is an array of linesr   z.sp
é   éÿÿÿÿNÚl)Úlenr   r   r   )r   Ú
cell_linesÚstartr   r   r   Úappend_cellz   s    zTable.append_cellc             C   s<   x|r|d dkr|d= qW x|r6|d dkr6|d= qW dS )z3Remove leading and trailing blank and ``.sp`` linesr   )Ú
z.sp
r    Nr   )r   r#   r   r   r   Ú_minimize_cell‚   s    
zTable._minimize_cellc             C   sî   dg}|  d | j¡d ¡ |  dd | j¡ ¡ x¢| jD ]˜}|  d¡ |  d¡ x~tt|ƒƒD ]n}|| }|  |¡ | |¡ |d  	d	¡sž|d  d	7  < |t|ƒd
 k rÄ|  d| j
 d ¡ q`|  d¡ q`W q:W |  d¡ |  d¡ |S )Nz.TS
ú z;
z|%s|.
ú|z_
zT{
r    r&   r   zT}zT}
z.TE
)r   Újoinr   r   r   Úranger"   r'   ÚextendÚendswithr   )r   ÚtextÚrowÚiZcellr   r   r   Úas_listˆ   s$    





zTable.as_listN)	r   r   r   r   r   r   r%   r'   r1   r   r   r   r   r   o   s   r   c               @   sD  e Zd ZdZe d¡Ze d¡ZdZdd„ Z	dd„ Z
d	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd~d"d#„Zd$d%„ Zd&d'„ ZeZd(d)„ Zd*d+„ Zd,d-„ ZeZd.d/„ Zd0d1„ Z d2d3„ Z!d4d5„ Z"d6d7„ Z#d8d9„ Z$d:d;„ Z%d<d=„ Z&d>d?„ Z'eZ(d@dA„ Z)dBdC„ Z*dDdE„ Z+dFdG„ Z,dHdI„ Z-dJdK„ Z.dLdM„ Z/dNdO„ Z0e dP¡j1fdQdR„Z2dSdT„ Z3eZ4dUdV„ Z5dWdX„ Z6dYdZ„ Z7d[d\„ Z8d]d^„ Z9d_d`„ Z:eZ;dadb„ Z<dcdd„ Z=dedf„ Z>dgdh„ Z?didj„ Z@dkdl„ ZAdmdn„ ZBdodp„ ZCdqdr„ ZDdsdt„ ZEdudv„ ZFdwdx„ ZGdydz„ ZHd{d|„ ZId}d~„ ZJdd€„ ZKdd‚„ ZLdƒd„„ ZMd…d†„ ZNd‡dˆ„ ZOd‰dŠ„ ZPd‹dŒ„ ZQddŽ„ ZRdd„ ZSeZTd‘d’„ ZUd“d”„ ZVd•d–„ ZWd—d˜„ ZXd™dš„ ZYd›dœ„ ZZddž„ Z[dŸd „ Z\d¡d¢„ Z]d£d¤„ Z^d¥d¦„ Z_d§d¨„ Z`d©dª„ Zad«d¬„ Zbd­d®„ Zcd¯d°„ Zdd±d²„ Zed³d´„ Zfdµd¶„ Zgd·d¸„ Zhd¹dº„ Zid»d¼„ ZjeZkd½d¾„ Zld¿dÀ„ ZmdÁdÂ„ ZndÃdÄ„ ZodÅdÆ„ ZpdÇdÈ„ ZqdÉdÊ„ ZrdËdÌ„ ZseZtdÍdÎ„ ZudÏdÐ„ ZvdÑdÒ„ ZwdÓdÔ„ ZxdÕdÖ„ Zyd×dØ„ ZzdÙdÚ„ Z{dÛdÜ„ Z|dÝdÞ„ Z}dßdà„ Z~dádâ„ Zdãdä„ Z€dådæ„ Zdçdè„ Z‚dédê„ Zƒdëdì„ Z„dídî„ Z…dïdð„ Z†dñdò„ Z‡dódô„ Zˆdõdö„ Z‰d÷dø„ ZŠdùdú„ Z‹eZŒddüdý„Zdþdÿ„ ZŽd d„ Zdd„ Zdd„ Z‘dd„ Z’dd	„ Z“d
d„ Z”dd„ Z•dd„ Z–dd„ Z—dd„ Z˜dd„ Z™dd„ Zšdd„ Z›dd„ Zœdd„ Zdd„ Zžd d!„ ZŸd"d#„ Z d$d%„ Z¡d&d'„ Z¢d(d)„ Z£d*d+„ Z¤d,d-„ Z¥eZ¦d.d/„ Z§d0d1„ Z¨d2d3„ Z©d4d5„ Zªd6d7„ Z«eZ¬d8d9„ Z­d:d;„ Z®d<d=„ Z¯d>d?„ Z°d@dA„ Z±dBdC„ Z²dDdE„ Z³dFdG„ Z´dHdI„ ZµdJdK„ Z¶dLdM„ Z·dNdO„ Z¸dPdQ„ Z¹dRdS„ ZºdTdU„ Z»dVdW„ Z¼dXdY„ Z½dZd[„ Z¾d\d]„ Z¿d^d_„ ZÀeZÁd`da„ ZÂdbdc„ ZÃddde„ ZÄdfdg„ ZÅdhdi„ ZÆdjdk„ ZÇdldm„ ZÈdndo„ ZÉdpdq„ ZÊdrds„ ZËdtdu„ ZÌdvdw„ ZÍdxdy„ ZÎdzd{„ ZÏeZÐd|d}„ ZÑd!S (€  r	   Ú z	\S+| +|\nz\.\wz)Man page generated from reStructuredText.c             C   sì   t j | |¡ |j | _}|j}t ||j¡| _g | _	g | _
g | _d| _g | _d| _g | _d| _d | _g | _dddddg ddddœ	| _g | _i | _d | _d | _d| _d| _d| _g | _d| _dg| _dddd	d
dddd	ddddddœ| _d S )Nr   r2   r   )	ÚtitleÚtitle_upperÚsubtitleÚmanual_sectionÚmanual_groupÚauthorÚdateÚ	copyrightÚversionF)z.INDENT %.1f
z
.UNINDENT
)z.TPr2   )z.TP
.B r&   )z\fBz\fP)z.sp
.nf
.ft C
z
.ft P
.fi
)z.TP
r2   )z\fI\%z\fP)z\fIz\fP)z
.B r&   )z.SS )z
.nf
z
.fi
)ÚindentÚdefinition_list_itemÚ
field_nameÚliteralÚliteral_blockÚoption_list_itemÚ	referenceÚemphasisÚstrongÚtermÚtitle_referenceztopic-titlezsidebar-titleÚproblematic)r   ÚNodeVisitorr   ÚsettingsZlanguage_coder   Zget_languageÚreporterÚlanguageÚheadÚbodyÚfootÚsection_levelÚcontextZtopic_classÚcolspecsZ	compact_pZcompact_simpleÚ
_list_charÚ_docinfoÚ_docinfo_keysÚ_docinfo_namesÚ_in_docinfoÚ_active_tableÚ_in_literalÚheader_writtenÚ_line_blockZauthorsÚ_indentÚdefs)r   r   rI   Zlcoder   r   r   r   ¥   sZ    
zTranslator.__init__c                s&   d‰ d  ‡ fdd„| d¡D ƒ¡}|S )zPReturn commented version of the passed text WITHOUT end of
        line/comment.z.\" r2   c                s   g | ]}ˆ | d  ‘qS )r&   r   )Ú.0Zin_line)Úprefixr   r   ú
<listcomp>ï   s   z,Translator.comment_begin.<locals>.<listcomp>r&   )r*   Úsplit)r   r.   Zout_textr   )r^   r   Úcomment_beginê   s
    
zTranslator.comment_beginc             C   s   |   |¡d S )z,Return commented version of the passed text.z.
)ra   )r   r.   r   r   r   Úcommentó   s    zTranslator.commentc             C   s0   t | jƒdkr,| jd d dkr,| j d¡ dS )z7Ensure the last line in body is terminated by new line.r   r    r&   N)r"   rM   r   )r   r   r   r   Ú
ensure_eol÷   s     zTranslator.ensure_eolc             C   s$  | j s|  ¡   xútt| jƒd ddƒD ]à}| j| dkr(| j|d  dd… dkr`d| j|< q(| j|d  dd	… d
kr | j|d  dd… dkr d| j|< q(| j|d  dkr(| j | j|d  ¡s(| j|d	  dd… dk sþ| j|d	  dd… dkr(d| j|< q(W d | j| j | j	 ¡S )z0Return the final formatted document as a string.r   r   r    z.sp
Né   )z.BI z.IP z.
é   z.B é   z.TP
r&   r   z.TP
.B z
.B r2   )
rY   Úappend_headerr+   r"   rM   Úpossibly_a_roff_commandÚmatchr*   rL   rN   )r   r0   r   r   r   r   ü   s    zTranslator.astextc             C   s   |  dd¡}|  dd¡}|S )Nõ   Â z\ u   â€ z\(dg)Úreplace)r   r.   r   r   r   Ú	deunicode  s    zTranslator.deunicodec             C   s|   |  ¡ }| dd¡}ddddg}x|D ]\}}| ||¡}q&W |  |¡}| d¡rZd| }| jrl| d	d
¡}| j |¡ d S )Nú\z\e)ú-z\-)ú'z\(aq)õ   Â´z\')ú`z\(gaÚ.z\&z
.z
\&.)r   rk   rl   Ú
startswithrX   rM   r   )r   Únoder.   Zreplace_pairsZin_charZ
out_markupr   r   r   Ú
visit_Text  s    

zTranslator.visit_Textc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_Text+  s    zTranslator.depart_Textc                s~   G ‡ fdd„dt ƒ}dˆ kr2| j |ˆ d ƒ¡ n| j |dƒ¡ t| jƒdkrf|  | jd  ¡ ¡ n|  | jd  ¡ ¡ d S )Nc                   s:   e Zd ZdddœZ‡ fdd„Zdd„ Zdd	„ Zd
d„ ZdS )z(Translator.list_start.<locals>.enum_charz\(buz\(em)ÚbulletÚemdashc                sÄ   || _ dˆ krˆ d d | _nd| _d| _|dkrdtttˆ jƒƒƒ| _|  jtt| jƒƒd 7  _n\|dkrŠ|  jtdƒd 7  _d| _n6|d	kr°|  jtd
ƒd 7  _d| _n| d¡rÀd| _d S )Nr$   r   r   rf   ÚarabicÚ
loweralphaÚare   Ú
upperalphaÚAÚromané   )Ú_styleÚ_cntr[   r"   ÚstrÚchildrenÚordr-   )r   Zstyle)rt   r   r   r   5  s     
z1Translator.list_start.<locals>.enum_char.__init__c             S   s¨   | j dkr| j| j  S | j dkr,| j| j  S |  jd7  _| j dkrNd| j S | j dkrbd| j S | j  d¡ršt | j¡d	 }| j  d
¡r’| ¡ S | ¡ S d| j S d S )Nrw   rx   r   ry   z%d.)rz   r|   z%c.r~   rr   Úupper)	r€   Ú
enum_styler   r-   r~   ZtoRomanrs   r…   Úlower)r   Zresr   r   r   Ú__next__J  s    





z1Translator.list_start.<locals>.enum_char.__next__c             S   s   | j S )N)r[   )r   r   r   r   Ú	get_width\  s    z2Translator.list_start.<locals>.enum_char.get_widthc             S   s   dt | jƒ S )Nzenum_style-%s)Úlistr€   )r   r   r   r   Ú__repr__^  s    z1Translator.list_start.<locals>.enum_char.__repr__N)r   r   r   r†   r   rˆ   r‰   r‹   r   )rt   r   r   Ú	enum_char/  s   rŒ   Zenumtyperw   r   éþÿÿÿr    )ÚobjectrR   r   r"   r<   r‰   )r   rt   rŒ   r   )rt   r   Ú
list_start.  s    2zTranslator.list_startc             C   s   |   ¡  | j ¡  d S )N)ÚdedentrR   Úpop)r   r   r   r   Úlist_endk  s    zTranslator.list_endc             C   s   d}|| j  S )Nzv.TH %(title_upper)s %(manual_section)s "%(date)s" "%(version)s" "%(manual_group)s"
.SH NAME
%(title)s \- %(subtitle)s
)rS   )r   Ztmplr   r   r   Úheadero  s    zTranslator.headerc             C   s0   | j r
dS | j |  ¡ ¡ | j t¡ d| _ dS )z#append header with .TH and .SH NAMENr   )rY   rL   r   r“   Ú	MACRO_DEF)r   r   r   r   rg   v  s
    zTranslator.append_headerc             C   s   |   |d¡ d S )NÚaddress)Úvisit_docinfo_item)r   rt   r   r   r   Úvisit_address€  s    zTranslator.visit_addressc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_addressƒ  s    zTranslator.depart_addressNc             C   s\   |rN| j  d¡ d| jd d | jj ||¡ ¡ | jd d f }| j  |¡ |  |¡ d S )Nz.sp
z%s%s:%s
rD   r   r   )rM   r   r\   rK   ÚlabelsÚgetr…   Úvisit_block_quote)r   rt   Únamer   r   r   Úvisit_admonition†  s    	zTranslator.visit_admonitionc             C   s   |   |¡ d S )N)Údepart_block_quote)r   rt   r   r   r   Údepart_admonitionš  s    zTranslator.depart_admonitionc             C   s   |   |d¡ d S )NZ	attention)r   )r   rt   r   r   r   Úvisit_attention  s    zTranslator.visit_attentionc             C   sB   |dkr| j |  | ¡ ¡ n| ¡ | j |< | j |¡ tj‚d S )Nr8   )rS   r   r   rT   r   ÚSkipNode)r   rt   rœ   r   r   r   r–   ¢  s
    zTranslator.visit_docinfo_itemc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_docinfo_itemª  s    zTranslator.depart_docinfo_itemc             C   s   |   |d¡ d S )Nr8   )r–   )r   rt   r   r   r   Úvisit_author­  s    zTranslator.visit_authorc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_authors²  s    zTranslator.visit_authorsc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_authors¶  s    zTranslator.depart_authorsc             C   s   |   t¡ |   d¡ d S )Nr   )r<   ÚBLOCKQOUTE_INDENT)r   rt   r   r   r   r›   ¹  s    
zTranslator.visit_block_quotec             C   s   |   ¡  |   ¡  d S )N)r   )r   rt   r   r   r   rž   ¿  s    zTranslator.depart_block_quotec             C   s   |   |¡ d S )N)r   )r   rt   r   r   r   Úvisit_bullet_listÃ  s    zTranslator.visit_bullet_listc             C   s   |   ¡  d S )N)r’   )r   rt   r   r   r   Údepart_bullet_listÆ  s    zTranslator.depart_bullet_listc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_captionÉ  s    zTranslator.visit_captionc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_captionÌ  s    zTranslator.depart_captionc             C   s   |   |d¡ d S )NZcaution)r   )r   rt   r   r   r   Úvisit_cautionÏ  s    zTranslator.visit_cautionc             C   s0   |  ¡  d d¡\}}| ¡ }| j d| ¡ d S )Nr   z.IP [%s] 5
)r   r`   ÚstriprM   r   )r   rt   Únumr.   r   r   r   Úvisit_citationÔ  s    zTranslator.visit_citationc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_citationÙ  s    zTranslator.depart_citationc             C   s"   | j  d| ¡  d ¡ tj‚d S )Nú[ú])rM   r   r   r   r¡   )r   rt   r   r   r   Úvisit_citation_referenceÜ  s    z#Translator.visit_citation_referencec             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_classifierà  s    zTranslator.visit_classifierc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_classifierã  s    zTranslator.depart_classifierc             C   s   | j  |¡ d S )N)rQ   r   )r   rt   r   r   r   Úvisit_colspecæ  s    zTranslator.visit_colspecc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_colspecé  s    zTranslator.depart_colspecc             C   s   | j  ddt| jƒ  ¡ d S )Nz%s.
zL )rM   r   r"   rQ   )r   r   r   r   Úwrite_colspecsì  s    zTranslator.write_colspecsz-(?=-)c             C   s    | j  |  | ¡ ¡¡ tj‚d S )N)rM   r   rb   r   r   r¡   )r   rt   Úsubr   r   r   Úvisit_commentï  s    zTranslator.visit_commentc             C   s   |   |d¡ d S )NZcontact)r–   )r   rt   r   r   r   Úvisit_contactô  s    zTranslator.visit_contactc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_containerù  s    zTranslator.visit_containerc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_containerü  s    zTranslator.depart_containerc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_compoundÿ  s    zTranslator.visit_compoundc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_compound  s    zTranslator.depart_compoundc             C   s   |   |d¡ d S )Nr:   )r–   )r   rt   r   r   r   Úvisit_copyright  s    zTranslator.visit_copyrightc             C   s   |   |d¡ d S )NZdanger)r   )r   rt   r   r   r   Úvisit_danger  s    zTranslator.visit_dangerc             C   s   |   |d¡ d S )Nr9   )r–   )r   rt   r   r   r   Ú
visit_date  s    zTranslator.visit_datec             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_decoration  s    zTranslator.visit_decorationc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_decoration  s    zTranslator.depart_decorationc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_definition  s    zTranslator.visit_definitionc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_definition  s    zTranslator.depart_definitionc             C   s   |   t¡ d S )N)r<   ÚDEFINITION_LIST_INDENT)r   rt   r   r   r   Úvisit_definition_list  s    z Translator.visit_definition_listc             C   s   |   ¡  d S )N)r   )r   rt   r   r   r   Údepart_definition_list  s    z!Translator.depart_definition_listc             C   s   | j  | jd d ¡ d S )Nr=   r   )rM   r   r\   )r   rt   r   r   r   Úvisit_definition_list_item"  s    z%Translator.visit_definition_list_itemc             C   s   | j  | jd d ¡ d S )Nr=   r   )rM   r   r\   )r   rt   r   r   r   Údepart_definition_list_item%  s    z&Translator.depart_definition_list_itemc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_description(  s    zTranslator.visit_descriptionc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_description+  s    zTranslator.depart_descriptionc             C   s
   d| _ d S )Nr   )rV   )r   rt   r   r   r   Úvisit_docinfo.  s    zTranslator.visit_docinfoc             C   s   d | _ |  ¡  d S )N)rV   rg   )r   rt   r   r   r   Údepart_docinfo1  s    zTranslator.depart_docinfoc             C   s    | j  | jd d ¡ d| _d S )Nr@   r   T)rM   r   r\   rX   )r   rt   r   r   r   Úvisit_doctest_block6  s    zTranslator.visit_doctest_blockc             C   s    d| _ | j | jd d ¡ d S )NFr@   r   )rX   rM   r   r\   )r   rt   r   r   r   Údepart_doctest_block:  s    zTranslator.depart_doctest_blockc             C   s&   | j  |  | j¡ ¡ d ¡ d| _d S )Nr&   r   )rL   r   rb   Údocument_startÚrstriprY   )r   rt   r   r   r   Úvisit_document>  s    zTranslator.visit_documentc             C   s"  | j d r&| j dd | j d ¡ ¡ d}x¾| jD ]´}|dkrž| j d| jj ||¡| jd d d | jd d t	 | j | | jd d	 | jd d	 f ¡ q2||kr2|| j
kr¼| j
| }n| jj ||¡}| j d
|| j | f ¡ q2W | j d r| j d| j d  ¡ | j |  d¡¡ d S )Nr8   z.SH AUTHOR
%s
z, )	r8   r:   r9   r7   r6   r5   r3   r4   r;   r•   z
%s:
%s%s.nf
%s
.fi
%s%sr<   r   r   z
%s: %s
r:   z.SH COPYRIGHT
%s
z%Generated by docutils manpage writer.)rS   rM   r   r*   rT   rK   r™   rš   r\   r¦   rU   rb   )r   rt   Úskiprœ   Úlabelr   r   r   Údepart_documentD  s.    


zTranslator.depart_documentc             C   s   | j  | jd d ¡ d S )NrC   r   )rM   r   r\   )r   rt   r   r   r   Úvisit_emphasisa  s    zTranslator.visit_emphasisc             C   s   | j  | jd d ¡ d S )NrC   r   )rM   r   r\   )r   rt   r   r   r   Údepart_emphasisd  s    zTranslator.depart_emphasisc             C   sJ   d|kr| j jjd|d d|kr4| j jjd|d | j t| jƒ¡ d S )NZmorerowsz""table row spanning" not supported)Ú	base_nodeZmorecolsz#"table cell spanning" not supported)r   rJ   ÚwarningrP   r   r"   rM   )r   rt   r   r   r   Úvisit_entryg  s    

zTranslator.visit_entryc             C   s0   | j  ¡ }| j | j|d … ¡ | j|d …= d S )N)rP   r‘   rW   r%   rM   )r   rt   r$   r   r   r   Údepart_entryq  s    
zTranslator.depart_entryc             C   s   |   |¡ d S )N)r   )r   rt   r   r   r   Úvisit_enumerated_listv  s    z Translator.visit_enumerated_listc             C   s   |   ¡  d S )N)r’   )r   rt   r   r   r   Údepart_enumerated_listy  s    z!Translator.depart_enumerated_listc             C   s   |   |d¡ d S )NÚerror)r   )r   rt   r   r   r   Úvisit_error|  s    zTranslator.visit_errorc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_field  s    zTranslator.visit_fieldc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_field„  s    zTranslator.depart_fieldc             C   s:   | j r6| j ¡  dd¡}| j| j|< |  ||¡ tj‚d S )Nr(   Ú_)rV   Ú_field_namer‡   rk   rU   r–   r   r¡   )r   rt   Zname_normalizedr   r   r   Úvisit_field_body‡  s
    zTranslator.visit_field_bodyc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_field_bodyŽ  s    zTranslator.depart_field_bodyc             C   s   |   t¡ d S )N)r<   ÚFIELD_LIST_INDENT)r   rt   r   r   r   Úvisit_field_list‘  s    zTranslator.visit_field_listc             C   s   |   ¡  d S )N)r   )r   rt   r   r   r   Údepart_field_list”  s    zTranslator.depart_field_listc             C   s2   | j r| ¡ | _tj‚n| j | jd d ¡ d S )Nr>   r   )rV   r   rä   r   r¡   rM   r   r\   )r   rt   r   r   r   Úvisit_field_name—  s    
zTranslator.visit_field_namec             C   s   | j  | jd d ¡ d S )Nr>   r   )rM   r   r\   )r   rt   r   r   r   Údepart_field_namež  s    zTranslator.depart_field_namec             C   s   |   d¡ |   d¡ d S )Ng      @r   )r<   )r   rt   r   r   r   Úvisit_figure¡  s    
zTranslator.visit_figurec             C   s   |   ¡  |   ¡  d S )N)r   )r   rt   r   r   r   Údepart_figure¥  s    zTranslator.depart_figurec             C   s   | j jjd|d d S )Nz"footer" not supported)rÙ   )r   rJ   rÚ   )r   rt   r   r   r   Úvisit_footer©  s    
zTranslator.visit_footerc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_footer­  s    zTranslator.depart_footerc             C   s6   |  ¡  d d¡\}}| ¡ }| j d|  |¡ ¡ d S )Nr   z.IP [%s] 5
)r   r`   r¬   rM   r   rl   )r   rt   r­   r.   r   r   r   Úvisit_footnote°  s    zTranslator.visit_footnotec             C   s   d S )Nr   )r   rt   r   r   r   Údepart_footnoteµ  s    zTranslator.depart_footnotec             C   s   | j jjd|d d S )Nz!"footnote_backrefs" not supported)rÙ   )r   rJ   rÚ   )r   rt   r   r   r   Úfootnote_backrefs¸  s    
zTranslator.footnote_backrefsc             C   s(   | j  d|  | ¡ ¡ d ¡ tj‚d S )Nr°   r±   )rM   r   rl   r   r   r¡   )r   rt   r   r   r   Úvisit_footnote_reference¼  s    z#Translator.visit_footnote_referencec             C   s   d S )Nr   )r   rt   r   r   r   Údepart_footnote_referenceÀ  s    z$Translator.depart_footnote_referencec             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_generatedÃ  s    zTranslator.visit_generatedc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_generatedÆ  s    zTranslator.depart_generatedc             C   s   t | ¡ ƒ‚d S )N)ÚNotImplementedErrorr   )r   rt   r   r   r   Úvisit_headerÉ  s    zTranslator.visit_headerc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_headerÌ  s    zTranslator.depart_headerc             C   s   |   |d¡ d S )NZhint)r   )r   rt   r   r   r   Ú
visit_hintÏ  s    zTranslator.visit_hintc             C   s   | j  d¡ d S )Nz\s-2\d)rM   r   )r   rt   r   r   r   Úvisit_subscriptÔ  s    zTranslator.visit_subscriptc             C   s   | j  d¡ d S )Nz\u\s0)rM   r   )r   rt   r   r   r   Údepart_subscript×  s    zTranslator.depart_subscriptc             C   s   | j  d¡ d S )Nz\s-2\u)rM   r   )r   rt   r   r   r   Úvisit_superscriptÚ  s    zTranslator.visit_superscriptc             C   s   | j  d¡ d S )Nz\d\s0)rM   r   )r   rt   r   r   r   Údepart_superscriptÝ  s    zTranslator.depart_superscriptc             C   s   | j  d¡ d S )Nz\(em )rM   r   )r   rt   r   r   r   Úvisit_attributionà  s    zTranslator.visit_attributionc             C   s   | j  d¡ d S )Nr&   )rM   r   )r   rt   r   r   r   Údepart_attributionã  s    zTranslator.depart_attributionc             C   sj   | j jjd|d g }d|jkr0| |jd ¡ d|jkrJ| |jd ¡ | j dd |¡ ¡ tj‚d S )Nz"image" not supported)rÙ   ZaltZuriz[image: %s]
ú/)	r   rJ   rÚ   Z
attributesr   rM   r*   r   r¡   )r   rt   r.   r   r   r   Úvisit_imageæ  s    


zTranslator.visit_imagec             C   s   |   |d¡ d S )NZ	important)r   )r   rt   r   r   r   Úvisit_importantñ  s    zTranslator.visit_importantc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_inlineö  s    zTranslator.visit_inlinec             C   s   d S )Nr   )r   rt   r   r   r   Údepart_inlineù  s    zTranslator.depart_inlinec             C   sD   t |jtjƒst |jtjƒr"tj‚| jjjd|d | j	 
d¡ d S )Nz"unsupported "label")rÙ   r°   )Ú
isinstanceÚparentr   ZfootnoteZcitationr¡   r   rJ   rÚ   rM   r   )r   rt   r   r   r   Úvisit_labelü  s    
zTranslator.visit_labelc             C   s   | j  d¡ d S )Nz]
)rM   r   )r   rt   r   r   r   Údepart_label  s    zTranslator.depart_labelc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_legend  s    zTranslator.visit_legendc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_legend  s    zTranslator.depart_legendc             C   s6   |  j d7  _ | j dkr&| j d¡ n| j d¡ d S )Nr   z.nf
z.in +2
)rZ   rM   r   )r   rt   r   r   r   Úvisit_line_block  s    
zTranslator.visit_line_blockc             C   sB   |  j d8  _ | j dkr2| j d¡ | j d¡ n| j d¡ d S )Nr   r   z.fi
z.sp
z.in -2
)rZ   rM   r   )r   rt   r   r   r   Údepart_line_block  s
    
zTranslator.depart_line_blockc             C   s   d S )Nr   )r   rt   r   r   r   Ú
visit_line"  s    zTranslator.visit_linec             C   s   | j  d¡ d S )Nr&   )rM   r   )r   rt   r   r   r   Údepart_line%  s    zTranslator.depart_linec             C   s,   | j  dt| jd ƒ| jd  ¡ f ¡ d S )Nz
.IP %s %d
r    )rM   r   ÚnextrR   r‰   )r   rt   r   r   r   Úvisit_list_item(  s    zTranslator.visit_list_itemc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_list_item.  s    zTranslator.depart_list_itemc             C   s   | j  | jd d ¡ d S )Nr?   r   )rM   r   r\   )r   rt   r   r   r   Úvisit_literal1  s    zTranslator.visit_literalc             C   s   | j  | jd d ¡ d S )Nr?   r   )rM   r   r\   )r   rt   r   r   r   Údepart_literal4  s    zTranslator.depart_literalc             C   s4   |   t¡ |   d¡ | j | jd d ¡ d| _d S )Nr   r@   T)r<   ÚLITERAL_BLOCK_INDENTrM   r   r\   rX   )r   rt   r   r   r   Úvisit_literal_block7  s    

zTranslator.visit_literal_blockc             C   s0   d| _ | j | jd d ¡ |  ¡  |  ¡  d S )NFr@   r   )rX   rM   r   r\   r   )r   rt   r   r   r   Údepart_literal_block?  s    zTranslator.depart_literal_blockc             C   s    | j jjd|d |  |¡ d S )Nz"math" role not supported)rÙ   )r   rJ   rÚ   r  )r   rt   r   r   r   Ú
visit_mathE  s    
zTranslator.visit_mathc             C   s   |   |¡ d S )N)r  )r   rt   r   r   r   Údepart_mathJ  s    zTranslator.depart_mathc             C   s    | j jjd|d |  |¡ d S )Nz"math" directive not supported)rÙ   )r   rJ   rÚ   r  )r   rt   r   r   r   Úvisit_math_blockM  s    
zTranslator.visit_math_blockc             C   s   |   |¡ d S )N)r  )r   rt   r   r   r   Údepart_math_blockR  s    zTranslator.depart_math_blockc             C   s   t | ¡ ƒ‚d S )N)r÷   r   )r   rt   r   r   r   Ú
visit_metaU  s    zTranslator.visit_metac             C   s   d S )Nr   )r   rt   r   r   r   Údepart_metaX  s    zTranslator.depart_metac             C   s   |   |d¡ d S )NZnote)r   )r   rt   r   r   r   Ú
visit_note[  s    zTranslator.visit_noteç      à?c             C   s4   | j d }| j  |¡ | j | jd d | ¡ d S )Nr    r<   r   )r[   r   rM   r\   )r   ZbyÚstepr   r   r   r<   `  s    
zTranslator.indentc             C   s$   | j  ¡  | j | jd d ¡ d S )Nr<   r   )r[   r‘   rM   r   r\   )r   r   r   r   r   f  s    
zTranslator.dedentc             C   s   |   t¡ d S )N)r<   ÚOPTION_LIST_INDENT)r   rt   r   r   r   Úvisit_option_listj  s    zTranslator.visit_option_listc             C   s   |   ¡  d S )N)r   )r   rt   r   r   r   Údepart_option_listm  s    zTranslator.depart_option_listc             C   s   | j  | jd d ¡ d S )NrA   r   )rM   r   r\   )r   rt   r   r   r   Úvisit_option_list_itemp  s    z!Translator.visit_option_list_itemc             C   s   | j  | jd d ¡ d S )NrA   r   )rM   r   r\   )r   rt   r   r   r   Údepart_option_list_itemt  s    z"Translator.depart_option_list_itemc             C   s.   | j  d¡ | j  t| jƒ¡ | j  d¡ d S )Nz.Br   )rP   r   r"   rM   )r   rt   r   r   r   Úvisit_option_groupw  s    zTranslator.visit_option_groupc             C   sR   | j  ¡  | j  ¡ }| j|d … }| j|d …= | j d| j  ¡ d |¡f ¡ d S )Nz%s%s
r2   )rP   r‘   rM   r   r*   )r   rt   Zstart_positionr.   r   r   r   Údepart_option_group  s
    

zTranslator.depart_option_groupc             C   sD   | j d dkr| j d¡ | j d dkr4| j d¡ | j d¡ d S )Nr    r   z\fP,\fB éýÿÿÿz.BIrm   r(   )rP   rM   r   )r   rt   r   r   r   Úvisit_optionˆ  s
    zTranslator.visit_optionc             C   s   | j d  d7  < d S )Nr    r   )rP   )r   rt   r   r   r   Údepart_option  s    zTranslator.depart_optionc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_option_string“  s    zTranslator.visit_option_stringc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_option_string—  s    zTranslator.depart_option_stringc             C   sd   d| j d< |d dkr,| j d|d  ¡ n4| jt| jƒd   d¡rT| j d¡ n| j d¡ d S )	Nz.BIr(  Z	delimiterr(   z\fB%s r   ú=z \ )rP   rM   r   r"   r-   )r   rt   r   r   r   Úvisit_option_argumentš  s    
z Translator.visit_option_argumentc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_option_argument¥  s    z!Translator.depart_option_argumentc             C   s   |   |d¡ d S )NZorganization)r–   )r   rt   r   r   r   Úvisit_organization¨  s    zTranslator.visit_organizationc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_organization«  s    zTranslator.depart_organizationc             C   sL   t |jd tjƒ}x4|jj|d … D ] }t |tjƒr6q$||krBdS P q$W dS )Nr   r   )r  r  r   rÕ   rƒ   Z	Invisible)r   rt   ÚfirstZchildr   r   r   Úfirst_child®  s    zTranslator.first_childc             C   s"   |   ¡  |  |¡s| j d¡ d S )Nz.sp
)rc   r3  rM   r   )r   rt   r   r   r   Úvisit_paragraph¸  s    
zTranslator.visit_paragraphc             C   s   | j  d¡ d S )Nr&   )rM   r   )r   rt   r   r   r   Údepart_paragraphÂ  s    zTranslator.depart_paragraphc             C   s   | j  | jd d ¡ d S )NrG   r   )rM   r   r\   )r   rt   r   r   r   Úvisit_problematicÅ  s    zTranslator.visit_problematicc             C   s   | j  | jd d ¡ d S )NrG   r   )rM   r   r\   )r   rt   r   r   r   Údepart_problematicÈ  s    zTranslator.depart_problematicc             C   s,   |  d¡dkr"| j | ¡ d ¡ tj‚d S )NÚformatr   r&   )rš   rM   r   r   r   r¡   )r   rt   r   r   r   Ú	visit_rawË  s    zTranslator.visit_rawc             C   s   | j  | jd d ¡ dS )zE.g. link or email address.rB   r   N)rM   r   r\   )r   rt   r   r   r   Úvisit_referenceÑ  s    zTranslator.visit_referencec             C   s   | j  | jd d ¡ d S )NrB   r   )rM   r   r\   )r   rt   r   r   r   Údepart_referenceÕ  s    zTranslator.depart_referencec             C   s   |   |d¡ d S )NZrevision)r–   )r   rt   r   r   r   Úvisit_revisionØ  s    zTranslator.visit_revisionc             C   s   | j  ¡  d S )N)rW   r   )r   rt   r   r   r   Ú	visit_rowÝ  s    zTranslator.visit_rowc             C   s   d S )Nr   )r   rt   r   r   r   Ú
depart_rowà  s    zTranslator.depart_rowc             C   s   |  j d7  _ d S )Nr   )rO   )r   rt   r   r   r   Úvisit_sectionã  s    zTranslator.visit_sectionc             C   s   |  j d8  _ d S )Nr   )rO   )r   rt   r   r   r   Údepart_sectionæ  s    zTranslator.depart_sectionc             C   s   |   |d¡ d S )NZstatus)r–   )r   rt   r   r   r   Úvisit_statusé  s    zTranslator.visit_statusc             C   s   | j  | jd d ¡ d S )NrD   r   )rM   r   r\   )r   rt   r   r   r   Úvisit_strongî  s    zTranslator.visit_strongc             C   s   | j  | jd d ¡ d S )NrD   r   )rM   r   r\   )r   rt   r   r   r   Údepart_strongñ  s    zTranslator.depart_strongc             C   s
   t j‚dS )zInternal only.N)r   r¡   )r   rt   r   r   r   Úvisit_substitution_definitionô  s    z(Translator.visit_substitution_definitionc             C   s   | j jjd|d d S )Nz&"substitution_reference" not supported)rÙ   )r   rJ   rÚ   )r   rt   r   r   r   Úvisit_substitution_referenceø  s    
z'Translator.visit_substitution_referencec             C   sj   t |jtjƒr&| j | jd d ¡ n@t |jtjƒrB|  |d¡ n$t |jtj	ƒrf| j | jd d ¡ d S )NrD   r   r5   )
r  r  r   ÚsidebarrM   r   r\   r   r–   Zsection)r   rt   r   r   r   Úvisit_subtitleü  s    zTranslator.visit_subtitlec             C   s   | j  | jd d d ¡ d S )NrD   r   z
.PP
)rM   r   r\   )r   rt   r   r   r   Údepart_subtitle  s    zTranslator.depart_subtitlec             C   sb   i }d}|  d¡r|d |d< |  d¡r6d|d  }nd}| j d|d |d |d	 |f ¡ d S )
Nr2   Úidrœ   Úlinez	, line %sz$.IP "System Message: %s/%s (%s:%s)"
ÚtypeÚlevelÚsource)ÚhasattrrM   r   )r   rt   ÚattrZbackref_textrJ  r   r   r   Úvisit_system_message  s    

zTranslator.visit_system_messagec             C   s   d S )Nr   )r   rt   r   r   r   Údepart_system_message  s    z Translator.depart_system_messagec             C   s   t ƒ | _d S )N)r   rW   )r   rt   r   r   r   Úvisit_table  s    zTranslator.visit_tablec             C   s$   |   ¡  | j | j ¡ ¡ d | _d S )N)rc   rM   r,   rW   r1   )r   rt   r   r   r   Údepart_table  s    zTranslator.depart_tablec             C   s
   t j‚d S )N)r   r¡   )r   rt   r   r   r   Úvisit_target#  s    zTranslator.visit_targetc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_tbody'  s    zTranslator.visit_tbodyc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_tbody*  s    zTranslator.depart_tbodyc             C   s   | j  | jd d ¡ d S )NrE   r   )rM   r   r\   )r   rt   r   r   r   Ú
visit_term-  s    zTranslator.visit_termc             C   s   | j  | jd d ¡ d S )NrE   r   )rM   r   r\   )r   rt   r   r   r   Údepart_term0  s    zTranslator.depart_termc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_tgroup3  s    zTranslator.visit_tgroupc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_tgroup6  s    zTranslator.depart_tgroupc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_thead9  s    zTranslator.visit_theadc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_thead=  s    zTranslator.depart_theadc             C   s   |   |d¡ d S )NZtip)r   )r   rt   r   r   r   Ú	visit_tipA  s    zTranslator.visit_tipc             C   sÚ   t |jtjƒr&| j | jd d ¡ n°t |jtjƒrL| j | jd d ¡ nŠt |jtjƒrh| j d¡ nn| j	dkrš| 
¡ | jd< | 
¡  ¡ | jd< tj‚n<| j	dkrÊ| j d|  | 
¡  ¡ ¡ ¡ tj‚n| j d	¡ d S )
Nztopic-titler   zsidebar-titlez.IP "r3   r4   r   z.SH %s
z.SS )r  r  r   ZtopicrM   r   r\   rF  Ú
admonitionrO   r   rS   r…   r¡   rl   )r   rt   r   r   r   Úvisit_titleF  s    

zTranslator.visit_titlec             C   s*   t |jtjƒr| j d¡ | j d¡ d S )Nú"r&   )r  r  r   r^  rM   r   )r   rt   r   r   r   Údepart_titleX  s    zTranslator.depart_titlec             C   s   | j  | jd d ¡ dS )zinline citation referencerF   r   N)rM   r   r\   )r   rt   r   r   r   Úvisit_title_reference]  s    z Translator.visit_title_referencec             C   s   | j  | jd d ¡ d S )NrF   r   )rM   r   r\   )r   rt   r   r   r   Údepart_title_referencea  s    z!Translator.depart_title_referencec             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_topicd  s    zTranslator.visit_topicc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_topicg  s    zTranslator.depart_topicc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_sidebarj  s    zTranslator.visit_sidebarc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_sidebarm  s    zTranslator.depart_sidebarc             C   s   d S )Nr   )r   rt   r   r   r   Úvisit_rubricp  s    zTranslator.visit_rubricc             C   s   d S )Nr   )r   rt   r   r   r   Údepart_rubrics  s    zTranslator.depart_rubricc             C   s   | j  d¡ d S )Nz
.sp
.ce
----
)rM   r   )r   rt   r   r   r   Úvisit_transitionv  s    zTranslator.visit_transitionc             C   s   | j  d¡ d S )Nz
.ce 0
.sp
)rM   r   )r   rt   r   r   r   Údepart_transition|  s    zTranslator.depart_transitionc             C   s   |   |d¡ d S )Nr;   )r–   )r   rt   r   r   r   Úvisit_version  s    zTranslator.visit_versionc             C   s   |   |d¡ d S )NrÚ   )r   )r   rt   r   r   r   Úvisit_warning‚  s    zTranslator.visit_warningc             C   s   t d|jj ƒ‚d S )Nz$visiting unimplemented node type: %s)r÷   Ú	__class__r   )r   rt   r   r   r   Úunimplemented_visit‡  s    zTranslator.unimplemented_visit)N)r  )Òr   r   r   Ú__doc__ÚreÚcompileZwords_and_spacesrh   rÑ   r   ra   rb   rc   r   rl   ru   rv   r   r’   r“   rg   r—   r˜   r   rŸ   r    Zdepart_attentionr–   r¢   r£   Zdepart_authorr¤   r¥   r›   rž   r§   r¨   r©   rª   r«   Zdepart_cautionr®   r¯   r²   r³   r´   rµ   r¶   r·   r¸   r¹   rº   Zdepart_contactr»   r¼   r½   r¾   r¿   rÀ   Zdepart_dangerrÁ   rÂ   rÃ   rÄ   rÅ   rÇ   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÐ   rÓ   rÖ   r×   rØ   rÛ   rÜ   rÝ   rÞ   rà   Zdepart_errorrá   râ   rå   ræ   rè   ré   rê   rë   rì   rí   rî   rï   rð   rñ   rò   ró   rô   rõ   rö   rø   rù   rú   Zdepart_hintrû   rü   rý   rþ   rÿ   r   r  r  Zdepart_importantr  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  Zdepart_noter<   r   r"  r#  r$  r%  r&  r'  r)  r*  r+  r,  r.  r/  r0  r1  r3  r4  r5  r6  r7  r9  r:  r;  r<  Zdepart_revisionr=  r>  r?  r@  rA  Zdepart_statusrB  rC  rD  rE  rG  rH  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  Z
depart_tipr_  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  Zdepart_warningro  r   r   r   r   r	   ž   s˜  

E	=

	


r	   )rp  Z__docformat__rq  Zdocutilsr   r   r   r~   ÚImportErrorZdocutils.utils.romanZutilsrç   rÆ   r!  r¦   r  r”   r   rŽ   r   rH   r	   r   r   r   r   Ú<module>+   s"   /