a
    ñ»jÞ ã                   @   s°  d Z ddl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mZmZmZmZmZmZ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% g d¢Z&dd„ Z'G dd„ deƒZ(G dd„ deƒZ)G dd„ deƒZ*G dd„ deƒZ+G dd„ deƒZ,G dd„ deƒZ-G dd„ de-ƒZ.G dd„ deƒZ/G dd„ deƒZ0G d d!„ d!eƒZ1G d"d#„ d#eƒZ2G d$d%„ d%eƒZ3G d&d'„ d'eƒZ4G d(d)„ d)eƒZ5dS )*zÙ
    pygments.lexers.markup
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for non-HTML markup languages.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚXmlLexer)ÚJavascriptLexer)ÚCssLexer)ÚLilyPondLexer)Ú	JsonLexer)	Ú
RegexLexerÚDelegatingLexerÚincludeÚbygroupsÚusingÚthisÚdo_insertionsÚdefaultÚwords)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚGenericÚOtherÚ
WhitespaceÚLiteral)Úget_bool_optÚClassNotFound)ÚBBCodeLexerÚMoinWikiLexerÚRstLexerÚTexLexerÚ
GroffLexerÚMozPreprocHashLexerÚMozPreprocPercentLexerÚMozPreprocXulLexerÚMozPreprocJavascriptLexerÚMozPreprocCssLexerÚMarkdownLexerÚOrgLexerÚTiddlyWiki5LexerÚWikitextLexerc                 c   s$   | D ]\}}}|| ||fV  qdS )a  Re-base token indices yielded by a delegated sub-lexer.

    A sub-lexer's ``get_tokens_unprocessed`` returns indices relative to the
    snippet it was given (starting at 0), but the surrounding lexer must yield
    indices that are absolute within the whole input text.
    N© )ÚtokensÚoffsetÚindexÚtokenÚvaluer,   r,   ú<E:\soccer\ml_env\Lib\site-packages\pygments/lexers/markup.pyÚ_shift_indices    s    r3   c                   @   sp   e Zd ZdZdZdgZdgZdZdZde	fde
d	fd
e	fgde	fdeejeeƒfdeeeƒfde
dfgdœZdS )r   z7
    A lexer that highlights BBCode(-like) syntax.
    ÚBBCodeÚbbcodeztext/x-bbcodezhttps://www.bbcode.org/ú0.6z[^[]+z\[/?\w+Útagz\[ú\s+z(\w+)(=)("?[^\s"\]]+"?)z(=)("?[^\s"\]]+"?)ú\]ú#pop)Úrootr7   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	mimetypesÚurlÚversion_addedr   r   r
   r   Ú	Attributer   r   r-   r,   r,   r,   r2   r   +   s(   ûÿÿ÷ør   c                   @   sô   e Zd ZdZdZddgZg ZdgZdZdZ	e
je
jB Zdefd	eeeƒfd
eejeeƒejeƒfdeejejƒdfdefdeeejeƒfdeeejeƒfdefdeeeeƒfdefdefdefdefgdejdfdedfdejfdejfgdœZdS )r   z.
    For MoinMoin (and Trac) Wiki markup.
    zMoinMoin/Trac Wiki markupz	trac-wikiÚmoinztext/x-trac-wikizhttps://moinmo.inú0.7z^#.*$z(!)(\S+)z^(=+)([^=]+)(=+)(\s*#.+)?$z(\{\{\{)(\n#!.+)?Ú	codeblockz(\'\'\'?|\|\||`|__|~~|\^|,,|::)z^( +)([.*-])( )z^( +)([a-z]{1,5}\.)( )z\[\[\w+.*?\]\]z(\[[^\s\]]+)(\s+[^\]]+?)?(\])z^----+$z[^\n\'\[{!_~^,|]+ú\nÚ.z\}\}\}r:   z\{\{\{z#pushz[^{}]+)r;   rH   N)r<   r=   r>   r?   r@   rA   Ú	filenamesrB   rC   rD   ÚreÚ	MULTILINEÚ
IGNORECASEÚflagsr   r
   r   r   r   ÚHeadingr   r   r   r   ÚBuiltinÚ	NamespaceÚPreprocr-   r,   r,   r,   r2   r   L   s@   ÿ
ÿí
ûêr   c                   @   s„  e Zd ZdZdZdZg d¢ZddgZddgZd	Z	e
jZd
d„ ZdZdZde
 e¡› e
 e¡› d�Zdeejeejeejeƒfdeejeejeƒfdeeeeedd�ƒfdeeeeedd�ƒfdeeeeedd�ƒfdeeeeedd�ƒfdeeeeedd�ƒfdeeeeedd�ƒfdefdeeeejeeeedd�ƒfdeeeejeedd�ƒfdeeeejeedd�ƒfdeeeejeejeeeedd�ƒfdefd eeejeƒfd!eeedd�eedd�ƒfd"ee j!ee e ee ƒfe"dƒgd#efd$e d%fd&ee e j#e ƒfd'e fd(eej$ej%ƒfd)eej%ej$ƒfd*ej&fd+ej'fd,e fd-ejfd.efd/efgd0e fd$e e d1fd2e fgd3œZ(d4d5„ Z)d6d7„ Z*d8S )9r    aS  
    For reStructuredText markup.

    Additional options accepted:

    `handlecodeblocks`
        Highlight the contents of ``.. sourcecode:: language``,
        ``.. code:: language`` and ``.. code-block:: language``
        directives with a lexer for the given language (default:
        ``True``).

        .. versionadded:: 0.8
    ÚreStructuredTextz(https://docutils.sourceforge.io/rst.html)ÚrestructuredtextÚrstÚrestz*.rstz*.restz
text/x-rstztext/prs.fallenstein.rstrG   c           
   	   c   sÌ  ddl m} | d¡t| d¡fV  | d¡t| d¡fV  | d¡tj| d¡fV  | d¡t| d¡fV  | d¡t| d¡fV  | d¡t| d¡fV  | d	¡t| d	¡fV  d }| j	rêz|| d¡ 
¡ ƒ}W n tyè   Y n0 | d
¡}t|ƒ}|| d¡ | d¡ | d¡ }|d u �r>| d
¡t|fV  d S g }| d¡}d}|D ]P}	t|	ƒ|k�rš| t|ƒdt|	d |… fgf¡ ||	|d … 7 }n||	7 }�qTtt|| |¡ƒ| d
¡ƒE d H  d S )Nr   ©Úget_lexer_by_nameé   é   é   é   é   é   é   é   é	   é
   é   TÚ )Úpygments.lexersrY   Ústartr   Úgroupr   r   ÚWordr   ÚhandlecodeblocksÚstripr   Úlenr   Ú
splitlinesÚappendr3   r   Úget_tokens_unprocessed)
ÚselfÚmatchrY   ÚlexerZ	indentionZindention_sizeÚcodeÚinsZ	codelinesÚliner,   r,   r2   Ú_handle_sourcecode�   s@    
"

