a
    ñ»j0 ã                   @   s˜  d Z ddl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 ddlmZ ddlmZ g 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#ƒ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,dS )*zÐ
    pygments.lexers.jvm
    ~~~~~~~~~~~~~~~~~~~

    Pygments lexers for JVM languages.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)	ÚLexerÚ
RegexLexerÚincludeÚbygroupsÚusingÚthisÚcombinedÚdefaultÚwords)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
Whitespace©Úshebang_matches)Ú	unistring)Ú	JavaLexerÚ
ScalaLexerÚ	GosuLexerÚGosuTemplateLexerÚGroovyLexerÚ	IokeLexerÚClojureLexerÚClojureScriptLexerÚKotlinLexerÚ
XtendLexerÚAspectJLexerÚCeylonLexerÚPigLexerÚ	GoloLexerÚJasminLexerÚ	SarlLexerc                   @   sê  e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB Zdeeeeƒejƒd	fd
efdeejeƒfdejfdefdeeeƒejeeƒfdejfdejfdejfdeejeƒdfdejfdejd	fdejdfdeejeƒdfdeejeƒdfdedfdedfdejfd eeej ƒfd!eeeeƒfd"eeej!eƒfd#efd$e"j#fd%e"j$fd&e"j%fd'e"j&fd(e"j'fd)e(fd*efd+efgd,e)fd#ej*d-fgd,e)fd#ej*d-fgd#ed-fgd.ejd-fgd/ed-fdefe+dƒgd0efd1efd2efd3efded-fgd4œZ,d5S )6r   z
    For Java source code.
    ÚJavaz(https://www.oracle.com/technetwork/java/Újavaz*.javaztext/x-javaÚ zJ(^\s*)((?:(?:public|private|protected|static|strictfp)(?:\s+))*)(record)\bÚclassú[^\S\n]+ú(//.*?)(\n)ú	/\*.*?\*/zz(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while)\bzF((?:(?:[^\W\d]|\$)[\w.\[\]$<>?]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()ú@[^\W\d][\w.]*zê(abstract|const|enum|exports|extends|final|implements|native|non-sealed|open|opens|permits|private|protected|provides|public|requires|sealed|static|strictfp|super|synchronized|throws|to|transient|transitive|uses|volatile|with|yield)\bú6(boolean|byte|char|double|float|int|long|short|void)\bú(package)(\s+)Úimportú(true|false|null)\bz(class|interface)\bz
(module)\bÚmodulez
(var)(\s+)Úvarz&(import(?:\s+(?:static|module))?)(\s+)z"""\nÚmultiline_stringú"Ústringú!'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'ú(\.)((?:[^\W\d]|\$)[\w$]*)z^(\s*)(default)(:)z^(\s*)((?:[^\W\d]|\$)[\w$]*)(:)z([^\W\d]|\$)[\w$]*a  ([0-9][0-9_]*\.([0-9][0-9_]*)?|\.[0-9][0-9_]*)([eE][+\-]?[0-9][0-9_]*)?[fFdD]?|[0-9][eE][+\-]?[0-9][0-9_]*[fFdD]?|[0-9]([eE][+\-]?[0-9][0-9_]*)?[fFdD]|0[xX]([0-9a-fA-F][0-9a-fA-F_]*\.?|([0-9a-fA-F][0-9a-fA-F_]*)?\.[0-9a-fA-F][0-9a-fA-F_]*)[pP][+\-]?[0-9][0-9_]*[fFdD]?z"0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?z0[bB][01][01_]*[lL]?z0[0-7_]+[lL]?z0|[1-9][0-9_]*[lL]?ú[~^*!%&\[\]<>|+=/?-]ú
[{}();:.,]ú\nú\s+ú#popú	[\w.]+\*?ú"""z[^\\"]+ú\\\\ú\\"ú\\)Úrootr*   r3   r4   r1   r5   r7   N)-Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚreÚ	MULTILINEÚDOTALLÚflagsr   r   r   r   r   ÚDeclarationr   ÚSingleÚ	Multiliner   ÚFunctionr   Ú	DecoratorÚTypeÚ	NamespaceÚConstantr   ÚCharÚ	AttributeÚLabelr   ÚFloatÚHexÚBinÚOctÚIntegerr   r   ÚClassr   Útokens© re   re   ú9E:\soccer\ml_env\Lib\site-packages\pygments/lexers/jvm.pyr      sœ   ÿþýþÿ

ÿÿ
ÿùÌ7
þ
þÿ
ÿýû¶r   c                   @   sN   e Zd ZdZdZdZdgZdgZdgZdZ	h d£Z
h d	£Zh d
£Zdd„ ZdS )r!   z"
    For AspectJ source code.
    ÚAspectJzhttp://www.eclipse.org/aspectj/Úaspectjz*.ajztext/x-aspectjú1.6>+   ÚargsZpointcutZthisJoinPointStaticPartZthisAspectInstanceZ thisEnclosingJoinPointStaticPartÚhandlerZ
