
    -Ph<                    >   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z
 ddlmZ ddlmZ ddlmZmZ 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 ddlmZ ddlmZ ddlmZ  ej         e!          Z" G d de          Z# G d d          Z$ G d dee
          Z%dS )z5Manual page writer, extended for Sphinx custom nodes.    )annotations)TYPE_CHECKINGcast)nodes)
Translator)Writer)addnodes)_admonitionlabels)logging)SphinxTranslator)format_date)NodeMatcher)Iterable)Any)Element)Builderc                  (     e Zd Zd fdZddZ xZS )	ManualPageWriterbuilderr   returnNonec                V    t                                                       || _        d S N)super__init__r   )selfr   	__class__s     V/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/writers/manpage.pyr   zManualPageWriter.__init__   s$        c                :   t          | j                  }|                                 | j                            | j        | j                  }t          d|          | _        | j                            |           | j                                        | _	        d S )NManualPageTranslator)
NestedInlineTransformdocumentapplyr   create_translatorr   visitor	walkaboutastextoutput)r   	transformr'   s      r   	translatezManualPageWriter.translate"   s}    )$-88	,00MM2G<<(((l))++r    )r   r   r   r   )r   r   )__name__
__module____qualname__r   r,   __classcell__r   s   @r   r   r      sQ             , , , , , , , ,r    r   c                  "    e Zd ZdZddZdd	Zd
S )r#   zFlatten nested inline nodes:

    Before:
        <strong>foo=<emphasis>1</emphasis>
        &bar=<emphasis>2</emphasis></strong>
    After:
        <strong>foo=</strong><emphasis>var</emphasis>
        <strong>&bar=</strong><emphasis>2</emphasis>
    r$   nodes.documentr   r   c                    || _         d S r   )r$   )r   r$   s     r   r   zNestedInlineTransform.__init__6   s     r    kwargsr   c                   t          t          j        t          j        t          j                  t                              | j                            D ]}t          fd|D                       r|j	        
                    |          }t          t          |                    D ]t}|                    |            |          r|j	                            |dz   |           A |j        dd|fi |j        }|j	                            |dz   |           ut!          |          s|j	                            |           d S )Nc              3  .   K   | ]} |          V  d S r    ).0subnodematchers     r   	<genexpr>z.NestedInlineTransform.apply.<locals>.<genexpr><   s-      88777##888888r        )r   r   literalemphasisstronglistfindallr$   anyparentindexreversedremoveinsertr   
attributeslen)r   r5   nodeposr:   newnoder;   s         @r   r%   zNestedInlineTransform.apply9   sF   emU^U\JJ7788 	- 	-D8888488888 -k''--'T