"þzRstLexer._handle_sourcecodeu   '")]}>â€™â€�Â»!?u   â€�â€‘â€’â€“â€”Â z($|(?=[-/:.,; \n\x00z]))zH^(=+|-+|`+|:+|\.+|\'+|"+|~+|\^+|_+|\*+|\++|#+)([ \t]*\n)(.+)(\n)(\1)(\n)zc^(\S.*)(\n)(={3,}|-{3,}|`{3,}|:{3,}|\.{3,}|\'{3,}|"{3,}|~{3,}|\^{3,}|_{3,}|\*{3,}|\+{3,}|#{3,})(\n)z!^(\s*)([-*+])( .+\n(?:\1  .+\n)*)Úinline©Ústatez1^(\s*)([0-9#ivxlcmIVXLCM]+\.)( .+\n(?:\1  .+\n)*)z4^(\s*)(\(?[0-9#ivxlcmIVXLCM]+\))( .+\n(?:\1  .+\n)*)z$^(\s*)([A-Z]+\.)( .+\n(?:\1  .+\n)+)z*^(\s*)(\(?[A-Za-z]+\))( .+\n(?:\1  .+\n)+)z^(\s*)(\|)( .+\n(?:\|  .+\n)*)zl^( *\.\.)(\s*)((?:source)?code(?:-block)?)(::)([ \t]*)([^\n]+)(\n[ \t]*\n)([ \t]+)(.*)(\n)((?:(?:\8.*)?\n)+)z.^( *\.\.)(\s*)([\w:.+-]+?)(::)(?:([ \t]*)(.*))z'^( *\.\.)(\s*)(_(?:[^:\\]|\\.)+:)(.*?)$z^( *\.\.)(\s*)(\[.+\])(.*?)$z9^( *\.\.)(\s*)(\|.+\|)(\s*)([\w:-]+?)(::)(?:([ \t]*)(.*))z^ *\.\..*(\n( +.*\n|\n)+)?z+^( *)(:(?:\\\\|\\:|[^:\n])+:(?=\s))([ \t]*)z!^(\S.*(?<!::)\n)((?:(?: +.*)\n)+)z2(::)(\n[ \t]*\n)([ \t]+)(.*)(\n)((?:(?:\3.*)?\n)+)ú\\.z``Úliteralz(`.+?)(<.+?>)(`__?)z`.+?`__?z(`.+?`)(:[a-zA-Z0-9:.+-]+?:)?z(:[a-zA-Z0-9:.+-]+?:)(`.+?`)z\*\*.+?\*\*z\*.+?\*z\[.*?\]_ú<.+?>z[^\\\n\[*`:]+rJ   z[^`]+r:   ú`)r;   rw   r{   c                 K   s$   t |ddƒ| _tj| fi |¤Ž d S ©Nrj   T©r   rj   r   Ú__init__©rp   Úoptionsr,   r,   r2   r€     s    zRstLexer.__init__c                 C   s†   | d d… dkr$| dd… dkr$dS |   d¡}|   d|d ¡}|dkr‚|d d |kr‚| |d  d	v r‚| |d  | |d  kr‚d
S d S )Nr[   z..r\   rJ   g333333Ó?Ú
rZ   éÿÿÿÿz-=g      à?)Úfind)ÚtextÚp1Zp2r,   r,   r2   Úanalyse_text  s     
ÿþýzRstLexer.analyse_textN)+r<   r=   r>   r?   r@   rC   rA   rK   rB   rD   rL   rM   rO   rv   ZclosersZunicode_delimitersÚescapeZend_string_suffixr
   r   rP   r   r   r   r   r   r   ri   r   ÚTagr   ÚClassr   ÚEscaper	   ÚInterpolÚVariablerE   ÚStrongÚEmphr-   r€   rˆ   r,   r,   r,   r2   r    z   s¾   +ÿþþÿÿÿÿÿÿþ
ÿÿÿÿÿÿÿÿÿÉ:ÿÿÿñýµRr    c                   @   sD  e Zd ZdZdZddgZg d¢ZddgZdZd	Z	d
e
fdejfdejfgdeeejejejƒdfdejdfdedfdejdfdedfdedfdefedƒdefg	dejfedƒdefdefdejfgdedfdedfed ƒgd!edfdedfdejfed ƒgd"eeejejejƒdfed ƒgd#ejfd$efedƒgd%œZd&d'„ Zd(S ))r!   z<
    Lexer for the TeX and LaTeX typesetting languages.
    ÚTeXÚtexÚlatex)z*.texz*.auxz*.tocz
text/x-texztext/x-latexzhttps://tug.orgre   z%.*?\nz[{}]z[&_^]z8(\\begin)(\{)((?:display)?math|equation\*?|align\*?)(\})Úenvironmentmathz\\\[Údisplaymathz\\\(Ú
inlinemathz\$\$z\$z\\([a-zA-Z@_:]+|\S?)Úcommandz\\$Úgeneralz[^\\$%&_^{}]+z\\([a-zA-Z]+|\S?)ú[0-9]+z[-=!+*/()\[\]]z[^=!+*/()\[\]\\$%&_^{}0-9-]+z\\\)r:   Úmathz\\\]z6(\\end)(\{)((?:display)?math|equation\*?|align\*?)(\})z\[.*?\]ú\*)r˜   r;   rš   r–   r•   r”   r—   c                 C   s(   dD ]}| d t |ƒ… |kr dS qd S )N)z\documentclassz\inputz\documentstylez\relaxT)rl   )r†   rg   r,   r,   r2   rˆ   ^  s    zTexLexer.analyse_textN)r<   r=   r>   r?   r@   rA   rK   rB   rC   rD   r   r   rQ   r
   r   r   ÚBacktickr	   r   rŽ   r   r   rE   r   r-   rˆ   r,   r,   r,   r2   r!   !  sd   ýþ

õûýüÿýýÖ1r!   c                
   @   sØ   e Zd ZdZdZg d¢Zg d¢ZddgZdZdZ	d	e
eeƒd
fded
fdedfedƒgedƒdefdedfgdefdejfdejfdejfdejfded
fgdedfedƒdejfdefdefdefgdœZdd„ ZdS )r"   z†
    Lexer for the (g)roff typesetting language, supporting groff
    extensions. Mainly useful for highlighting manpage sources.
    ÚGroff)ÚgroffÚnroffÚman)z*.[1-9]z*.manz*.1pz*.3pmzapplication/x-troffz
text/troffz"https://www.gnu.org/software/groffr6   z	(\.)(\w+)Úrequestz\.z[^\\\n]+ÚtextlineÚescapesrI   r:   z	\\"[^\n]*z\\[fn]\wz\\\(.{2}z	\\.\[.*\]rz   z\\\nz	"[^\n"]+"z\d+z\S+r8   )r;   r¢   r£   r¡   c                 C   s`   | d d… dkrdS | d d… dkr(dS | d d… dkr<dS | dd…   ¡ r\| d  ¡ r\d	S d S )
NrZ   rJ   Fr\   z.\"Tr]   z.TH gÍÌÌÌÌÌì?)ÚisalnumÚisspace)r†   r,   r,   r2   rˆ   ’  s    zGroffLexer.analyse_textN)r<   r=   r>   r?   r@   rA   rK   rB   rC   rD   r
   r   r   r   r   r	   r   r   rŒ   ÚDoubler   r-   rˆ   r,   r,   r,   r2   r"   e  s@   ûýù
úê r"   c                   @   s²   e Zd ZdZdZegZg Zg ZdZdZ	de
jdfdefgdee
jeƒd	fed
ƒe
jdfgedƒefdeeeƒfdefdejfdejfdejfdefdedfdefdefg
dœZdS )r#   zk
    Lexer for Mozilla Preprocessor files (with '#' as the marker).

    Other data is left untouched.
    ÚmozhashpreprocúKhttps://firefox-source-docs.mozilla.org/build/buildsystem/preprocessor.htmlú2.0z^#©ÚexprÚ	exprstartú.+z(literal)(.*)ú#pop:2)ZdefineZundefÚifZifdefZifndefÚelseÚelifZelifdefZelifndefÚendifÚexpandÚfilterZunfilterr	   ZincludesubstÚerrorr:   )ú!z!=z==z&&z||z(defined)(\()z\)r™   z__\w+?__z@\w+?@ú\w+rI   r8   z\S)r;   r¬   r«   N)r<   r=   r>   r?   r@   rA   rK   rB   rC   rD   r   rS   r   r
   r   r   r   r   r   r   ÚDecimalr   rŽ   r‹   r-   r,   r,   r,   r2   r#   �  s6   
þüþ	
öór#   c                   @   sB   e Zd ZdZdZegZg Zg ZdZdZ	dde
jdfdefgiZd	S )
r$   zk
    Lexer for Mozilla Preprocessor files (with '%' as the marker).

    Other data is left untouched.
    Úmozpercentpreprocr¨   r©   r;   z^%rª   r­   N)r<   r=   r>   r?   r@   rA   rK   rB   rC   rD   r   rS   r   r-   r,   r,   r,   r2   r$   Æ  s   