cflowbelowZissingletonZwithinÚlockÚaroundZsoftÚgetZ	executionZpreinitializationÚbeforeÚ
precedenceÚparentsZ
privilegedÚafterÚerrorZthisJoinPointÚproceedÚwarningZstaticinitializationZaspectZ
withincodeÚtargetZperthisZadviceexecutionÚunlockZinitializationZcflowÚdeclareZ	returningZpercflowZ	pertargetZthrowingÚ
annotationÚsetZpercflowbelowÚcallZpertypewithin>   zwarning:zerror:zprecedence:zsoft:zparents:>   z@fieldz@constructorz@typez@methodc                 c   s¤   t  | |¡D ]’\}}}|tu r6|| jv r6|t|fV  q|tju rp|| jv rp|t|d d… fV  |t|d fV  q|tju r’|| j	v r’|t|fV  q|||fV  qd S )Néÿÿÿÿ)
r   Úget_tokens_unprocessedr   Úaj_keywordsr   r]   Úaj_inter_typer   rW   Úaj_inter_type_annotation)ÚselfÚtextÚindexÚtokenÚvaluere   re   rf   r}   –   s    z#AspectJLexer.get_tokens_unprocessedN)rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r~   r   r€   r}   re   re   re   rf   r!   |   s   r!   c                (   @   sv  e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB Zde d	d
¡ d Zde ddddd¡ d Zde dd¡ d Zde› d�Zd e dd¡¡Ze› d�Ze› e› d�Ze› e› de› d�Ze› e› de› d�Zde› de› d�ZdZde› de› d�ZdZd Zd!Z d"Z!d#Z"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#d0ƒe#d1ƒe#d2ƒe#d3ƒe#d4ƒe#d5ƒe#d6ƒe#d7ƒe#d8ƒe#d9ƒgd:e$fgd;e%j&fd<e%j'd=fgd>e%j(fgd?e)e*e$ƒd@fgdAe)e*e$e*e$ƒdBfdCe)e*e$ƒdBfge+e"dDdDdE�e*fdFe*fgdGe› �e,j-fgdHe)e.e$e*e$ƒfgdIe› dJe› dK�e)e*e$e,j/ƒfdLe› dJe› dK�e)e*e$e,j0ƒfdMe› dJe› dK�e)e*e$e*e$e,j0ƒfdNe› dJe› dK�e)e*e$e,j0ƒfdOe*j1fdPe› dJe› dK�e)e*e$e*e$e,j2ƒfdQe)e*e$ƒdRfdSe› d�e)e*e$e,j0ƒfdSe› dK�e)e*e$e,ƒfg	dTe› de› dUe› dV�e)e*e$e,j0ƒfgdWe)e*e$ƒfgdXe)e*e$e*ƒfdYe› de› �e)e*e$e,j0ƒfdYe› de› dKe› �e)e*e$e,j2ƒfgdZe.fd[e.fge+e dDdDdE�e*fgdJe› d\�e)e3e$ƒfd]e3fe+e!ƒe3fd^e› d_e› d�e3fgd`e,j4j5fdae*j6fdbe7j8fdce7j9fdde7j9fdee7j9fdfe7j:j;fdge7j:fdhe<fdie<fdje)e<j=e<j>e<j=ƒfdke<j=fgdle<dmfdne<dofdpe<fgdqe› dr�e<j?fgdse)e.e*ƒfgdte› de› du�e*fdve*fgdwe.fdxe.fgee,j0fee,fgdye%j'fd<e%j'dzfd{e%j'd|fd}e%j'fgd~e@d|fe#d%ƒde*fe#d€ƒd�e.d‚fge#d$ƒe#d%ƒde*fdƒe3fd„e.d|fd…e.fd†e.fe#d€ƒgd~e@d|fe#d%ƒe#d€ƒd�e.d‡fge#d$ƒe#d%ƒdƒe3fd„e.d|fd…e.fe#d€ƒgdˆe@d|fd‰e.d|fe#d%ƒe#d€ƒgdŠe<d|fd‹e<fe#dŒƒgd‹e<d|fe#dŒƒgd„e<jAd|fd�e.d�fe#dŽƒgd�e.dzfd„e.d|fe#dŽƒgee,j0fdJe› d��e)e,j2e.ƒfd�e.fee,fd‘e$fgd’e<fd“e<j>fd”e› d�e)e<jAe,ƒfd•e<jAd–fd—e<fgd˜œ#ZBd™S )šr   z 
    For Scala source code.
    ÚScalazhttp://www.scala-lang.orgÚscalaz*.scalaztext/x-scalar)   z[!#%&*\-\/:?@^ZSmZSoú]z[_\$ÚLlÚLuZLoÚNlÚLtú[z(?:z|[0-9])z(?:{}|[0-9])ú\$ú+Ú*z