33 = =GKK(((ww'' =**37G<<<<"0$.R"T"TDO"T"T**37G<<<<4yy -K&&t,,,	- 	-r    N)r$   r3   r   r   )r5   r   r   r   )r-   r.   r/   __doc__r   r%   r8   r    r   r#   r#   +   sF         ! ! ! !- - - - - -r    r#   c                      e Zd ZU dZi Zded<   de fd
ZdfdZdgdZdgdZ	dgdZ
dgdZdgdZdgdZdgdZdgdZdgdZdgdZdgdZdgdZdgdZdgdZdgdZdgdZdgdZdgd Zdgd!Zdgd"Zdgd#Zdgd$Zdgd%Zdgd&Zdgd'Z dgd(Z!dgd)Z"dgd*Z#dgd+Z$dgd,Z%dgd-Z&dgd.Z'dgd/Z(dgd0Z)dg fd1Z*dgd2Z+dg fd3Z,dgd4Z-dgd5Z.dgd6Z/dgd7Z0dgd8Z1dgd9Z2dgd:Z3dgd;Z4dgd<Z5dgd=Z6dgd>Z7dgd?Z8dgd@Z9dgdAZ:dgdBZ;dgdCZ<dgdDZ=dgdEZ>dgdFZ?dgdGZ@dgdHZAdgdIZBdgdJZCdgdKZDdgdLZEdgdMZFdgdNZGdgdOZHdgdPZIdgdQZJdgdRZKdgdSZLdgdTZMdgdUZNdgdVZOdg fdWZPdg fdXZQdg fdYZRdg fdZZSdgd[ZTdgd\ZUdgd]ZVdgd^ZWdhd`ZXdhdaZYdidcZZdiddZ[ xZ\S )jr"   zCustom man page translator.zdict[str, Any]_docinfor$   r3   r   r   r   r   c                   t                                          ||           d| _        | j        j        | j        d<   | j        j        | j        d<   | j        j        r| j        j        | j        d<   | j        j        | j        d<   | j        d         	                                | j        d<   | j
        j        r| j
        j        | j        d<   n>| j
        j        pt          d          }t          || j
        j        	          | j        d<   | j
        j        | j        d
<   | j
        j        | j        d<   | j
        j        | j        d<   t'          j                    D ]'\  }}|                     |          | j        j        |<   (d S )Ntitlesubtitleauthormanual_sectiontitle_upperdatez	%b %d, %Y)language	copyrightversionmanual_group)r   r   section_levelsettingsrT   rQ   rU   authorssectionupperconfigtoday	today_fmtr
   r   rZ   r[   r\   projectr   items	deunicodelabels)r   r$   r   re   labeltranslationr   s         r   r   zManualPageTranslator.__init__O   sw   7+++   "&!4g$(M$:j!=  	<&*m&;DM(#*.-*?&' (,}W'='C'C'E'Em$; 	$(K$5DM&!!-?;I$/DK$8% % %DM&! &*[%:k"#';#6i (,(;n% #3"8":": 	F 	FE;*...*E*EDM ''	F 	Fr    strc                >    d}| j         d         r|dz  }|| j         z  S )NzW.TH "%(title_upper)s" "%(manual_section)s" "%(date)s" "%(version)s" "%(manual_group)s"