þÿr$   c                       s<   e Zd ZdZdZdgZdgZg ZdZdZ	‡ fdd„Z
‡  ZS )	r%   ze
    Subclass of the `MozPreprocHashLexer` that highlights unlexed data with the
    `XmlLexer`.
    zXUL+mozpreproczxul+mozpreprocz*.xul.inr¨   r©   c                    s   t ƒ jttfi |¤Ž d S ©N)Úsuperr€   r   r#   r�   ©Ú	__class__r,   r2   r€   ç  s    zMozPreprocXulLexer.__init__©r<   r=   r>   r?   r@   rA   rK   rB   rC   rD   r€   Ú__classcell__r,   r,   r¼   r2   r%   Û  s   r%   c                       s<   e Zd ZdZdZdgZdgZg ZdZdZ	‡ fdd„Z
‡  ZS )	r&   zl
    Subclass of the `MozPreprocHashLexer` that highlights unlexed data with the
    `JavascriptLexer`.
    zJavascript+mozpreproczjavascript+mozpreprocz*.js.inr¨   r©   c                    s   t ƒ jttfi |¤Ž d S rº   )r»   r€   r   r#   r�   r¼   r,   r2   r€   ÷  s    z"MozPreprocJavascriptLexer.__init__r¾   r,   r,   r¼   r2   r&   ë  s   r&   c                       s<   e Zd ZdZdZdgZdgZg ZdZdZ	‡ fdd„Z
‡  ZS )	r'   ze
    Subclass of the `MozPreprocHashLexer` that highlights unlexed data with the
    `CssLexer`.
    zCSS+mozpreproczcss+mozpreprocz*.css.inr¨   r©   c                    s   t ƒ jttfi |¤Ž d S rº   )r»   r€   r   r$   r�   r¼   r,   r2   r€     s    zMozPreprocCssLexer.__init__r¾   r,   r,   r¼   r2   r'   û  s   r'   c                   @   sÌ  e Zd ZdZdZdZddgZddgZdgZd	Z	e
jZd
d„ Zdeejeƒfdeejeƒfdeejeejeƒfdeejeejeƒfdeeeeeedd�ƒfdeeeeeedd�ƒfdeeeeedd�ƒfdeeejƒfdejfdefedƒgdefdeeejƒfdeeejƒfdeeejƒfdeeejƒfdeeejƒfdeeejƒfdeeejƒfd eeejƒfd!ejfd"eeej eeej!eƒfd#eeej eeej"eƒfd$eeej"eej!ƒfd%efd&efgd'œZ#d(d)„ Z$d*S )+r(   z
    For Markdown markup.
    ÚMarkdownz-https://daringfireball.net/projects/markdown/ÚmarkdownÚmdz*.mdz