*(?:(?<=_)z+)?ú|z+)z`[^`]+`ú)z
(?!//|/\*)z(?=\s*(//|$)))ÚnewÚreturnÚthrowZclassOfZisInstanceOfZasInstanceOfÚelseÚifZthenÚdoÚwhileÚforÚyieldÚmatchÚcaseZcatchÚfinallyÚtry)z<%z=:=z<:<z<%<z>:z<:ú=ú==z!=ú<=ú>=z<>ú<ú>z<-u   â†�ú->u   â†’ú=>u   â‡’ú?ú@r‘   ú-r�   r�   ú%ú~ú\)ÚprivateZ	protectedZsynchronizedz	@volatileÚabstractÚfinalZlazyZsealedZimplicitÚoverridez
@transientz@nativeÚ
whitespaceÚcommentsúscript-headerÚimportsÚexportsústorage-modifiersÚannotationsr   ÚdeclarationsÚinheritanceÚ	extensionÚendÚ	constantsÚstringsÚsymbolsúsingleton-typeÚinlineÚquotedÚkeywordsÚ	operatorsÚpunctuationÚnamesr=   ú//.*?\nú/\*Úcommentz^#!([^\n]*)$z\b(import)(\s+)úimport-pathz\b(export)(\s+)(given)(\s+)úexport-pathz\b(export)(\s+)ú\b)ÚprefixÚsuffixzj\b(transparent|opaque|infix|open|inline)\b(?=[a-z\s]*\b(def|val|var|given|type|class|trait|object|enum)\b)r©   z(\()(\s*)(using)(\s)z\b(def)\b(\s*)ú(z)?z\b(trait)\b(\s*)z,\b(?:(case)(\s+))?(class|object|enum)\b(\s*)z(?<!\.)\b(type)\b(\s*)z\b(val|var)\bz\b(package)(\s+)(object)\b(\s*)z\b(package)(\s+)Úpackagez\b(given)\b(\s*)(z \b(extends|with|derives)\b(\s*)(z|(?=\([^\)]+=>)|(?=z	)|(?="))?z\b(extension)(\s+)(?=[\[\(])z8\b(end)(\s+)(if|while|for|match|new|extension|val|var)\bz\b(end)(\s+)(z[{}()\[\];,.]z(?<!:):(?!:)z
{2,})(\s+)z	/(?![/*])z(?<!z)(!|&&|\|\|)(?!z\b(this|super)\br2   z0[xX][0-9a-fA-F_]*zJ([0-9][0-9_]*\.[0-9][0-9_]*|\.[0-9][0-9_]*)([eE][+-]?[0-9][0-9_]*)?[fFdD]?z[0-9]+([eE][+-]?[0-9]+)?[fFdD]z[0-9]+([eE][+-]?[0-9]+)[fFdD]?z
[0-9]+[lL]ú[0-9]+z""".*?"""(?!")z"(\\\\|\\"|[^"])*"z(')(\\.)(')z'[^\\]'|'\\u[0-9a-fA-F]{4}'z[fs]"""úinterpolated-string-triplez[fs]"úinterpolated-stringzraw"(\\\\|\\"|[^"])*"z('z)(?!')z(\.)(type)\bz\b(inline)(?=\s+(z)\s*:)z=\b(inline)\b(?=(?:.(?!\b(?:val|def|given)\b))*\b(if|match)\b)z['$]\{(?!')z'\[(?!')z[^/*]+ú#pushú\*/r>   ú[*/]z(?<=[\n;:])z\b(given)\búqualified-nameú\{úimport-path-curly-bracer§   ú\}ú,z[\[\]]úexport-path-curly-bracez
(?<=[\n;])ú:z"""(?!")r6   úinterpolated-string-commonú interpolated-string-nested-bracerD   z)(\.)z\.r+   z[^"$\\]+z\$\$z(\$)(ú\$\{úinterpolated-string-bracez\\.)#rD   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Þ   N)CrE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   ÚuniÚcombineZopcharÚletterZupperLetterZletterOrDigitÚformatÚreplaceZletterOrDigitNoDollarSignZalphaIdZsimpleInterpolatedVariableZidrestZidUpperZplainidZbackQuotedIdZanyIdZnotStartOfCommentZendOfLineMaybeWithCommentrÃ   rÄ   Zstorage_modifiersr   r   r   rT   rU   ÚHashbangr   r   r
   r   rW   r   rV   rc   rS   rY   r   ÚBuiltinÚPseudorZ   r   r_   r^   rb   ÚLongr   r[   ÚEscapeÚSymbolr   ÚInterpolrd   re   re   re   rf   r   £   sÎ  
êÿ
þÿÿÿýÿú
ÿýÿÿÿÿÿ
ÿ

ÿñÿÿÿþÿÿ
ÿÿÿú
þÿ
ü
ÿ
óýÿÿÿÿû
üþ

üûøüú	üýþ
ýýû

ÿ
ú€ �r   c                   @   sž  e Zd ZdZdZdgZg d¢ZdgZdZdZ	e
je
jB Zdeeeƒejeeƒfd	efd
ejfdejfdejfdefdejfdeejeejƒfdejfdeejeƒfdejfdeejeejƒfdeejeejƒfdedfdeeej ƒfdeeej ƒfdefdefde!j"fde!j#fdefgdefdeeejƒd fd!ejfd"ed fd#ed$fd%efgded&fe$d'ƒgdedfd(ed&fe$d)ƒgdedfd*ed$fd+ed&fe$d)ƒgd,œZ%d-S ).r   z
    For Gosu source code.
    ÚGosuÚgosu)z*.gsz*.gsxz*.gspz*.varkztext/x-gosuúhttps://gosu-lang.github.ioú1.5ú9^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()r+   rÇ   r-   ú@[a-zA-Z_][\w.]*zº(in|as|typeof|statictypeof|typeis|typeas|if|else|foreach|for|index|while|do|continue|break|return|try|catch|finally|this|throw|new|switch|case|default|eval|super|outer|classpath|using)\bz•(var|delegate|construct|function|private|internal|protected|public|abstract|override|final|static|extends|transient|implements|represents|readonly)\bz(property)(\s+)(get|set)?z<(boolean|byte|char|double|float|int|long|short|void|block)\br0   z (true|false|null|NaN|Infinity)\bz5(class|interface|enhancement|enum)(\s+)([a-zA-Z_]\w*)z(uses)(\s+)([\w.]+\*?)r6   r7   z(\??[.#])([a-zA-Z_]\w*)z(:)([a-zA-Z_]\w*)ú[a-zA-Z_$]\w*z)and|or|not|[\\~^*!%&\[\](){}<>|+=:;,./?-]ú%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?rÑ   r<   z(\\<)|(\\\$)z(<%@\s+)(extends|params)ÚstringTemplatez<%!--.*?--%>z
(<%)|(<%=)rà   ÚstringTemplateShorthandÚ.r>   ÚtemplateTextz%>rD   rØ   rÚ   )rD   rù   r7   rö   r÷   N)&rE   rF   rG   rH   rI   rK   rL   rM   rJ   rN   rO   rP   rQ   rR   r   r   r   r   rV   r   r   r   rT   rU   rW   r   rS   rX   rY   rZ   rc   r   r\   r   r^   rb   r   rd   re   re   re   rf   r   À  sˆ   ýýþÿÿÿ
ÿ
ÿÝ&ÿù
þýüÈr   c                   @   s6   e Zd ZdZdZdgZdgZdgZdZdZ	dd	„ Z
d
S )r   z
    For Gosu templates.
    zGosu TemplateÚgstz*.gstztext/x-gosu-templaterð   rñ   c                 c   s"   t ƒ }dg}| ||¡E d H  d S )Nrù   )r   r}   )r�   r‚   ÚlexerÚstackre   re   rf   r}     s    z(GosuTemplateLexer.get_tokens_unprocessedN)rE   rF   rG   rH   rI   rK   rL   rM   rJ   rN   r}   re   re   re   rf   r     s   r   c                   @   sp  e Zd ZdZdZdZdgZddgZdgZdZ	e
je
jB Zd	ejd
fed
ƒgdefdeejeƒfdejfdefdeeeƒejeeƒfdejfdejfdejfdeejeƒfdejfdeejeƒdfdeejeƒdfde j!fde jfde j!fde jfde fde fde j"fd eeej#ƒfd!ej$fd"efd#efd$e%j&fd%e%j'fd&e%j(fd'efgd(ej)d)fgd*ejd)fgd+œZ*d,d-„ Z+d.S )/r   z!
    For Groovy source code.
    ÚGroovyzhttps://groovy-lang.org/Úgroovyz*.groovyz*.gradleztext/x-groovyrñ   z#!(.*?)$Úbaser+   r,   r-   z€(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while|in|as)\bzo^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*|"(?:\\\\|\\[^\\]|[^"\\])*"|'(?:\\\\|\\[^\\]|[^'\\])*')(\s*)(\()ró   z�(abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\bz:(def|boolean|byte|char|double|float|int|long|short|void)\br0   r2   ú(class|interface)(\s+)r*   ú(import)(\s+)r1   z	""".*?"""z	'''.*?'''ú"(\\\\|\\[^\\]|[^"\\])*"ú'(\\\\|\\[^\\]|[^'\\])*'z\$/((?!/\$).)*/\$z/(\\\\|\\[^\\]|[^/\\])*/r8   ú(\.)([a-zA-Z_]\w*)ú[a-zA-Z_]\w*:rô   ú[~^*!%&\[\](){}<>|+=:;,./?-]rõ   ú0x[0-9a-fA-F]+ú[0-9]+L?r<   ú[a-zA-Z_]\w*r>   r?   )rD   rÿ   r*   r1   c                 C   s
   t | dƒS )Nrþ   r   )r‚   re   re   rf   Úanalyse_textj  s    zGroovyLexer.analyse_textN),rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r   ÚPreprocr	   r   r   rT   rU   r   r   r   r   rV   r   rW   rS   rX   rY   rZ   r   ÚDoubler[   r\   r]   r   r^   r_   rb   rc   rd   r
  re   re   re   rf   r   !  sn   
ýþùþÿÿÕ.
ÿ
ÿÊ;r   c                /   @   s  e Zd ZdZdZdZdgZddgZdgZdZ	d	e
jfd
edfgde
dfedƒde
fgde
jdfedƒde
jfgdedfedƒgde
jdfedƒde
jfde
jfgde
jdfedƒde
jfde
jfgde
dfedƒde
fgdefdefdefdefde
jdfde
jd fd!e
jfd"e
jfd#e
jfd$e
jd%fd&e
d'fd(e
d)fd*ejfd+ejfd,ejfd-efd.efd/efd0ejfd1ejfd2efd3ejfd4efd5ejfd6efd7ejfd8ejfd9ejfd:ejfd;ejfd<ejfd=ejfd>ejfd?efd@e fdAe fdBefdCej!fdDefg'dEœZ"dFS )Gr   z`
    For Ioke (a strongly typed, dynamic,
    prototype based programming language) source.
    ÚIokezhttps://ioke.org/z*.ikÚiokeÚikztext/x-iokesrcz1.4zS(\\b|\\e|\\t|\\n|\\f|\\r|\\"|\\\\|\\#|\\\Z|\\u[0-9a-fA-F]{1,4}|\\[0-3]?[0-7]?[0-7])z#\{ÚtextInterpolationRootz(?<!\\)"r>   ÚinterpolatableTextz[^"]rÚ   rD   z(?<!\\)/[im-psux]*z\\/z[^/]z(?<!\\)][im-psux]*z\\]z[^\]]z(?<!\\)]r<   r=   z;(.*?)\nz\A#!(.*?)\nz#/ÚslashRegexpz#r\[ÚsquareRegexpz	:[\w!:?]+z[\w!:?]+:(?![\w!?])z:"(\\\\|\\[^\\]|[^"\\])*"zŒ((?<=fn\()|(?<=fnx\()|(?<=method\()|(?<=macro\()|(?<=lecro\()|(?<=syntax\()|(?<=dmacro\()|(?<=dlecro\()|(?<=dlecrox\()|(?<=dsyntax\())(\s*)"Údocumentationr6   r‚   z#\[Ú
