
    -Ph%                       U d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	m
Z
 ddlmZ 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 ddlmZ ddlmZmZ e	rddlmZ ddlm Z  ddlm!Z!  ej"        e#          Z$ ej%        ej&        d                   Z' ej%        d          Z(g dZ) ed           Z*de+d<   de*d<   d2dZ,d3d4d!Z-ed5d6d&            Z.ed7d*            Z/d8d/Z0d9d1Z1dS ):zreST helper functions.    )annotationsN)defaultdict)contextmanager)TYPE_CHECKINGcasteast_asian_width)roles)en)Body)Reporter)pass_environment)__)docutilslogging)Iterator)
StringList)Environmentfield_markerz([!-\-/:-@\[-`{-~]))=-~c                     dS )NWF r       O/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/util/rst.py<lambda>r   !   s     r   zdict[str, str]	WIDECHARSWFAjatextstrreturnc                h    t                               d|           } t          j        dd|           } | S )Nz\\\1z^\.z\.)
symbols_resubre)r"   s    r   escaper)   %   s-    >>'4((D6&%&&DKr   r   	widecharsintc                F    ddt          fd| D                       S )	zGet width of text.charr#   r*   r$   r+   c                ,    t          |           |v rdS dS )N      r   )r-   r*   s     r   	charwidthztextwidth.<locals>.charwidth.   s    D!!Y..11r   c              3  0   K   | ]} |          V  d S )Nr   ).0cr1   r*   s     r   	<genexpr>ztextwidth.<locals>.<genexpr>4   s/      551yyI&&555555r   )r-   r#   r*   r#   r$   r+   )sum)r"   r*   r1   s    `@r   	textwidthr7   +   s@        55555555555r   r0   envr   levelc                    |dk    sJ t          |t          | j                           }t          |dz
           }| d||z   S )zCreate a heading for *level*.   r0   
)r7   r   languageSECTIONING_CHARS)r8   r"   r9   widthsectioning_chars        r   headingrA   7   sN     A::::dIcl344E&uqy1O//o-///r   docnamenameIterator[None]c              #  "  K   |rrt          ddd          }t          j        |t          d|          \  }}|rt	          j        d|           n*t                              t          d          ||            d V  t	          j	        d           d S )N    r   zdefault role %s not found)location)
r   r
   roleenglishr   register_roleloggerwarningr   unregister_role)rB   rC   dummy_reporterrole_fn_s        r   default_rolerR   A   s       T!"a++Zgq.AA
 	T"2w////NN29::D7NSSS	EEER     r   contentr   prologNonec                f   |rd}| D ]"}t                               |          r|dz  }" |dk    r|                     |ddd           |dz  }d}t          |                                          D ] \  }}|                     ||z   |d|           !|                     ||z   dz   ddd           dS dS )z+Prepend a string to content body as prolog.r   r0   rF   <generated>z<rst_prolog>N)FIELD_NAME_REmatchinsert	enumerate
splitlines)rS   rT   poslinelinenos        r   prepend_prologr`   P   s     ? 	 	D""4(( q77NN3M15551HC %f&7&7&9&9:: 	G 	GLFDNN3<~vFFFFsV|a']A>>>>>%? ?r   epilogc                >   |rt          |           dk    r)|                     d          \  }}t          d|          }nd}d}|                     d||dz              t	          |                                          D ]\  }}|                     |d|           dS dS )	z*Append a string to content body as epilog.r   r+   rW   rF   r0   z<rst_epilog>N)leninfor   appendr[   r\   )rS   ra   sourcer_   r^   s        r   append_epilogrh   g   s     
9w<<!$\\"--NFF%((FF"FFr66A:...%f&7&7&9&9:: 	9 	9LFDNN48888
9 
9	9 	9r   )r"   r#   r$   r#   )r   )r"   r#   r*   r#   r$   r+   )r0   )r8   r   r"   r#   r9   r+   r$   r#   )rB   r#   rC   r#   r$   rD   )rS   r   rT   r#   r$   rU   )rS   r   ra   r#   r$   rU   )2__doc__
__future__r   r(   collectionsr   
contextlibr   typingr   r   unicodedatar	   docutils.parsers.rstr
   docutils.parsers.rst.languagesr   rJ   docutils.parsers.rst.statesr   docutils.utilsr   jinja2r   sphinx.localer   sphinx.utilr   r   collections.abcr   docutils.statemachiner   r   	getLogger__name__rL   compilepatternsrX   r&   r>   r   __annotations__r)   r7   rA   rR   r`   rh   r   r   r   <module>r}      sL      " " " " " " 				 # # # # # # % % % % % % & & & & & & & & ( ( ( ( ( ( & & & & & & 8 8 8 8 8 8 , , , , , , # # # # # # # # # # # #       ) ) ) ) ) ) ) ) #((((((000000""""""		8	$	$
4=899RZ.//
"??  (K55	 5 5 5 5	$   	6 	6 	6 	6 	6 0 0 0 0 0 ! ! ! !? ? ? ?.9 9 9 9 9 9r   