*.markdownztext/x-markdownz2.2c                 c   s0  ddl m} | d¡tj| d¡fV  | d¡tj| d¡fV  | d¡d ur~| d¡t| d¡fV  | d¡t| d¡fV  | d¡t| d¡fV  d }| jrÊz|| d¡ 	¡ ƒ}W n t
yÈ   Y n0 | d	¡}|d u rð| d	¡t|fV  n"ttg | |¡ƒ| d	¡ƒE d H  | d
¡tj| d
¡fV  d S )Nr   rX   ÚinitialÚlangZ	afterlangÚ
whitespaceÚextraÚnewliners   Ú
terminator)rf   rY   rg   r   rœ   rh   r   r   rj   rk   r   r3   r   ro   ©rp   rq   rY   rr   rs   r,   r,   r2   Ú_handle_codeblock  s*    
þ
zMarkdownLexer._handle_codeblockz(^#[^#].+)(\n)z(^#{2,6}[^#].+)(\n)z^(.+)(\n)(=+)(\n)z^(.+)(\n)(-+)(\n)z^(\s*)([*-] )(\[[ xX]\])( .+\n)rw   rx   z^(\s*)([*-])(\s)(.+\n)z^(\s*)([0-9]+\.)( .+\n)z^(\s*>\s)(.+\n)z^(\s*```\n[\w\W]*?^\s*```$\n)a(  (?x)
              ^(?P<initial>\s*```)
              (?P<lang>[\w\-]+)
              (?P<afterlang>
                 (?P<whitespace>[^\S\n]+)
                 (?P<extra>.*))?
              (?P<newline>\n)
              (?P<code>([\s\S])*?)
              (?P<terminator>^\s*```$\n)
              rz   z([^`]?)(`[^`\n]+`)z$([^\*]?)(\*\*\*[^* \n][^*\n]*\*\*\*)z([^_]?)(___[^_ \n][^_\n]*___)z ([^\*]?)(\*\*[^* \n][^*\n]*\*\*)z([^_]?)(__[^_ \n][^_\n]*__)z([^\*]?)(\*[^* \n][^*\n]*\*)z([^_]?)(_[^_ \n][^_\n]*_)z([^~]?)(~~[^~ \n][^~\n]*~~)z[@#][\w/:-]+z (!?\[)([^]]+)(\])(\()([^)]+)(\))z(\[)([^]]+)(\])(\[)([^]]*)(\])z^(\s*\[)([^]]*)(\]:\s*)(.+)z[^\\\s]+rJ   )r;   rw   c                 K   s$   t |ddƒ| _tj| fi |¤Ž d S r~   r   r�   r,   r,   r2   r€   ƒ  s    zMarkdownLexer.__init__N)%r<   r=   r>   r?   r@   rC   rA   rK   rB   rD   rL   rM   rO   rÊ   r
   r   rP   r   Ú
Subheadingr   r   r   r   r�   r   rœ   r	   Ú
EmphStrongr�   ÚDeletedr   ÚEntityrŠ   rE   ÚLabelr-   r€   r,   r,   r,   r2   r(     sj   ÿÿÿ
öÛ)ÿÿÿÜØPr(   c                $   @   s|  e Zd ZdZdZdZg d¢ZdgZdgZdZ	dd	„ Z
d
ejfdeejejejƒfdeejejejƒfdeejejejƒfdeejejejƒfdeejejejƒfdeejejejƒfdeejejƒfdeejejƒfdeeeeeejejƒfdeeeejƒfdeejeeƒejƒfdeejejejƒfdeejeejƒfdeejeeejeƒfdeej eƒfdeej!ej"ej!ƒfdefdejdfdejdfe
dd ƒej#fe
d!d!ƒejfe
d"d"ƒe$fe
d#d#ƒe$fe
d$d$ƒejfe
d%d&ƒej%fd'e&j'fd(ejfd)ej(fd*ee)ej*e)ej(e)ƒfd+ee)ej*e)ƒfd,ee)ej*e)ƒfd-eee$ƒfd.efd/efg#d0ejfd1ejfd2e&j'fd3e&j'fd4ed5fd6efgd7œZ+d8S )9r)   z
    For Org Mode markup.
    zOrg Modezhttps://orgmode.org)ÚorgÚorgmodezorg-modez*.orgztext/orgz2.18c                 C   s   d| › d|› d�S )Nz(?<!\w)z(.|\n(?!\n))+?z(?!\w)r,   )rg   Úendr,   r,   r2   Ú_inline’  s    zOrgLexer._inlinez^# .*z^(\* )(COMMENT)( .*)z^(\*\*+ )(COMMENT)( .*)z^(\* )(DONE)( .*)z^(\*\*+ )(DONE)( .*)z^(\* )(TODO)( .*)z^(\*\*+ )(TODO)( .*)z^(\* .+?)( :[a-zA-Z0-9_@:]+:)?$z"^(\*\*+ .+?)( :[a-zA-Z0-9_@:]+:)?$z.^(?:( *)([+-] )|( +)(\* ))(\[[ X-]\])?(.+ ::)?z ^( *)([0-9]+[.)])( \[@[0-9]+\])?z-(?i)^( *#\+begin: *)([\s\S]*?)(^ *#\+end: *$)z=(?i)^( *#\+begin_comment *\n)([\s\S]*?)(^ *#\+end_comment *$)z4(?i)^( *#\+begin_src .*)([\s\S]*?)(^ *#\+end_src *$)z9(?i)^( *#\+begin_\w+)( *\n)([\s\S]*?)(^ *#\+end_\w+)( *$)z^(#\+\w+:)(.*)$z)(?i)^( *:\w+: *\n)([\s\S]*?)(^ *:end: *$)z\\\\$z^\s*CLOSED:\s+Údatelinez^\s*(?:DEADLINE:|SCHEDULED:)\s+r›   z\*+ú/ú=ú~z\+Ú_z_+r|   z\{\{\{.+?\}\}\}z(?<!\[)\[fn:.+?\]z (?s)(\[\[)(.*?)(\]\[)(.*?)(\]\])z(?s)(\[\[)(.+?)(\]\])z(<<)(.+?)(>>)z^( *)(\|[ -].*?[ -]\|)$z[^#*+\-0-9:\\/=~_<{\[|\n]+z[#*+\-0-9:\\/=~_<{\[|\n]z\s*CLOSED:\s+z\s*(?:DEADLINE:|SCHEDULED:)\s+z\[.+?\]z<[^>]+?>z(\s*)$r:   rJ   )r;   rÔ   N),r<   r=   r>   r?   r@   rC   rA   rK   rB   rD   rÓ   r   ÚSingler
   r   rP   rS   rË   rÍ   ÚErrorr�   r   r   ÚPromptr   rÏ   r   ri   r   r   Ú	Multiliner   rR   Ú	DecoratorÚSpecialr�   r   rÌ   r   ÚDaterŠ   r   rE   r-   r,   r,   r,   r2   r)   ‡  sœ   ÿÿÿÿÿÿÿÿÿÿÿÿ

ÿ©Zú¦r)   c                   @   sþ  e Zd ZdZdZdZdgZdgZdgZdZ	e
jZdd	„ Zd
d„ Zdeeeejƒfdeejeƒfdeejeƒfdeeeeeedd�ƒfdeeeeƒfdeejƒfdeejƒfdeejƒfdeejƒfdeeeeƒfdefdefedƒedƒgedddd�efgdefd ejfd!eeejeƒfd"eeejƒfd#eeejƒfd$eeejƒfd%eeejeƒfd&eeej eƒfd'ejfd(ejfd)ejfd*ejfd+ejfd,ej!fd-ej"fd.eeejeƒfd/eeejeej#eƒfd0eeejeƒfd1eej#ƒfd2efd3efgd4œZ$d5d6„ Z%d7S )8r*   z!
    For TiddlyWiki5 markup.
    Útiddlerz$https://tiddlywiki.com/#TiddlerFilesÚtidz*.tidztext/vnd.tiddlywikiz2.7c                 c   sî   ddl m} | d¡t| d¡fV  | d¡t| d¡fV  | d¡t| d¡fV  d}| jrˆz|| d¡ ¡ ƒ}W n ty†   Y n0 | d¡}|du r°| d¡t|fV  dS t	t
g | |¡ƒ| d¡ƒE dH  | d¡t| d¡fV  dS )	zV
        match args: 1:backticks, 2:lang_name, 3:newline, 4:code, 5:backticks
        r   rX   rZ   r[   r\   Nr]   r^   )rf   rY   rg   r   rh   r   rj   rk   r   r3   r   ro   rÉ   r,   r,   r2   rÊ     s&    
þ
z"TiddlyWiki5Lexer._handle_codeblockc                 c   sÌ   ddl m} | d¡t| d¡fV  | d¡t| d¡fV  d}| jrfz|dƒ}W n tyd   Y n0 | d¡}|du rŽ| d¡t|fV  dS ttg | 	|¡ƒ| d¡ƒE dH  | d¡t| d¡fV  dS )	zP
        match args: 1:style tag 2:newline, 3:code, 4:closing style tag
        r   rX   rZ   r[   NÚcssr\   r]   )