squareTextz\w[\w!:?]+(?=\s*=.*mimic\s)z.[a-zA-Z_][\w!:?]*(?=[\s]*[+*/-]?=[^=].*($|\.))z…(break|cond|continue|do|ensure|for|for:dict|for:set|if|let|loop|p:for|p:for:dict|p:for:set|return|unless|until|while|with)(?![\w!:?])z%(eval|mimic|print|println)(?![\w!:?])z|(cell\?|cellNames|cellOwner\?|cellOwner|cells|cell|documentation|hash|identity|mimic|removeCell\!|undefineCell\!)(?![\w!:?])z(stackTraceAsText)(?![\w!:?])z"(dict|list|message|set)(?![\w!:?])z`(case|case:and|case:else|case:nand|case:nor|case:not|case:or|case:otherwise|case:xor)(?![\w!:?])z¬(asText|become\!|derive|freeze\!|frozen\?|in\?|is\?|kind\?|mimic\!|mimics|mimics\?|prependMimic\!|removeAllMimics\!|removeMimic\!|same\?|send|thaw\!|uniqueHexId)(?![\w!:?])z (after|around|before)(?![\w!:?])zG(kind|cellDescriptionDict|cellSummary|genSym|inspect|notice)(?![\w!:?])z(use|destructuring)zn(cell\?|cellOwner\?|cellOwner|cellNames|cells|cell|documentation|identity|removeCell!|undefineCell)(?![\w!:?])z•(internal:compositeRegexp|internal:concatenateText|internal:createDecimal|internal:createNumber|internal:createRegexp|internal:createText)(?![\w!:?])zk(availableRestarts|bind|error\!|findRestart|handle|invokeRestart|rescue|restart|signal\!|warn\!)(?![\w!:?])z(nil|false|true)(?![\w!:?])a
  (Arity|Base|Call|Condition|DateTime|Aspects|Pointcut|Assignment|BaseBehavior|Boolean|Case|AndCombiner|Else|NAndCombiner|NOrCombiner|NotCombiner|OrCombiner|XOrCombiner|Conditions|Definitions|FlowControl|Internal|Literals|Reflection|DefaultMacro|DefaultMethod|DefaultSyntax|Dict|FileSystem|Ground|Handler|Hook|IO|IokeGround|Struct|LexicalBlock|LexicalMacro|List|Message|Method|Mixins|NativeMethod|Number|Origin|Pair|Range|Reflector|Regexp Match|Regexp|Rescue|Restart|Runtime|Sequence|Set|Symbol|System|Text|Tuple)(?![\w!:?])uw   (generateMatchMethod|aliasMethod|Î»|ÊŽ|fnx|fn|method|dmacro|dlecro|syntax|macro|dlecrox|lecrox|lecro|syntax)(?![\w!:?])z-?0[xX][0-9a-fA-F]+z(-?(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?ú-?\d+z#\(a„  (&&>>|\|\|>>|\*\*>>|:::|::|\.\.\.|===|\*\*>|\*\*=|&&>|&&=|\|\|>|\|\|=|\->>|\+>>|!>>|<>>>|<>>|&>>|%>>|#>>|@>>|/>>|\*>>|\?>>|\|>>|\^>>|~>>|\$>>|=>>|<<=|>>=|<=>|<\->|=~|!~|=>|\+\+|\-\-|<=|>=|==|!=|&&|\.\.|\+=|\-=|\*=|\/=|%=|&=|\^=|\|=|<\-|\+>|!>|<>|&>|%>|#>|\@>|\/>|\*>|\?>|\|>|\^>|~>|\$>|<\->|\->|<<|>>|\*\*|\?\||\?&|\|\||>|<|\*|\/|%|\+|\-|&|\^|\||=|\$|!|~|\?|#|\u2260|\u2218|\u2208|\u2209)z-(and|nand|or|xor|nor|return|import)(?![\w!?])z.(\`\`|\`|\'\'|\'|\.|\,|@@|@|\[|\]|\(|\)|\{|\})z[A-Z][\w!:?]*z[a-z_][\w!:?]*)r  r‚   r  r  r  r  r  rD   N)#rE   rF   rG   rH   rI   rJ   rL   rK   rM   rN   r   rë   r   r   ÚDocÚRegexr   r   rì   ÚOtherr   ÚEntityÚVariabler   ÚReservedrZ   rè   rV   r   r_   r^   rb   r   rc   rd   re   re   re   rf   r   n  sÖ   ÿýý
ýþ
ü
üý

þÿþþÿýÿþýþ	÷þúÿ€ ýÔr   c                   @   sþ   e Zd ZdZdZdZddgZddgZdd	gZd
Z	dZ
dZdZdZddejfdefdefdejfdefdejfdejfdefde ejfdejfde ejfdefee
dd�efeedd�ejfeedd�ejfde ejfeej fde!fd e!fd!e!fgiZ"d"S )#r   z(
    Lexer for Clojure source code.
    ÚClojurezhttp://clojure.org/ÚclojureÚcljz*.cljz*.cljcztext/x-clojurezapplication/x-clojurez0.11)
rø   Údefr˜   Úfnr—   Zletr“   Úquoter4   Úloop)zdef-Zdefnzdefn-ZdefmacroZdefmultiZ	defmethodZ	defstructZdefoncerx   Z	definlineZdefinterfaceZdefprotocolZ	defrecordÚdeftypeZ
defprojectÚns(-  r�   r�   rª   r¦   ú/r¤   r¢   r    r¡   r¥   r£   z..ÚaccessorZagentzagent-errorsZagetZalengthzall-nsZalterÚandzappend-childÚapplyz	array-mapZasetzaset-booleanz	aset-bytez	aset-charzaset-doublez
aset-floatzaset-intz	aset-longz
aset-shortÚassertZassocÚawaitz	await-forZbeanZbindingzbit-andzbit-notzbit-orzbit-shift-leftzbit-shift-rightzbit-xorÚbooleanzbranch?ZbutlastÚbyteÚcastÚcharÚchildrenr*   zclear-agent-errorsrÉ   ZcommuteÚcompZ
comparatorZ
complementÚconcatZconjZconsZ
constantlyZcondzif-notzconstruct-proxyz	contains?Úcountz	create-nszcreate-structÚcycleÚdecZderefÚ
differenceZdisjZdissocZdistinctZdoallÚdocZdorunÚdoseqZdosyncZdotimesZdotoÚdoubleZdownZdropz
drop-whileZeditzend?ZensureÚevalzevery?zfalse?Zffirstzfile-seqÚfilterÚfindzfind-doczfind-nszfind-varÚfirstÚfloatÚflushrš   ZfnseqZfrestZgensymzget-proxy-classrn   zhash-mapzhash-setz
identical?Úidentityzif-letr1   zin-nsÚincrƒ   zinsert-childzinsert-leftzinsert-rightzinspect-tablezinspect-treez	instance?ÚintÚ
interleaveÚintersectionZintoz
into-arrayZiterateÚjoinÚkeyÚkeysÚkeywordzkeyword?Úlastzlazy-catz	lazy-consÚleftZleftszline-seqzlist*ÚlistÚloadz	load-fileÚlockingÚlongr#  Zmacroexpandzmacroexpand-1z
make-arrayz	make-nodeÚmapz
map-invertzmap?ZmapcatÚmaxzmax-keyZmemfnÚmergez
merge-withÚmetaÚminzmin-keyrI   Ú	namespacezneg?r“   ÚnewlineÚnextznil?ÚnodeÚnotznot-any?z
not-every?znot=z
ns-importsz
ns-internszns-mapzns-namez
ns-publicsz	ns-refersz
ns-resolvezns-unmapZnthZnthrestÚorÚparseÚpartialÚpathÚpeekÚpopzpos?Úprzpr-strÚprintz	print-strZprintlnzprintln-strZprnzprn-strÚprojectÚproxyzproxy-mappingsÚquotZrandzrand-intÚrangezre-findz	re-groupsz
re-matcherz
re-matchesz
re-patternzre-seqÚreadz	read-lineÚreduceÚrefzref-setZreferÚremÚremovezremove-methodz	remove-nsÚrenamezrename-keysÚrepeatræ   Z	replicateÚresolveÚrestzresultset-seqÚreverseZrfirstÚrightZrightsrD   ZrrestZrseqÚsecondÚselectzselect-keysÚsendzsend-offÚseqzseq-zipzseq?rz   ÚshortZslurpZsomeÚsortzsort-byz
sorted-mapzsorted-map-byz
sorted-setzspecial-symbol?zsplit-atz
split-withÚstrzstring?Ústructz
struct-mapÚsubsZsubvecÚsymbolzsymbol?ZsyncZtakeztake-nthz
take-whileÚtestÚtimezto-arrayzto-array-2dztree-seqztrue?ÚunionÚupzupdate-proxyÚvalÚvalszvar-getzvar-setzvar?Zvectorz
vector-zipzvector?Úwhenz
when-firstzwhen-letzwhen-notzwith-local-varsz	with-metaz	with-openzwith-out-strzxml-seqzxml-zipzzero?ZzipmapZzipperz(?!#)[\w!$%*+<=>?/.#|-]+rD   z;.*$z,+r=   z
-?\d+\.\d+z	-?\d+/\d+r  z0x-?[abcdef\d]+r  ú'zO\\(?:newline|space|tab|formfeed|backspace|return|u[0-9a-fA-F]{4}|o[0-7]{1,3}|.)z::?#?z~@|[`\'#^~&@]ú ©rÎ   z(?<=\()z(\[|\])z(\{|\})z(\(|\))N)#rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   Zspecial_formsr¹   ÚbuiltinsZ
valid_namer   rT   r   r   r   r^   rb   r_   r   rì   r[   r   r
   r   rS   r   rè   rV   r  r   rd   re   re   re   rf   r   -  sH   9ÿËÿr   c                   @   s2   e Zd ZdZdZdZddgZdgZddgZd	Z	d
S )r   z.
    Lexer for ClojureScript source code.
    ÚClojureScriptz http://clojure.org/clojurescriptÚclojurescriptÚcljsz*.cljsztext/x-clojurescriptzapplication/x-clojurescriptú2.0N)
rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   re   re   re   rf   r   º  s   r   c                   @   sü   e Zd ZdZejejB Zdee	e
ƒejeeƒfdefdeejeƒfdejfdejfdefdejfd	ejfd
eejeƒdfdeejeƒdfdejfdejfdeeejƒfdejfdefdefdejfdejfdejfdefgdejdfgdejdfgdœZ dS )ÚTeaLangLexerzb
    For Tea source code. Only used within a
    TeaTemplateLexer.

    .. versionadded:: 1.5
    z:^(\s*(?:[a-zA-Z_][\w\.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()r+   r,   r-   z@[a-zA-Z_][\w\.]*z/(and|break|else|foreach|if|in|not|or|reverse)\bz(as|call|define)\br2   z(template)(\s+)Útemplater  r1   r  r  r  r  z[a-zA-Z_\$]\w*z3(isa|[.]{3}|[.]{2}|[=#!<>+-/%&;,.\*\\\(\)\[\]\{\}])rõ   r  r  r<   r	  r>   r?   )rD   rŠ  r1   N)!rE   rF   rG   rH   rO   rP   rQ   rR   r   r   r   r   rV   r   r   r   rT   rU   rW   r   rS   rZ   rY   r   r  r\   r]   r   r^   r_   rb   rc   rd   re   re   re   rf   r‰  Æ  s@   ýÿç
ÿ
ÿá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e
jB ZdZd	eeeƒejeeƒfd
efdeejeƒfdejdfdejfdefdejfdejfdeejeƒfdejfdeejeƒdfdeejeƒdfdefdej fdeeej!ƒfdej"fdefd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#j&fd&e#j'fd'e#j'fd(efgd)ej(d*fgd+ejd*fgd,ejfdejd-fd.ejd*fd/ejfgd0œZ)d1S )2r"   z!
    For Ceylon source code.
    ÚCeylonzhttp://ceylon-lang.org/Úceylonz*.ceylonztext/x-ceylonri   z(?:\s|//.*?\n|/[*].*?[*]/)+rò   r+   r,   rÈ   rÉ   z™(shared|abstract|formal|default|actual|variable|deprecated|small|late|literal|doc|by|see|throws|optional|license|tagged|final|native|annotation|sealed)\bzˆ(break|case|catch|continue|else|finally|for|in|if|return|switch|this|throw|try|while|is|exists|dynamic|nonempty|then|outer|assert|let)\bz9(abstracts|extends|satisfies|super|given|of|out|assign)\bz(function|value|void|new)\bz(assembly|module|package)(\s+)r2   z#(class|interface|object|alias)(\s+)r*   r  r1   r  z%'\\.'|'[^\\]'|'\\\{#[0-9a-fA-F]{4}\}'z(\.)([a-z_]\w*)r  r	  r  z/\d{1,3}(_\d{3})+\.\d{1,3}(_\d{3})+[kMGTPmunpf]?z7\d{1,3}(_\d{3})+\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?z*[0-9][0-9]*\.\d{1,3}(_\d{3})+[kMGTPmunpf]?z2[0-9][0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?z##([0-9a-fA-F]{4})(_[0-9a-fA-F]{4})+z#[0-9a-fA-F]+z\$([01]{4})(_[01]{4})+z\$[01]+z\d{1,3}(_\d{3})+[kMGTP]?z[0-9]+[kMGTP]?r<   z[A-Za-z_]\w*r>   z[a-z][\w.]*z[^*/]rÔ   rÕ   rÖ   )rD   r*   r1   rÉ   N)*rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   Ú_wsr   r   r   r   rV   r   r   r   rT   rU   rW   r   rS   rX   rY   rZ   r   r[   r\   r]   r   r^   r_   r`   rb   rc   rd   re   re   re   rf   r"   õ  sŠ   ý
þþÿÿÿ
ÿÿÿÕ.
ÿÿÿ

üËr"   c                    @   sÀ  e Zd ZdZdZdZdgZddgZdgZdZ	e
je
jB Zd	e d
dddd¡ d d e d
ddddddddd¡
 d Zd	e d
dddd¡ d d e d
dddddddddd¡ d Zde d e d ZdZdefdefdejfd efd!eejeƒfd"eejeƒfd#ejfd$efd%efd&ejfed'ƒejfed(d)d*�ejfd+ej fd,eeeej!ƒfd-ee"ej#ƒfd.ee$ej#ƒfd/ej%fd0ej%fd1eeee$eƒd2fd3e d4 ee&e'd5d6�ej(eƒd2fd7eej(ee$ƒd8fd3e d9 ee&e'd5d6�ej(eƒd:fd3e d; ee&e'd5d6�ej(eƒd<fd=e"fd>e"fd?e$fd@edAfdBedCfdDej)fdEe*fdFe dG efgdHe$dIfeej+dIfgeej,dIfgdJe$fdefeej,fdKe dL ee$eeƒfdMe"dNfdOe$dIfgdMe"dNfdFe dP e eee$ej-ƒdIfeej-dIfgdQee"eƒdIfdRe$fdSefdJe$fdefeefgdTej(fdefe.dIƒgdBedIfe/dUƒgd@edIfdBefe/dUƒgdVefdWefdXefdYej0dZfd[eej0eƒfd\efgdBefdYej0dZfdHe$d]fd^ej0dIfe/d_ƒgdHe$d]fd^e$dIfe/d_ƒgd`œZ1daS )br   z!
    For Kotlin source code.
    ÚKotlinzhttp://kotlinlang.org/Úkotlinz*.ktz*.ktsztext/x-kotlinrñ   z@?[_rŠ   r‰   rŒ   ZLmr‹   rˆ   r�   ZNdZPcZCfZMnZMcz]*ÚZsz\'~!%^&*()+=|\[\]:;,.<>/\?-]*rÏ   z|`z`)zÑactual|abstract|annotation|companion|const|crossinline|data|enum|expect|external|final|infix|inline|inner|internal|lateinit|noinline|open|operator|override|private|protected|public|sealed|suspend|tailrec|valuer+   r=   ú\\$r<   r,   z^(#!/.+?)(\n)z/[*].*?[*]/zas\?zµ(as|break|by|catch|constructor|continue|do|dynamic|else|finally|get|for|if|init|[!]*in|[!]*is|out|reified|return|set|super|this|throw|try|typealias|typeof|vararg|when|where|while)\bzit\b)zBoolean?zByte?zChar?zDouble?zFloat?zInt?zLong?zShort?zString?zAny?zUnit?)ÚBooleanZByter[   r  r^   ZIntrê   ZShortr   ÚAnyZUnitrÌ   rƒ  r2   z(package|import)(\s+)(\S+)z(\?\.)((?:[^\W\d]|\$)[\w$]*)r9   r.   z[^\W\d][\w.]+@z(object)(\s+)(:)(\s+)r*   z((?:(?:z(|fun)\s+)*)(class|interface|object)(\s+)Ú	modifiers)Ústatez(var|val)(\s+)(\()Údestructuring_assignmentz)\s+)*)(var|val)(\s+)Úvariablez)\s+)*)(fun)(\s+)Úfunctionz::|!!|\?[:.]r:   r;   r@   r5   r6   r7   z'\\.'|'[^\\]'z?[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFL]?|0[xX][0-9a-fA-F]+[Ll]?r)   z(\?(?![.:]))?rØ   r>   rÛ   z	(:)(\s+)(r’   r¤   Úgenericú\)z(\.)z(>)(\s*)rÝ   z(reified|out|in)\bz\w+Ústring_commonrA   rB   rC   rà   Úinterpolationz	(\$)(\w+)z[^\\"$]+ÚscoperÚ   rD   )rD   r*   r—  r–  r˜  r™  r”  r7   r5   r›  rœ  r�  N)2rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   râ   rã   Zkt_nameZkt_space_nameZkt_idr”  r   r   rë   r   r   rT   rU   r   r   rè   r
   rX   rZ   rY   r   r\   r   rW   r   r   rS   r[   r   rc   r  rV   r	   r   rí   rd   re   re   re   rf   r   D  s  ÿÿÿþÿÿÿýþÿÿÿ
ÿÿ
ÿ
ÿÿÃ@
þ
ÿú	
ýú	ýþý
ú	

ûý‡r   c                   @   sJ  e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB Zdeeeƒejeeƒfd	efd
eejeƒfdejfdejfdefdejfdejfdeejeƒfdejfdeejeƒdfdeejeƒdfdedfdedfdejfdejfdej fdefdefde!j"fde!j#fd e!j$fd!efgd"ej%d#fgd$ejd#fgd%ed#fd&ed#fd'efgd(œZ&d)S )*r    z 
    For Xtend source code.
    ÚXtendzhttps://www.eclipse.org/xtend/Úxtendz*.xtendztext/x-xtendri   ú=^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_$][\w$]*)(\s*)(\()r+   r,   r-   ró   z±(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while|IF|ELSE|ELSEIF|ENDIF|FOR|ENDFOR|SEPARATOR|BEFORE|AFTER)\bz™(def|abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile|val|var)\br/   r0   r2   r   r*   r  r1   z(''')rŠ  z(\u00BB)r  r  r  rô   ú[~^*!%&\[\](){}<>\|+=:;,./?-]rõ   r  r  r<   r	  r>   r?   z'''z\u00ABrø   )rD   r*   r1   rŠ  N©'rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r   r   r   r   rV   r   r   r   rT   rU   rW   r   rS   rX   rY   rZ   r   r  r]   r   r^   r_   rb   rc   rd   re   re   re   rf   r    ã  sf   ýýþÿÿÞ%
ÿ
ÿýÕ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e
jB Zdefd	efd
ejfdejfdefdefedƒedƒedƒedƒedƒdejfdejfdejfdefdeejeeƒfdefdefdefgdefgdejfgdejfgdefgde fd e fd!e fgd"œZ!d#S )$r#   z$
    For Pig Latin source code.
    ÚPigzhttps://pig.apache.org/Úpigz*.pigz
text/x-pigrˆ  r=   z--.*z/\*[\w\W]*?\*/r‘  rC   z1\'(?:\\[ntbrf\\\']|\\u[0-9a-f]{4}|[^\'\\\n\r])*\'rÃ   Útypesr„  ÚpunctrÄ   z[0-9]*\.[0-9]+(e[0-9]+)?[fd]?z0x[0-9a-f]+r  r<   z([a-z_]\w*)(\s*)(\()z[()#:]z[^(:#\'")\s]+z\S+\s+aÓ  (assert|and|any|all|arrange|as|asc|bag|by|cache|CASE|cat|cd|cp|%declare|%default|define|dense|desc|describe|distinct|du|dump|eval|exex|explain|filter|flatten|foreach|full|generate|group|help|if|illustrate|import|inner|input|into|is|join|kill|left|limit|load|ls|map|matches|mkdir|mv|not|null|onschema|or|order|outer|output|parallel|pig|pwd|quit|register|returns|right|rm|rmf|rollup|run|sample|set|ship|split|stderr|stdin|stdout|store|stream|through|union|using|void)\bz„(AVG|BinStorage|cogroup|CONCAT|copyFromLocal|copyToLocal|COUNT|cross|DIFF|MAX|MIN|PigDump|PigStorage|SIZE|SUM|TextLoader|TOKENIZE)\bzR(bytearray|BIGINTEGER|BIGDECIMAL|chararray|datetime|double|float|int|long|tuple)\bz[;(){}\[\]]ú[#=,./%+\-?]ú (eq|gt|lt|gte|lte|neq|matches)\bú(==|<=|<|>=|>|!=))rD   rÃ   r„  r¥  r¦  rÄ   N)"rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   Ú
IGNORECASErR   r   r   rU   r   rë   r   r   r   r^   r_   rb   r   r   rV   r   r   rè   rX   r   rd   re   re   re   rf   r#   $  sb   ÿìùÿþÿÿÿÿýÓr#   c                   @   sÜ  e Zd ZdZdZdZdgZdgZdZde	fde
fd	efd
efdejfdefdeeje	ƒdfdeejeƒfdejfdeeje	ƒdfdeeje	ƒdfdeeje	ƒdfdejfdefdeejeƒfdejfdeejeƒfdejfdejfdejfdejjfd ejfd!efd"ejfd#eed$d%ƒfd&eed$d'ƒfd(eed$d)ƒfd*ejfgd!ejd+fgd,ejd+fgd-ej d+fgd!ej!d+fgd.efd/efgd0ej"fgd#ed+fe#d1ƒd2efgd&ej$d+fe#d1ƒgd(ed+fe#d1ƒgd3efd4efd5efgd6œZ%d7S )8r$   z
    For Golo source code.
    ÚGolozhttp://golo-lang.org/z*.goloÚgolorˆ  r+   z#.*$z5(\^|\.\.\.|:|\?:|->|==|!=|=|\+|\*|%|/|<=|<|>=|>|=|\.)z(?<=[^-])(-)(?=[^-])z2(?<=[^`])(is|isnt|and|or|not|oftype|in|orIfNull)\bz
[]{}|(),[]z(module|import)(\s+)Úmodnamez\b([a-zA-Z_][\w$.]*)(::)z+\b([a-zA-Z_][\w$]*(?:\.[a-zA-Z_][\w$]*)+)\bz(let|var)(\s+)Úvarnamez(struct)(\s+)Ú
structnamez(function)(\s+)Úfuncnamez(null|true|false)\bz‚(augment|pimp|if|else|case|match|return|case|when|then|otherwise|while|for|foreach|try|catch|finally|throw|local|continue|break)\bz%(map|array|list|set|vector|tuple)(\[)z6(print|println|readln|raise|fun|asInterfaceInstance)\bz(`?[a-zA-Z_][\w$]*)(\()z&-?[\d_]*\.[\d_]*([eE][+-]?\d[\d_]*)?F?z	0[0-7]+j?z0[xX][a-fA-F0-9]+z-?\d[\d_]*Lz
-?\d[\d_]*z`?[a-zA-Z_][\w$]*z@[a-zA-Z_][\w$.]*r@   ÚstringescapeÚtriplestringr6   Údoublestringr�  Úsinglestringz----([\s\S]*?)----r>   z[a-zA-Z_][\w$.]*\*?z`?[\w.]+\*?z[^\\\'"\n]+z[\'"\\]zY\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})r7   r<   r§  r¨  r©  )rD   r°  r­  r¯  r®  r7   r±  r²  r³  r´  rÄ   N)&rE   rF   rG   rH   rI   rJ   rL   rK   rN   r   r   r   ÚWordr   r   r   rY   r   rS   rZ   rè   rV   r   r^   ra   r_   rb   rê   rW   r   r   r  rc   r  rë   r   r  rd   re   re   re   rf   r$   g  s®   ÿ
þ
þ
þ
þú
ÿÿ
ÿ
È=
ÿ
ÿ
ÿ
ÿþÿÿý
þþý¢r$   c                "   @   sH  e Zd ZdZdZdZddgZdgZdZdZ	d	e	› d
�Z
e	› d�Zde› d�Zde› d�Zde› d�Zdedfdejdfdejdfdefdedfe
efdejfde› �ejfde› �ejfde› �ejfde› �ejfd e› �ejd!fd"e› �ejfd#e› �ejd$fd%e› �ejd&fd'e› �ejd(fd)e› �ejd*fd+e› �ejd,fd-e› �ejd.fd/e› �ejd0fd1e› �ejdfd2e› �ejd3fd4e› �ejd5fd,e› �ejd6fed7ed8�ejfd9e› �ejd:fd;e› �ejd<fd=e› �ejd>fd?e› �ejd@fedAed8�ejdfdBe› �ejdCfdDe› �ejdEfg dejdfdFejfdGejfgdejdfdHejfdIejfgdJefdejdKfedLƒdMe› dN�e ej!eeƒfeej"fgdedOfdLe› �ejdPfedLƒgdJefdQe› �ejdfedLƒeej"dRfgdJefdQe› �ejdfedLƒe#dRƒgdejdKfedLƒeej"fgdSe› �edfed0ƒgedLƒdTe› dUe› dV�e ej$ej%ej&eƒdfdWe› dUe› dX�e ej%ej&ƒdfgedLƒdYedZfdTe› d[e› dV�e ej$ej%ej&eƒdfdWe› d[e› dX�e ej%ej&ƒdfgedLƒdYefdTe› dUe› d\�e ej$ej%ej&eƒdfde› d]�ej$dfe#dƒgedLƒdYefdTe› d[e› dV�e ej$ej%ej&eƒdfde› d]�ej$dfe#dƒgd^edfe#dCƒge
efd_e› d`�e'dafe#dbƒgedLƒdWe› dUe› dX�e ej%ej(ƒdfgdce› �ejddfedLƒdWe› dee› dfe› dge› dX�	e ej%ej&ejj)ƒdfgedLƒdWe› dee› dhe› dge› di�	e ej%ej&ej*eƒdjfgedLƒeej!dfgedLƒdMe› di�e ej*eƒdjfgdke› �ejdfedLƒgedLƒdWe› dee› dfe› dge› dX�	e ej%ej&ejj&ƒdfgdJefdLe› �ejdfedLƒeej!fgedLƒeejdfgedLƒdle› �edfdme› �ednfdoe› �edpfgdqœZ+drds„ Z,dtS )ur%   z#
    For Jasmin assembly code.
    ÚJasminzhttp://jasmin.sourceforge.net/ÚjasminÚjasminxtz*.jrˆ  z \n\t\rz(?:[z]+)z:=z(?=[z]|$)z[^z]+z(?:[^z.;\[/]+)r<   r>   r�  )r>   r"  r6   r7   r    rÝ   Úlabelz;.*z(\$[-+])?0x-?[\da-fA-F]+z(\$[-+]|\+)?-?\d+zE-?(\d+\.\d*|\.\d+)([eE][-+]?\d+)?[fFdD]?[\x00-\x08\x0b\x0c\x0e-\x1f]*rŽ   z\.annotationry   a  (\.attribute|\.bytecode|\.debug|\.deprecated|\.enclosing|\.interface|\.line|\.signature|\.source|\.stack|\.var|abstract|annotation|bridge|class|default|enum|field|final|fpstrict|interface|native|private|protected|public|signature|static|synchronized|synthetic|transient|varargs|volatile)z\.catchúcaught-exceptionz`(\.class|\.implements|\.inner|\.super|inner|invisible|invisibleparam|outer|visible|visibleparam)úclass/convert-dotsz\.field)údescriptor/convert-dotsÚfieldz(\.end|\.limit|use)úno-verificationz\.methodÚmethodz\.setr4   z\.throwsÚ	exceptionz(from|offset|to|using)Úis)r¼  r4   z(locals|stack)Úverificationúenclosing-method)³ZaaloadZaastoreZaconst_nullZaloadZaload_0Zaload_1Zaload_2Zaload_3Zaload_wZareturnZarraylengthZastoreZastore_0Zastore_1Zastore_2Zastore_3Zastore_wÚathrowZbaloadZbastoreZbipushÚ
breakpointZcaloadZcastoreZd2fZd2iZd2lZdaddZdaloadZdastoreZdcmpgZdcmplZdconst_0Zdconst_1ZddivZdloadZdload_0Zdload_1Zdload_2Zdload_3Zdload_wZdmulZdnegZdremZdreturnZdstoreZdstore_0Zdstore_1Zdstore_2Zdstore_3Zdstore_wZdsubÚdupÚdup2Zdup2_x1Zdup2_x2Zdup_x1Zdup_x2Zf2dZf2iZf2lZfaddZfaloadZfastoreZfcmpgZfcmplZfconst_0Zfconst_1Zfconst_2ZfdivZfloadZfload_0Zfload_1Zfload_2Zfload_3Zfload_wZfmulZfnegZfremZfreturnZfstoreZfstore_0Zfstore_1Zfstore_2Zfstore_3Zfstore_wZfsubZi2bZi2cZi2dZi2fZi2lZi2sÚiaddZialoadÚiandZiastoreZiconst_0Ziconst_1Ziconst_2Ziconst_3Ziconst_4Ziconst_5Z	iconst_m1ZidivZiincZiinc_wZiloadZiload_0Ziload_1Ziload_2Ziload_3Ziload_wÚimulZinegÚint2byteZint2charZ	int2shortÚiorZiremZireturnZishlZishrZistoreZistore_0Zistore_1Zistore_2Zistore_3Zistore_wÚisubZiushrÚixorZl2dZl2fZl2iZladdZlaloadZlandZlastoreZlcmpZlconst_0Zlconst_1Zldc2_wZldivZlloadZlload_0Zlload_1Zlload_2Zlload_3Zlload_wZlmulZlnegZlookupswitchZlorZlremZlreturnZlshlZlshrZlstoreZlstore_0Zlstore_1Zlstore_2Zlstore_3Zlstore_wZlsubZlushrZlxorZmonitorenterZmonitorexitZnopr^  Zpop2ÚretZret_wr”   ZsaloadZsastoreZsipushZswaprƒ  z.(anewarray|checkcast|instanceof|ldc|ldc_w|new)úclass/no-dotsz;invoke(dynamic|interface|nonvirtual|special|static|virtual)Ú
invocationz(getfield|putfield))údescriptor/no-dotsr½  z(getstatic|putstatic))rÒ  Ústatic)ZgotoZgoto_wZ	if_acmpeqZ	if_acmpneZ	if_icmpeqZ	if_icmpgeZ	if_icmpgtZ	if_icmpleZ	if_icmpltZ	if_icmpneZifeqZifgeZifgtZifleZifltZifneZ	ifnonnullZifnullZjsrZjsr_wz(multianewarray|newarray)r¼  ZtableswitchÚtablez\\u[\da-fA-F]{4}z[^'\\]+z0\\([nrtfb"\'\\]|u[\da-fA-F]{4}|[0-3]?[0-7]{1,2})z[^"\\]+z\n+r"  r	   rÏ   z)([ \t\r]*)(:))r>   úannotation-body)r>   úannotation-defaultz\.end)úannotation-itemsrÒ  Úallz(L)((?:z[/.])*)(z)(;)z((?:r’   z\[+)r>   rÒ  z/)*)(z?)(;)z\[)L]+rš  z(?=[^z]*\())r>   rÑ  )r>   r»  rÓ  )r>   rÓ  z	[/.](?=[^z]*[/.]))*)(z[/.])?(z(]*[/.]))*)(z)(\())r>   r¼  údescriptors/convert-dotsr¼  z(locals|method|stack)z6(Double|Float|Integer|Long|Null|Top|UninitializedThis)ZObject)r>   rÐ  ZUninitialized)r>   r¹  )r	   r"  r7   rD   ry   rÕ  rÖ  r×  rº  r»  rÐ  r¼  rÒ  rÙ  rÃ  rÀ  r½  rÑ  r¹  r¿  r¾  rÓ  rÔ  r4   rÂ  c                 C   sV   d}t  d| t j¡r4|d7 }t  d| t j¡r4|d7 }t  d| t j¡rL|d7 }t|dƒS )	Nr   z^\s*\.class\sg      à?z^\s*[a-z]+_[a-z]+\bg333333Ó?za^\s*\.(attribute|bytecode|debug|deprecated|enclosing|inner|interface|limit|set|signature|stack)\bg333333ã?g      ð?)rO   ÚsearchrP   rS  )r‚   Zscorere   re   rf   r
  Ï  s    þzJasminLexer.analyse_textN)-rE   rF   rG   rH   rI   rJ   rK   rL   rN   Ú_whitespacer�  Z
_separatorÚ_breakÚ_nameZ_unqualified_namer   r   rT   r  r   r   r   r_   rb   r^   r   r  r   r  r
   rë   r   r   r]   r  r	   rX   rY   rc   r   Ú	ExceptionÚInstancerV   rd   r
  re   re   re   rf   r%   Ø  s¸  


ÿÿüûÿþÿÿÿêêÿÿþÿÿüûÿ°S
ý
ÿü

ÿú	ÿü
üü
ýþþÿû	þÿú
þù
þù
þýÿþþýþþ
þÿþþÿþü
þü€ £ fr%   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e
jB Zdeeeƒejeeƒfd	efd
eejeƒfdejfdejfdefdejfdejfdeejeƒfdejfdeejeƒdfdeejeƒdfdejfdejfdej fdefdefde!j"fde!j#fde!j$fdefgdej%d fgd!ejd fgd"œZ&d#S )$r&   z
    For SARL source code.
    ÚSARLzhttp://www.sarl.ioÚsarlz*.sarlztext/x-sarlz2.4r   r+   r,   r-   ró   z°(as|break|case|catch|default|do|else|extends|extension|finally|fires|for|if|implements|instanceof|new|on|requires|return|super|switch|throw|throws|try|typeof|uses|while|with)\bz€(abstract|def|dispatch|final|native|override|private|protected|public|static|strictfp|synchronized|transient|val|var|volatile)\br/   r0   z+(false|it|null|occurrence|this|true|void)\bzY(agent|annotation|artifact|behavior|capacity|class|enum|event|interface|skill|space)(\s+)r*   r  r1   r  r  r  rô   r¡  rõ   r  r  r<   r	  r>   r?   )rD   r*   r1   Nr¢  re   re   re   rf   r&   Ü  s\   ýýþÿ
þß$
ÿ
ÿÙr&   )-rH   rO   Zpygments.lexerr   r   r   r   r   r   r   r	   r
   Zpygments.tokenr   r   r   r   r   r   r   r   r   Zpygments.utilr   Úpygmentsr   râ   Ú__all__r   r!   r   r   r   r   r   r   r   r‰  r"   r   r    r#   r$   r%   r&   re   re   re   rf   Ú<module>   s<   
,,b'  OM @ /O  ACq  