rU   z#.SH NAME
%(title)s \- %(subtitle)s
)rQ   )r   tmpls     r   headerzManualPageTranslator.headero   s5    = 	 =$ 	=<<Ddm##r    rL   r   c                    d S r   r8   r   rL   s     r   visit_start_of_filez(ManualPageTranslator.visit_start_of_filex       r    c                    d S r   r8   rq   s     r   depart_start_of_filez)ManualPageTranslator.depart_start_of_file{   rs   r    c                0    |                      |           d S r   )visit_definition_listrq   s     r   
visit_desczManualPageTranslator.visit_desc       ""4(((((r    c                0    |                      |           d S r   )depart_definition_listrq   s     r   depart_descz ManualPageTranslator.depart_desc   s    ##D)))))r    c                Z    |                      |           |                     |           d S r   )visit_definition_list_item
visit_termrq   s     r   visit_desc_signaturez)ManualPageTranslator.visit_desc_signature   s.    ''---r    c                0    |                      |           d S r   )depart_termrq   s     r   depart_desc_signaturez*ManualPageTranslator.depart_desc_signature   s    r    c                    d S r   r8   rq   s     r   visit_desc_signature_linez.ManualPageTranslator.visit_desc_signature_line   rs   r    c                :    | j                             d           d S )N bodyappendrq   s     r   depart_desc_signature_linez/ManualPageTranslator.depart_desc_signature_line       	r    c                0    |                      |           d S r   )visit_definitionrq   s     r   visit_desc_contentz'ManualPageTranslator.visit_desc_content       d#####r    c                0    |                      |           d S r   )depart_definitionrq   s     r   depart_desc_contentz(ManualPageTranslator.depart_desc_content       t$$$$$r    c                    d S r   r8   rq   s     r   visit_desc_inlinez&ManualPageTranslator.visit_desc_inline   rs   r    c                    d S r   r8   rq   s     r   depart_desc_inlinez'ManualPageTranslator.depart_desc_inline   rs   r    c                    d S r   r8   rq   s     r   visit_desc_namez$ManualPageTranslator.visit_desc_name   rs   r    c                    d S r   r8   rq   s     r   depart_desc_namez%ManualPageTranslator.depart_desc_name   rs   r    c                    d S r   r8   rq   s     r   visit_desc_addnamez'ManualPageTranslator.visit_desc_addname   rs   r    c                    d S r   r8   rq   s     r   depart_desc_addnamez(ManualPageTranslator.depart_desc_addname   rs   r    c                    d S r   r8   rq   s     r   visit_desc_typez$ManualPageTranslator.visit_desc_type   rs   r    c                    d S r   r8   rq   s     r   depart_desc_typez%ManualPageTranslator.depart_desc_type   rs   r    c                :    | j                             d           d S )Nz -> r   rq   s     r   visit_desc_returnsz'ManualPageTranslator.visit_desc_returns   s    	     r    c                    d S r   r8   rq   s     r   depart_desc_returnsz(ManualPageTranslator.depart_desc_returns   rs   r    c                H    | j                             d           d| _        d S )N(r=   r   r   first_paramrq   s     r   visit_desc_parameterlistz-ManualPageTranslator.visit_desc_parameterlist   &    	r    c                :    | j                             d           d S )N)r   rq   s     r   depart_desc_parameterlistz.ManualPageTranslator.depart_desc_parameterlist   r   r    c                H    | j                             d           d| _        d S )N[r=   r   rq   s     r   visit_desc_type_parameter_listz3ManualPageTranslator.visit_desc_type_parameter_list   r   r    c                :    | j                             d           d S N]r   rq   s     r   depart_desc_type_parameter_listz4ManualPageTranslator.depart_desc_type_parameter_list   r   r    c                Z    | j         s| j                            d           d S d| _         d S )N, r   )r   r   r   rq   s     r   visit_desc_parameterz)ManualPageTranslator.visit_desc_parameter   s7     	!IT""""" Dr    c                    d S r   r8   rq   s     r   depart_desc_parameterz*ManualPageTranslator.depart_desc_parameter   rs   r    c                0    |                      |           d S r   )r   rq   s     r   visit_desc_type_parameterz.ManualPageTranslator.visit_desc_type_parameter   s    !!$'''''r    c                0    |                      |           d S r   )r   rq   s     r   depart_desc_type_parameterz/ManualPageTranslator.depart_desc_type_parameter   ry   r    c                :    | j                             d           d S )Nr   r   rq   s     r   visit_desc_optionalz(ManualPageTranslator.visit_desc_optional   r   r    c                :    | j                             d           d S r   r   rq   s     r   depart_desc_optionalz)ManualPageTranslator.depart_desc_optional   r   r    c                    d S r   r8   rq   s     r   visit_desc_annotationz*ManualPageTranslator.visit_desc_annotation   rs   r    c                    d S r   r8   rq   s     r   depart_desc_annotationz+ManualPageTranslator.depart_desc_annotation   rs   r    c                0    |                      |           d S r   )visit_paragraphrq   s     r   visit_versionmodifiedz*ManualPageTranslator.visit_versionmodified       T"""""r    c                0    |                      |           d S r   )depart_paragraphrq   s     r   depart_versionmodifiedz+ManualPageTranslator.depart_versionmodified   r   r    c                    t          |                    t          j                            r| j                            d           d S t                                          |           d S N
)rD   rC   r   rA   r   r   r   r   r   rL   r   s     r   r   zManualPageTranslator.visit_term   s[    t||EL))** 	%IT"""""GGt$$$$$r    c                    t           j        r   r   SkipNoderq   s     r   visit_commentz"ManualPageTranslator.visit_comment   
    nr    c                r    |                                   t                                          |           d S r   )
ensure_eolr   visit_footnoter   s     r   r   z#ManualPageTranslator.visit_footnote   s1    t$$$$$r    c                   |                                   t          |          dk    r|                                dt          d          hv rc| j                            d|                     |                                                                          z   dz              t          j	        | j                            d           d S )Nr=   	Footnotes.SH r   .sp
)
r   rK   r)   r
   r   r   rh   rb   r   r   rq   s     r   visit_rubricz!ManualPageTranslator.visit_rubric  s    t99>>dkkmmQ{^^/LLLIVdnnT[[]]&C&C&I&I&K&KKdRSSS. 	!!!!!r    c                :    | j                             d           d S r   r   rq   s     r   depart_rubricz"ManualPageTranslator.depart_rubric  s    	r    c                2    |                      |d           d S )Nseealso)visit_admonitionrq   s     r   visit_seealsoz"ManualPageTranslator.visit_seealso  s    dI.....r    c                0    |                      |           d S r   )depart_admonitionrq   s     r   depart_seealsoz#ManualPageTranslator.depart_seealso  r   r    c                b    |                                   | j                            d           d S )Nz.sp
.nf
r   r   r   rq   s     r   visit_productionlistz)ManualPageTranslator.visit_productionlist  .    	&&&&&r    c                :    | j                             d           d S )Nz
.fi
r   rq   s     r   depart_productionlistz*ManualPageTranslator.depart_productionlist  s    	#####r    c                    d S r   r8   rq   s     r   visit_productionz%ManualPageTranslator.visit_production  rs   r    c                    d S r   r8   rq   s     r   depart_productionz&ManualPageTranslator.depart_production  rs   r    c                    d|j         v r3| j                            t          d          |d         z  dz              | j                            t          d          dz              t          j        )Naltz[image: %s]r   z[image])rJ   r   r   r
   r   r   rq   s     r   visit_imagez ManualPageTranslator.visit_image  sd    DO##IQ}--U;dBCCC	9,---nr    c                   |                     dd          }|                    d          }|r| j                            d| d           | j                            | j        d         d                    |                     |           | j                            | j        d         d                    |r|                    d	          sz| j        j        rn|                                |k    rV|	                    d
          }| j        
                    d| j        d         d         || j        d         d         dg           |r| j                            d           t          j        )Nrefurir>   )mailto:zhttp:zhttps:zftp:z\X'tty: link '	referencer   r=   #r   z <rA   >z\X'tty: link')get
startswithr   r   defs
visit_Textrc   man_show_urlsr)   removeprefixextendr   r   )r   rL   uriis_safe_to_clicks       r   visit_referencez$ManualPageTranslator.visit_reference&  sf   hhx$$>>*PQQ 	6I4c444555	;/2333 		;/2333 
	s~~c** 
	{( T[[]]c-A-A&&y11	  Ih'*Ih'*"     	/I-...nr    c                    t          j        |                    dd                    }|                     |           t           j        )NrT   r   )r   Textr   r  r   )r   rL   texts      r   visit_number_referencez+ManualPageTranslator.visit_number_referenceC  s9    z$((7C0011nr    c                b    |                                   | j                            d           d S )Nz.sp
.ce
r   rq   s     r   visit_centeredz#ManualPageTranslator.visit_centeredH  r   r    c                :    | j                             d           d S )Nz
.ce 0
r   rq   s     r   depart_centeredz$ManualPageTranslator.depart_centeredL  s    	%%%%%r    c                    d S r   r8   rq   s     r   visit_compact_paragraphz,ManualPageTranslator.visit_compact_paragraphO  rs   r    c                    d S r   r8   rq   s     r   depart_compact_paragraphz-ManualPageTranslator.depart_compact_paragraphR  rs   r    c                    d S r   r8   rq   s     r   visit_download_referencez-ManualPageTranslator.visit_download_referenceU  rs   r    c                    d S r   r8   rq   s     r   depart_download_referencez.ManualPageTranslator.depart_download_referenceX  rs   r    c                    t           j        r   r   rq   s     r   visit_toctreez"ManualPageTranslator.visit_toctree[  r   r    c                    t           j        r   r   rq   s     r   visit_indexz ManualPageTranslator.visit_index^  r   r    c                    t           j        r   r   rq   s     r   visit_tabular_col_specz+ManualPageTranslator.visit_tabular_col_speca  r   r    c                    d S r   r8   rq   s     r   visit_glossaryz#ManualPageTranslator.visit_glossaryd  rs   r    c                    d S r   r8   rq   s     r   depart_glossaryz$ManualPageTranslator.depart_glossaryg  rs   r    c                   t          d|d                   }t          d|          }|                                  t          d|d                   }t          d|          }| j                            d                    d |D                       dz              | j                            d           t
          j        )Nznodes.bullet_listr   zIterable[nodes.list_item]r   c              3  >   K   | ]}|                                 V  d S r   )r)   )r9   ns     r   r<   z2ManualPageTranslator.visit_acks.<locals>.<genexpr>p  s*      "B"B!188::"B"B"B"B"B"Br    .r   )r   r   r   r   joinr   r   )r   rL   bullet_list
list_itemss       r   
visit_ackszManualPageTranslator.visit_acksj  s    .Q885{CC
.Q885{CC
	"B"Bz"B"B"BBBSHIII	nr    c                0    |                      |           d S r   )visit_bullet_listrq   s     r   visit_hlistz ManualPageTranslator.visit_hlistt  r   r    c                0    |                      |           d S r   )depart_bullet_listrq   s     r   depart_hlistz!ManualPageTranslator.depart_hlistw  s    %%%%%r    c                    d S r   r8   rq   s     r   visit_hlistcolz#ManualPageTranslator.visit_hlistcolz  rs   r    c                    d S r   r8   rq   s     r   depart_hlistcolz$ManualPageTranslator.depart_hlistcol}  rs   r    c                ,    |                      |          S r   )visit_emphasisrq   s     r   visit_literal_emphasisz+ManualPageTranslator.visit_literal_emphasis  s    ""4(((r    c                ,    |                      |          S r   )depart_emphasisrq   s     r   depart_literal_emphasisz,ManualPageTranslator.depart_literal_emphasis  s    ##D)))r    c                ,    |                      |          S r   visit_strongrq   s     r   visit_literal_strongz)ManualPageTranslator.visit_literal_strong        &&&r    c                ,    |                      |          S r   depart_strongrq   s     r   depart_literal_strongz*ManualPageTranslator.depart_literal_strong      !!$'''r    c                    d S r   r8   rq   s     r   visit_abbreviationz'ManualPageTranslator.visit_abbreviation  rs   r    c                    d S r   r8   rq   s     r   depart_abbreviationz(ManualPageTranslator.depart_abbreviation  rs   r    c                ,    |                      |          S r   r<  rq   s     r   visit_manpagez"ManualPageTranslator.visit_manpage  r?  r    c                ,    |                      |          S r   rA  rq   s     r   depart_manpagez#ManualPageTranslator.depart_manpage  rD  r    c                    t          |j        t          j                  r6|j                            d          r| j                            d           d S t                                          |           d S )Nliteral_blockr   )	
isinstancerE   r   	containerr   r   r   r   visit_captionr   s     r   rQ  z"ManualPageTranslator.visit_caption  sk    t{EO44	(00	( IW%%%%%GG!!$'''''r    c                    t          |j        t          j                  r6|j                            d          r| j                            d           d S t                                          |           d S )NrN  r   )	rO  rE   r   rP  r   r   r   r   depart_captionr   s     r   rS  z#ManualPageTranslator.depart_caption  sk    t{EO44	)00	) IT"""""GG""4(((((r    c                    t          |j        t          j                  r| j                            d           d S t          |j        t          j                  r| j        dk    rt          j	        | j        dk    ra| j                            d| 
                    |                                                                           d           t          j	        t                                          |          S )Nz.IP "r   r=   r   r   )rO  rE   r	   r   r   r   r   ra   r^   r   rh   r)   rb   r   visit_titler   s     r   rU  z ManualPageTranslator.visit_title  s    dk8#344 		%IW%%%4U]33 	%!Q&&n$#q((	  !Qt{{}}7J7J7L7L(M(M!Q!Q!QRRRn$ww""4(((r    c                    t          |j        t          j                  r| j                            d           d S t                                          |          S )Nz"
)rO  rE   r	   r   r   r   r   depart_titler   s     r   rW  z!ManualPageTranslator.depart_title  sM    dk8#344 	IU###4ww##D)))r    c                    d|                     dd                                          v r,| j                            |                                           t
          j        )Nmanpageformatr>   )r   splitr   r   r)   r   r   rq   s     r   	visit_rawzManualPageTranslator.visit_raw  sM    2..446666IT[[]]+++nr    c                    t           j        r   r   rq   s     r   