rf   rY   rg   r   rh   rj   r   r3   r   ro   rÉ   r,   r,   r2   Ú_handle_cssblock$  s$    
þ
z!TiddlyWiki5Lexer._handle_cssblockz^(title)(:\s)(.+\n)z^(!)([^!].+\n)z^(!{2,6})(.+\n)z^(\s*)([*#>]+)(\s*)(.+\n)rw   rx   z^(<<<.*\n)([\w\W]*?)(^<<<.*$)z^(\|.*?\|h)$z^(\|.*?\|[cf])$z^(\|.*?\|k)$z^(;.*)$z^(```\n)([\w\W]*?)(^```$)z ^(```)(\w+)(\n)([\w\W]*?)(^```$)z$^(<style>)(\n)([\w\W]*?)(^</style>$)Úkeywords)z\definez\endÚcaptionÚcreatedÚmodifiedÚtagsÚtitleÚtypeú^z\b)ÚprefixÚsuffixrz   z\d{17}z(\s)(//[^/]+//)((?=\W|\n))z(\s)(\^\^[^\^]+\^\^)z(\s)(,,[^,]+,,)z(\s)(__[^_]+__)z(\s)(''[^']+'')((?=\W|\n))z(\s)(~~[^~]+~~)((?=\W|\n))z	<<[^>]+>>z\$\$[^$]+\$\$z\$\([^)]+\)\$z^@@.*$z	</?[^>]+>z`[^`]+`ú&\S*?;z(\[{2})([^]\|]+)(\]{2})z$(\[{2})([^]\|]+)(\|)([^]\|]+)(\]{2})z(\{{2})([^}]+)(\}{2})z(\b.?.?tps?://[^\s"]+)z[\w]+rJ   )r;   rä   rw   c                 K   s$   t |ddƒ| _tj| fi |¤Ž d S r~   r   r�   r,   r,   r2   r€   –  s    zTiddlyWiki5Lexer.__init__N)&r<   r=   r>   r?   r@   rC   rA   rK   rB   rD   rL   rM   rO   rÊ   rã   r
   r   r   r   rP   rË   r   r   r   r�   r�   r   rŠ   r	   r   r   ÚIntegerrÍ   rœ   ÚRegexrE   r-   r€   r,   r,   r,   r2   r*   ù  s‚    ÿäþýÿÿÿÿÿÔÛUr*   c                9   @   sð  e Zd ZdZdZdZddgZg ZdgZdZ	e
jZdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ ZdZdZdZdZh d£Zh d£Zh d£Zedh Zh d£Zh d£Zh d£Zh d£Zh d £Zh d!£Z h d"£Z!d#e"e#e$e#e%ƒd$fd%e"e&j'e&j'e&j'e#ƒfd&e"e&j(e#ƒfe)ed'd(�e*j+j,fe)eƒe*j+j,fd) -d* .e¡ee¡e*j/fd+e› d,�e*j+j,fd-j-ed.e› d/�d0�e*j+j,fe0d1ƒe0d2ƒe0d3ƒgd4e"e%e#ƒd5fd6e"e%e*j/ƒfd7e› d8�e*j1fgd9e$d:fd;e$fd<e$fgd=e$fe0d>ƒd?e"e&j2e&j3ƒd@fdAe&j4dBfdCe&j2dDfe0dEƒdF -ee› dG�¡e"e%e*j5e%e6e7dHgdI�e%e*j/ƒdJfdK -d* .e¡e 8dLdM¡ee› dG�¡e"e%e*j5e%e6e7dHgdI�e%e*j/e%ƒfdN -d* .e¡e 8dLdM¡ee› dG�¡e"e%e*j5e%e6e7dHgdI�e%e*j/e%ƒdOfdP -d* .e¡ee¡e"e%e*j/e#ƒdQfdRe"e$e#e%e6e7dSdTgdI�ƒdUfdV -d* .e¡¡e"e%e*j1ƒdWfdX -d* .e¡¡e"e%e*j1e#e%ƒfdYe"e%e*j1ƒdZfd[e"e%e*j1ƒd\fd]e"e%e*j1ƒd^fd_e"e%e*j1ƒd`fdae"e%e*j1ƒdbfdce"e%e*j1ƒddfdee"e%e*j1ƒdffdge"e%e*j1ƒdhfdie"e%e*j1ƒdjfdke"e%e*j1ƒdlfdke"e%e*j1ƒdmfdne"e%e*j1ƒdofdpe"e%e*j1ƒdqfdre"e%e*j1ƒdsfdte"e%e*j1ƒdufdve"e%e*j1e#e%ƒfdwe"e%e*j1eƒfdxe"e%e*j1e#e6e7dSdTgdI�e%ƒfdye"e%e*j1e#e%ƒfdze"e%e*j1eƒfd{e"e%e*j1e#e6e7dSdTgdI�e%ƒfd|e"e%e*j1e#e%ƒfd}e"e%e*j1eƒfd~e"e%e*j1e#e6e7dSdTgdI�e%ƒfdV -d* .e¡¡e"e%e*j1ƒdWfdX -d* .e¡¡e"e%e*j1e#e%ƒfdj-d* .e¡d€�e"e%e$e%e6e7dSd�gdI�e9e*j/e%ƒd‚fdƒe"e%e6e7dSd„gdI�e%ƒd�fd…j-d* .e¡d€�e"e%e*j/e%ƒd‚fg*e0dEƒd†e*j1fd‡e*j1fgdˆe%d5fd‰e%d5fe0d2ƒe0d3ƒgd‰e%d5fdŠe"e%e*j:e9ƒfd‹e%fe0d2ƒe0d3ƒgdŒe%d5fd�e;d5fge0dŽƒd?e"e&j2e&j4ƒd�fdAe&j3d�fdCe&j2d5fe0d2ƒe0d‘ƒge0dŽƒd’e"e&j4e&j2ƒd“fdAe&j4d5fdCe&j3d”fe0d2ƒe0d•ƒge0dŽƒd?e"e&j3e&j4ƒd5fdAe&j3d“fdCe&j3d�fe0d2ƒe0d–ƒge0dŽƒd’e"e&j3e&j2ƒd5fdAe&j3d“fdCe&j3d�fe0d2ƒe0d–ƒgd—e#fd˜e%fgee$ƒ¢d™j-d* .e¡d€�e"e%e6e7dSd�gdI�e9e*j/e%ƒfdše%d5fe0d2ƒe0d3ƒgd›e%d5fe0d2ƒe0d3ƒgdœe<j=fd�e"e%e*j>ƒdžfdŸ -d* .e¡¡e"e%e#e*j+e#e%ƒfd  -d* .e¡¡e"e%e#e*j+e#e%ƒfd¡e%d¢fd£e"e%e*j1e%e?e%ƒfd¤e%d5fd¥e"e%e*j1ƒdWfd¦e"e%e*j1e#e%ƒfg	d§e%d5fd‹e%fe0d2ƒe0d3ƒgdœe<j=fd—e#fd¨ -ed* .e ¡¡e"e*j+e%ƒd©fdª -d* .e!¡¡e"e*j+e%ƒd©fd«e› d¬�e"e*j5e%ƒd­fe@d­ƒgd®e"e;e%ƒd©fd¯e%d5fd�e;d5fe0dEƒgee*j1ƒ¢d¯e%d5fd‹e%fd°e"e*j/e9ƒfe0d2ƒe0d3ƒgd±e"e#e%ƒd5fd²e"e#e%e6e7dSdTgdI�ƒfd³e"e#e%e6e7dSdTgdI�e%e&j(ƒfd´e"e%e6e7dSdTgdI�e%ƒfdµe"e%e6e7dSdTgdI�e%ƒd¶fe0d1ƒe0d2ƒe0d3ƒgd�e;d5fd·e"e%e6e7dSdTgdI�e%ƒfgee&j'ƒ¢d¸e*jAfgd�e;d5fe0d2ƒd¹e$d5fe0d3ƒgdºe%d5fe0d2ƒe0d3ƒge0d>ƒe0d3ƒge0dEƒd—e#fd»e"e9e#e?jBƒd¼fd½e"e9e#e?jCƒd¾fd¿e"e9e#ƒdÀfdÁe*j:fgdÂe#d5fe0dEƒgee?ƒ¢dÃe?jCd5fe0dEƒgee?jCƒ¢dÄe?jBd5fe0dEƒgee?jBƒ¢dÅe%d5fe0dÆƒgdÇe%dÈfdÉe%d5fe0dÆƒge0dEƒd—e#fd»e"e9e#e?jBƒdÊfd½e"e9e#e?jCƒdËfd¿e"e9e#ƒdÌfdÁe*j:fgdÂe#d5fdÍe%dÈfe0dEƒgee?ƒ¢dÃe?jCd5fdÍe%dÈfe0dEƒgee?jCƒ¢dÄe?jBd5fdÍe%dÈfe0dEƒgee?jBƒ¢edÎƒedÏƒedÐƒedÑƒedÒƒedÓƒedÔƒedÕƒedÖƒed×ƒedØƒedÙƒedÚeDdÚdI�edÛeDdÚdI�edÜeDdÚdI�edÝeEƒee&j2ƒee&j4ƒee&j3ƒee;ƒdÞœ8ZFdßS )àr+   a  
    For MediaWiki Wikitext.

    Parsing Wikitext is tricky, and results vary between different MediaWiki
    installations, so we only highlight common syntaxes (built-in or from
    popular extensions), and also assume templates produce no unbalanced
    syntaxes.
    ÚWikitextz'https://www.mediawiki.org/wiki/WikitextÚwikitextÚ	mediawikiztext/x-wikiz2.15c                 C   s,   d| › d�t ttjttƒdftdƒtdƒgS )Nú	(?i)(</)(ú	)(\s*)(>)r:   Úentityr†   )r
   r   r   rŠ   r   r	   ©Útag_namer,   r,   r2   Únowiki_tag_rules¬  s    ÿÿüzWikitextLexer.nowiki_tag_rulesc                 C   s"   d| › d�t tttjttƒdfgS )Nz(?si)(.*?)(</)(rõ   r:   )r
   r   r   r   rŠ   r   r÷   r,   r,   r2   Úplaintext_tag_rules´  s    
ÿÿÿz!WikitextLexer.plaintext_tag_rulesc                 K   s:   d| › d�t ttjttƒdfd| › d�t|fi |¤ŽfgS )Nrô   rõ   r:   z(?si).+?(?=</z\s*>))r
   r   r   rŠ   r   r   )rø   rr   Zlexer_kwargsr,   r,   r2   Údelegate_tag_rulesº  s    ÿÿýz WikitextLexer.delegate_tag_rulesc                 C   s   d| fd| fd| fgS )Nr·   z[^\S\n]+ú(?s).r,   )r0   r,   r,   r2   Ú