visit_metazManualPageTranslator.visit_meta  r   r    c                    d S r   r8   rq   s     r   visit_inlinez!ManualPageTranslator.visit_inline  rs   r    c                    d S r   r8   rq   s     r   depart_inlinez"ManualPageTranslator.depart_inline  rs   r    
nodes.mathc                    d S r   r8   rq   s     r   
visit_mathzManualPageTranslator.visit_math  rs   r    c                    d S r   r8   rq   s     r   depart_mathz ManualPageTranslator.depart_math  rs   r    nodes.math_blockc                0    |                      |           d S r   )r  rq   s     r   visit_math_blockz%ManualPageTranslator.visit_math_block  s    D!!!!!r    c                0    |                      |           d S r   )r  rq   s     r   depart_math_blockz&ManualPageTranslator.depart_math_block  r   r    )r$   r3   r   r   r   r   )r   rl   )rL   r   r   r   )rL   rc  r   r   )rL   rh  r   r   )]r-   r.   r/   rO   rQ   __annotations__r   ro   rr   ru   rx   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  r7  r:  r>  rC  rF  rH  rJ  rL  rQ  rS  rU  rW  r\  r^  r`  rb  re  rg  rj  rl  r0   r1   s   @r   r"   r"   J   s=        %%!H!!!!F F F F F F@$ $ $ $      ) ) ) )* * * *            $ $ $ $% % % %                        ! ! ! !               ! ! ! !   ( ( ( () ) ) )            
# # # #$ $ $ $% % % % % %   % % % % % %
" " " "   / / / /% % % %' ' ' '$ $ $ $            :   
' ' ' '& & & &                              % % % %& & & &      ) ) ) )* * * *' ' ' '( ( ( (      ' ' ' '( ( ( (( ( ( ( ( () ) ) ) ) )) ) ) ) ) )* * * * * *   
               " " " "# # # # # # # #r    r"   N)&rO   
__future__r   typingr   r   docutilsr   docutils.writers.manpager   BaseTranslatorr   sphinxr	   sphinx.localer
   r   sphinx.utilr   sphinx.util.docutilsr   sphinx.util.i18nr   sphinx.util.nodesr   collections.abcr   r   docutils.nodesr   sphinx.buildersr   	getLoggerr-   loggerr   r#   r"   r8   r    r   <module>r~     s   ; ; " " " " " " & & & & & & & &       A A A A A A + + + + + +       - - - - - - - -       1 1 1 1 1 1 ( ( ( ( ( ( ) ) ) ) ) ) (((((((&&&&&&''''''		8	$	$, , , , ,v , , ,- - - - - - - ->M# M# M# M# M#+^ M# M# M# M# M#r    