text_rulesÁ  s    ýzWikitextLexer.text_rulesc                 c   s6  ddl m} | ¡ }d}d}| d|¡}||d |… dkr>qH|d }q|dkrl| j|dd	gd
�E d H  d S |d |… }| j|dd	gd
�E d H  | d¡| tdfV  d }||d d … }	t d|¡}
t	|
ƒdkrþ|
d d }z||ƒ}W n t
yü   Y n0 |d u �r"| ¡ | d t|	fV  n| |	¡E d H  d S )Nr   rX   ú>r[   ú--rZ   r„   r;   Úattr©Ústackr\   ú\blang=("|\'|)(\w+)(\1))rf   rY   rh   r…   ro   rg   r   rL   Úfindallrl   r   r   )rp   rq   ÚctxrY   Úattr_contentrg   r/   r   rr   ÚcontentÚ
lang_matchrÄ   r,   r,   r2   Úhandle_syntaxhighlightÈ  s4    

z$WikitextLexer.handle_syntaxhighlightc           
      c   s
  |  ¡ }d}d}| d|¡}||d |… dkr2q<|d }q|dkr`| j|ddgd	�E d H  d S |d |… }||d d … }| j|ddgd	�E d H  | d
¡| tdfV  t d|¡}t|ƒdkrÎ|d d nd}	|	dkrîtƒ  |¡E d H  n| ¡ | d t	|fV  d S )Nr   rþ   r[   rÿ   rZ   r„   r;   r   r  r\   r  Úlilypond)
rh   r…   ro   rg   r   rL   r  rl   r   r   )
rp   rq   r  r  rg   r/   r   r  r  rÄ   r,   r,   r2   Úhandle_scoreî  s&    
zWikitextLexer.handle_scorez0 %!"$&\'()*,\-./0-9:;=?@A-Z\\\^_`~+\u0080-\uFFFFzT(?:\t|&nbsp;|&\#0*160;|&\#[Xx]0*[Aa]0;|[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000])zb(?:[0-9.]+|\[[0-9a-f:.]+\]|[^\x00-\x20"<>\[\]\x7F\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFFFD])zF[^\x00-\x20"<>\[\]\x7F\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFFFD]>	   Z__FORCETOC__Z__NOEDITSECTION__Z__NOTC__Z__NOTITLECONVERT__Z__NOGALLERY__Z	__NOTOC__Z__TOC__Z__NOCONTENTCONVERT__Z__NOCC__>
   Z__NOINDEX__Z	__INDEX__Z__STATICREDIRECT__Z__NONEWSECTIONLINK__Z__NOGLOBAL__Z__EXPECTUNUSEDCATEGORY__Z__HIDDENCAT__Z__DISAMBIG__Z__NEWSECTIONLINK__Z__EXPECTED_UNCONNECTED_PAGE__>   z	gopher://zirc://zmailto:zsip:zhttp://zsftp://z	telnet://zhttps://zsvn://zircs://zgeo:zredis://znews:zbitcoin:znntp://zworldwind://zftps://ztel:zsips:zsms:ú//zmagnet:zssh://zgit://zurn:zmms://zxmpp:zftp://r  ><   ÚdataÚstrongZemÚstrikeZabbrÚttZwbrZh3ÚhrÚrbZulÚcenterÚbigÚdfnZsmallÚtimeZciteÚspanZbdoZh1rs   Z
blockquoteÚrubyZsampÚrtÚsupZolÚdivZh2rt   rå   ÚtrÚthÚuZkbdÚddÚiÚmarkÚdtZh5ÚsZh4ÚrpZliÚbrZh6ÚvarÚlinkÚdlZfontÚmetaÚqÚtdZbdiÚtableÚdelÚbÚpZrtcÚsub>    ÚgalleryÚpreÚdynamicpagelistZonlyincludeÚinputboxZmapframeÚ	languagesÚsectionZ	noincludeZscoreÚrefÚ
charinsertZpoemÚrssÚcategorytreeZtemplatestylesrš   ZsyntaxhighlightÚhieroZincludeonlyÚtimelineZ
referencesÚgraphÚchemÚtemplatedataZlangconvertZtvarÚnowikiÚ	translateZmaplinkÚceÚimagemap>.   zsr-elzgan-hanszcrh-latnzsh-latnÚiuzku-latnzzh-mozike-latnzuz-cyrlZshizzh-cnzgan-hantz	ban-x-pkuzwuu-hanszsr-eczzh-myztly-cyrlzzh-hanszuz-latnZkuzban-baliÚenzshi-tfngZbanzzh-hkzsh-cyrlzban-x-palmleafzzh-hantZganZtlyztg-latnzzh-sgzshi-latnZwuuÚsrZcrhzban-x-dharmaÚzhzike-canszzh-twzwuu-hantÚuzzku-arabzen-x-piglatinzcrh-cyrlÚtg>   ZARTICLEPATHZ
SERVERNAMEZ	STYLEPATHZSERVERZ
SCRIPTPATHÚPAGEIDÚINT>Q   ÚREVISIONDAYZCURRENTMONTHNAMEGENZ
CURRENTDAYÚFULLPAGENAMEÚ	TALKSPACEZSITENAMEÚNUMBEROFPAGESZCURRENTDAYNAMEÚCASCADINGSOURCESÚARTICLEPAGENAMEEZCURRENTMONTH1ZLOCALMONTHNAMEGENZ	LOCALWEEKr¶   ZCURRENTYEARZLOCALTIMESTAMPÚREVISIONTIMESTAMPÚSUBJECTPAGENAMEEZ
CURRENTDOWZLOCALDOWZ	LOCALHOURÚNUMBEROFACTIVEUSERSZCURRENTMONTHrÖ   ZCURRENTMONTHNAMEZCONTENTLANGUAGEÚFULLPAGENAMEEÚTALKPAGENAMEÚARTICLESPACEEÚROOTPAGENAMEEÚSUBPAGENAMEÚSUBJECTSPACEÚARTICLEPAGENAMEÚPAGENAMEZ
LOCALMONTHZLOCALMONTHNAMEÚREVISIONMONTH1Ú
TALKSPACEEZLOCALMONTHABBREVÚBASEPAGENAMEÚ	NAMESPACEÚBASEPAGENAMEEÚ
NAMESPACEEZ	LOCALDAY2ZCURRENTHOURZLOCALMONTH1ÚREVISIONUSERZLOCALMONTH2Ú
REVISIONIDZCURRENTTIMESTAMPZ	LOCALTIMEÚREVISIONMONTHZLOCALDAYÚ	PAGENAMEEZPAGELANGUAGEÚSUBPAGENAMEEÚREVISIONDAY2ZCURRENTDAY2ÚSUBJECTSPACEEÚNUMBEROFADMINSÚNUMBEROFFILESÚREVISIONYEARÚTALKPAGENAMEEÚSUBJECTPAGENAMEZCURRENTWEEKÚNUMBEROFUSERSZREVISIONSIZEZCURRENTMONTHABBREVZCURRENTTIMEÚNUMBEROFEDITSZDIRMARKZDIRECTIONMARKÚNUMBEROFARTICLESÚARTICLESPACEZLOCALDAYNAMEZ	LOCALYEARZCURRENTMONTH2ZCURRENTVERSIONÚROOTPAGENAMEÚNAMESPACENUMBERZCONTENTLANG>   ZPLURALZNSZLCZLOCALURLZFILEPATHZGENDERZCANONICALURLEZLCFIRSTZBIDIZANCHORENCODEZPADLEFTz
\#LANGUAGEZ	LOCALURLEZPADRIGHTZGRAMMARZ	FORMATNUMrJ  ZUCFIRSTZCANONICALURLZ	URLENCODEZUCZFULLURLEZFULLURLZNSErK  >7   r`  rl  ra  rb  rU  ZDEFAULTSORTKEYZNUMBERINGROUPrm  rL  rn  rV  Z
PAGESINCATrW  ZPAGESINNAMESPACErX  ZDISPLAYTITLErc  ro  rY  rZ  Z	PAGESINNSrM  ZPAGESINCATEGORYrd  ZPROTECTIONLEVELZDEFAULTCATEGORYSORTrN  rO  ZPROTECTIONEXPIRYre  rP  rQ  r[  r\  rp  rq  rf  rr  Z
NUMINGROUPr]  ÚPAGESIZEr^  rg  rh  rs  ri  rR  rS  rj  rt  ZDEFAULTSORTrT  rk  r_  rK  z~(?xi)
                (\A\s*?)(\#REDIRECT:?) # may contain a colon
                (\s+)(\[\[) (?=[^\]\n]* \]\]$)
            úredirect-innerz^(={2,6})(.+?)(\1)(\s*$\n)z^(=.+?=)(\s*$\n)z(?i))rì   z(?i)\b(?:{}){}{}*ú|z\b(?:RFC|PMID)z	+[0-9]+\bz¹(?x)
                \bISBN {nbsp_char}
                (?: 97[89] {nbsp_dash}? )?
                (?: [0-9] {nbsp_dash}? ){{9}} # escape format()
                [0-9Xx]\b
            z(?:-|ú))Ú	nbsp_charZ	nbsp_dashÚlistrw   r†   z(\]\])(\s*?\n)r:   z(\#)([^#]*?)z(?i)[z]+z^;r"  z^[#:*]+z^-{4,}z~{3,5}rö   z('')(''')(?!')úinline-italic-boldz'''(?!')úinline-boldz''(?!')úinline-italicÚreplaceablezÏ(?xi)
                (\[\[)
                    (File|Image) (:)
                    ((?: [{}] | \{{{{2,3}}[^{{}}]*?\}}{{2,3}} | <!--[\s\S]*?--> )*)
                    (?: (\#) ([{}]*?) )?
                ú#úwikilink-namerx   úmedialink-innera  (?xi)
                (\[\[)(?!{}) # Should not contain URLs
                    (?: ([{}]*) (:))?
                    ((?: [{}] | \{{{{2,3}}[^{{}}]*?\}}{{2,3}} | <!--[\s\S]*?--> )*?)
                    (?: (\#) ([{}]*?) )?
                (\]\])
                rÕ   re   zð(?xi)
                (\[\[)(?!{})
                    (?: ([{}]*) (:))?
                    ((?: [{}] | \{{{{2,3}}[^{{}}]*?\}}{{2,3}} | <!--[\s\S]*?--> )*?)
                    (?: (\#) ([{}]*?) )?
                    (\|)
                úwikilink-innerzi(?xi)
                (\[)
                    ((?:{}) {} {}*)
                    (\s*)
                úextlink-innerz^(:*)(\s*?)(\{\|)([^\n]*)$r;   r   r,  z(?i)(<)({})\bútag-inner-ordinaryz(?i)(</)({})\b(\s*)(>)z(?i)(<)(nowiki)\b)ú
tag-nowikiú	tag-innerz(?i)(<)(pre)\b)útag-prer†  z(?i)(<)(categorytree)\b)útag-categorytreer†  z(?i)(<)(hiero)\b)ú	tag-hieror†  z(?i)(<)(math)\b)útag-mathr†  z(?i)(<)(chem)\b)útag-chemr†  z(?i)(<)(ce)\b)útag-cer†  z(?i)(<)(charinsert)\b)útag-charinsertr†  z(?i)(<)(templatedata)\b)útag-templatedatar†  z(?i)(<)(gallery)\b)útag-galleryr†  )ú	tag-graphr†  z(?i)(<)(dynamicpagelist)\b)útag-dynamicpagelistr†  z(?i)(<)(inputbox)\b)útag-inputboxr†  z(?i)(<)(rss)\b)útag-rssr†  z(?i)(<)(imagemap)\b)útag-imagemapr†  z#(?i)(</)(syntaxhighlight)\b(\s*)(>)z9(?si)(<)(syntaxhighlight)\b([^>]*?(?<!/)>.*?)(?=</\2\s*>)z?(?i)(<)(syntaxhighlight)\b(\s*?)((?:[^>]|-->)*?)(/\s*?(?<!--)>)z(?i)(</)(source)\b(\s*)(>)z0(?si)(<)(source)\b([^>]*?(?<!/)>.*?)(?=</\2\s*>)z6(?i)(<)(source)\b(\s*?)((?:[^>]|-->)*?)(/\s*?(?<!--)>)z(?i)(</)(score)\b(\s*)(>)z/(?si)(<)(score)\b([^>]*?(?<!/)>.*?)(?=</\2\s*>)z5(?i)(<)(score)\b(\s*?)((?:[^>]|-->)*?)(/\s*?(?<!--)>)zù(?xi)
                (-\{{) # Use {{ to escape format()
                    ([^|]) (\|)
                    (?:
                        (?: ([^;]*?) (=>))?
                        (\s* (?:{variants}) \s*) (:)
                    )?
                )Úvariantsúlc-rawúlc-innerzS(?xi)
                (-\{)
                    ([a-z\s;-]*?) (\|)
                úlc-flagzˆ(?xi)
                (-\{{) (?!\{{) # Use {{ to escape format()
                    (?: (\s* (?:{variants}) \s*) (:))?
                z[^{<]+rü   z(?=\[\[)z\]\]z(\|)([^\n=|]*)(=)z\|z(?=\]\]|\{\{|\}\})rI   úquote-common)r:   r|  )r:   r{  útext-italicz(''')('')(?!'))r:   r}  )r:   úinline-bold-italicú	text-boldútext-bold-italicr8   ú;z{(?xi)
                (;)
                (?: ([^;]*?) (=>))?
                (\s* (?:{variants}) \s*) (:)
                z	;?\s*?\}-z\}-z<!--[\s\S]*?(?:-->|\Z)zk(?x)
                (\{{3})
                    ([^|]*?)
                    (?=\}{3}|\|)
                úparameter-innerz"(?i)(\{{\{{)(\s*)({})(\s*)(\}}\}})z(\{{\{{)(\s*)({})(\s*)(\}}\}})z\{\{útemplate-begin-spacez(?i)(<)(tvar)\b(\|)([^>]*?)(>)z</>z(?i)(<)(tvar)\bz(?i)(</)(tvar)\b(\s*)(>)z\}{3}z(?i)(\#[{}]*?|{})(:))r:   útemplate-innerz({})(:)z(?i)([z]*?)(:))r:   útemplate-namez
(\s*?)(\|)z\}\}zž(?x)
                    (?<=\|)
                    ( (?: (?! \{\{ | \}\} )[^=\|<])*? ) # Exclude templates and tags
                    (=)
                z^([ \t\n\r\0\x0B]*?)(\|\})z^([ \t\n\r\0\x0B]*?)(\|-+)(.*)$zÊ(?x)
                ^([ \t\n\r\0\x0B]*?)(\|\+)
                # Exclude links, template and tags
                (?: ( (?: (?! \[\[ | \{\{ )[^|\n<] )*? )(\|) )?
                (.*?)$
                z�(?x)
                ( ^(?:[ \t\n\r\0\x0B]*?)\| | \|\| )
                (?: ( (?: (?! \[\[ | \{\{ )[^|\n<] )*? )(\|)(?!\|) )?
                zˆ(?x)
                ( ^(?:[ \t\n\r\0\x0B]*?)!  )
                (?: ( (?: (?! \[\[ | \{\{ )[^|\n<] )*? )(\|)(?!\|) )?
                útable-headerz®(?x)
                (!!|\|\|)
                (?:
                    ( (?: (?! \[\[ | \{\{ )[^|\n<] )*? )
                    (\|)(?!\|)
                )?
                rî   ú:r9   z(=)(\s*)(")ú
attr-val-2z(=)(\s*)(')ú
attr-val-1z(=)(\s*)ú
attr-val-0z[\w:-]+z\sú'ú"z/?\s*>útag-attrz/\s*>r®   z\s*>útag-attr-val-2útag-attr-val-1útag-attr-val-0z/?>r@  r2  r:  r3  r;  r4  rC  r8  r<  r1  r=  r9  rš   r>  rB  r?  )8r;   rv  rz  rw   r€  r‚  r�  r™  r}  r|  r›  r{  r˜  r—  r–  r~  rŸ  r   r¢  r¡  r,  r£  rö   r"  rƒ  z
nowiki-ishr   r§  r¦  r¥  r„  r†  rª  r­  r¬  r«  r…  r‡  rˆ  r‘  r‰  r’  r”  r�  ztag-timeliner�  r�  r“  rŠ  r‹  rŒ  rŽ  rš  rœ  r�  r†   N)Gr<   r=   r>   r?   r@   rC   rA   rK   rB   rD   rL   rM   rO   rù   rú   rû   rý   r	  r  Z
title_charry  Zlink_addressZlink_char_classZdouble_slashes_iZdouble_slashesZ	protocolsZnon_relative_protocolsZ	html_tagsZparser_tagsZvariant_langsZmagic_vars_iZ
magic_varsZparser_functions_iZparser_functionsr
   r   r   r   r   rË   rP   r   r   ÚFunctionÚMagicÚformatÚjoinrÏ   r	   rŠ   r�   rÌ   r�   rR   r   r   Úreplacer   rE   r   r   rÜ   rŽ   r   r   rÎ   r¦   rÙ   r!   r   r-   r,   r,   r,   r2   r+   ›  s,  &
üÿ
ÿÿÿ
ÿûûâ!ýú
ÿÿ


û
ÿ÷
ù
ÿ÷
ù
ÿõüù
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùþôþøýú€ × 4ýûÿú
ýÿÿ

ù
ÿÿ

ù
ÿÿ

ù
ÿÿ

ù
þýüÿú	ôý
ù
ÿÿ
ÿÿæü	ÿýþ
þìüû
úô
ÿÿ
ÿÿùÿÿû
ÿÿù	Ø,ÿÿøýòÿüýþú
þý
þý
þýþü	ÿÿÿÿøýü
ýü
ýü€ € € € Ýr+   )6r?   rL   Zpygments.lexers.htmlr   Zpygments.lexers.javascriptr   Zpygments.lexers.cssr   Zpygments.lexers.lilypondr   Zpygments.lexers.datar   Zpygments.lexerr   r   r	   r
   r   r   r   r   r   Zpygments.tokenr   r   r   r   r   r   r   r   r   r   r   r   Zpygments.utilr   r   Ú__all__r3   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r,   r,   r2   Ú<module>   s6   
,8!. (D8)|r #