
    L&i                    f   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	e          Z G d
 de          Z G d de          Z G d de          Z G d de          Z  G d de          Z! G d de          Z" G d de          Z# G d de#          Z$ G d de          Z% G d de          Z& G d de          Z' G d  d!e          Z( G d" d#e          Z) G d$ d%e          Z* G d& d'e          Z+ G d( d)e          Z,dS )*z
    pygments.lexers.jvm
    ~~~~~~~~~~~~~~~~~~~

    Pygments lexers for JVM languages.

    :copyright: Copyright 2006-2022 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                   6   e Zd ZdZdZdZdgZdgZdgZe	j
        e	j        z  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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d*fgd+ej        d*fgd,ed*fdef e*d          gd-efd.efd/efd0efded*fgd1Z+d2S )3r   z
    For Java source code.
    Javaz(https://www.oracle.com/technetwork/java/javaz*.javaztext/x-javazJ(^\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)\bzE((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()@[^\W\d][\w.]*z(abstract|const|enum|extends|final|implements|native|private|protected|public|sealed|static|strictfp|super|synchronized|throws|transient|volatile|yield)\b6(boolean|byte|char|double|float|int|long|short|void)\b(package)(\s+)import(true|false|null)\bz(class|interface)\bz
(var)(\s+)varz(import(?:\s+static)?)(\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+   r4   r2   r5   r7   N),__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypes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     `/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/jvm.pyr   r      s         D
4ChG
IIL29$E [Xj%%++w/BCCWN*%XXgnjAAB7,-M XeeDkk4=*kJJL /,-4-@B G\):J G GR#W%56#W%8'BHHW%8*EEuM+XXg6G-T-Tv1268$16;?*HH[59^-E -E F"HHZ+$N$NO/*dj:E2G 2G H"D). 06|= 3FJ?$fj1vz*#V^4$h/K(Jg4
l TN"DJ7

 #D&1
 4>62
 VV$6NGH
  fVFO66"
KL LFFFre   r   c                   J    e Zd ZdZdZdZdgZdgZdgZh dZ	h dZ
h d	Zd
 ZdS )r"   z=
    For AspectJ source code.

    .. versionadded:: 1.6
    AspectJzhttp://www.eclipse.org/aspectj/aspectjz*.ajztext/x-aspectj>+   getsetargscalllocksoftaftercflowerroraroundaspectbeforetargetunlockwithindeclarehandlerparentsperthisproceedwarningpercflowpointcutthrowing	execution	pertarget	returning
annotation
cflowbelow
precedence
privileged
withincodeissingletonpercflowbelowpertypewithinthisJoinPointinitializationadviceexecutionpreinitializationthisAspectInstancestaticinitializationthisJoinPointStaticPart thisEnclosingJoinPointStaticPart>   soft:error:parents:warning:precedence:>   @type@field@method@constructorc              #   ^  K   t                               | |          D ]\  }}}|t          u r|| j        v r|t          |fV  %|t          j        u r0|| j        v r'|t          |d d         fV  |t          |d         fV  c|t          j        u r|| j	        v r|t          |fV  |||fV  d S )N)
r   get_tokens_unprocessedr   aj_keywordsr   r\   aj_inter_typer   rV   aj_inter_type_annotation)selftextindextokenvalues        rf   r   z#AspectJLexer.get_tokens_unprocessed   s      #,#C#CD$#O#O 		* 		*E5%}}$*:!:!:We+++++$*$$$2D)D)DWeCRCj0000XuRy00000$.((Ud6S-S-SWe+++++UE)))))		* 		*re   N)rE   rF   rG   rH   rI   rJ   rK   rL   rM   r   r   r   r   rd   re   rf   r"   r"   v   sz          D
+CkGI!"I
 
 
K ONNMMMM
* 
* 
* 
* 
*re   r"   c                   (   e Zd ZdZdZdZdgZdgZdgZe	j
        e	j        z  Zd ej        dd	          z   d
z   Zd ej        ddddd          z   d
z   Zd ej        dd          z   d
z   Zdez  Zde                    dd          z  Zdez  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 i 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/           e!d0           e!d1           e!d2           e!d3           e!d4           e!d5           e!d6           e!d7           e!d8           e!d9          gd$d:e"fgd%d;e#j$        fd<e#j%        d=fgd&d>e#j&        fgd'd? e'e(e"          d@fgd(dA e'e(e"e(e"          dBfdC e'e(e"          dBfgd) e)e dDdDE          e(fdFe(fgd*dGez  e*j+        fgd+dH e'e,e"e(e"          fgd,dIedJedK e'e(e"e*j-                  fdLedJedK e'e(e"e*j.                  fdMedJedK e'e(e"e(e"e*j.                  fdNedJedK e'e(e"e*j.                  fdOe(j/        fdPedJedK e'e(e"e(e"e*j0                  fdQ e'e(e"          dRfdSez   e'e(e"e*j.                  fdTez   e'e(e"e*          fg	d-dUededVedW e'e(e"e*j.                  fgd.dX e'e(e"          fgd/dY e'e(e"e(          fdZede e'e(e"e*j.                  fdZededKe e'e(e"e*j0                  fgd8d[e,fd\e,fgd6 e)edDdDE          e(fgd7d]ez   e'e1e"          fd^e1f e)e          e1fd_ed`ede1fgd0dae*j2        j3        fdbe(j4        fdce5j6        fdde5j7        fdee5j7        fdfe5j7        fdge5j8        j9        fdhe5j8        fdie:fdje:fdk e'e:j;        e:j<        e:j;                  fdle:j;        fgi d1dme:dnfdoe:dpfdqe:fgd2drez  e:j=        fgd3ds e'e,e(          fgd4dtededue(fdve(fgd5dwe,fdxe,fgd9ee*j.        fee*fgd=dye#j%        fd<e#j%        dzfd{e#j%        d|fd}e#j%        fgd@d~e>d|f e!d%          de(f e!d          de,dfgd e!d$           e!d%          de(fde1fde,d|fde,fde,f e!d          gdBd~e>d|f e!d%           e!d          de,dfgd e!d$           e!d%          de1fde,d|fde,f e!d          gdRde>d|fde,d|f e!d%           e!d          gdnde:d|fde:f e!d          gdpde:d|f e!d          gdde:j?        d|fde,df e!d#          gdde,dzfde,d|f e!d#          gdee*j.        fdez   e'e*j0        e,          fde,fee*fde"fgdde:fde:j<        fdez   e'e:j?        e*          fde:j?        dfde:fgiZ@dS )r   z 
    For Scala source code.
    Scalazhttp://www.scala-lang.orgscalaz*.scalaztext/x-scalaz[!#%&*\-\/:?@^SmSo]z[_\$LlLuLoNlLt[z(?:%s|[0-9])z\$ z%s+*z
*(?:(?<=_)z+)?z(?:|z+)z`[^`]+`)z
(?!//|/\*)z(?=\s*(//|$)))newreturnthrowclassOfisInstanceOfasInstanceOfelseifthendowhileforyieldmatchcasecatchfinallytry)z<%z=:=z<:<z<%<z>:z<:===z!=<=>=z<><>z<-u   ←->u   →=>u   ⇒?@r   -+r   %~\)private	protectedsynchronizedz	@volatileabstractfinallazysealedimplicitoverridez
@transientz@nativerD   
whitespacecommentszscript-headerimportsexportszstorage-modifiersannotationsr   declarationsinheritance	extensionend	constantsstringssymbolszsingleton-typeinlinequotedkeywords	operatorspunctuationnamesr=   //.*?\n/\*commentz^#!([^\n]*)$z\b(import)(\s+)zimport-pathz\b(export)(\s+)(given)(\s+)z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)z@%sz(\()(\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*)(%s)z\b(given)\b(\s*)(%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(%s{2,})(\s+)z	/(?![/*])z(?<!z)(!|&&|\|\|)(?!z\b(this|super)\br3   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]"""zinterpolated-string-triplez[fs]"zinterpolated-stringzraw"(\\\\|\\"|[^"])*"z
('%s)(?!')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)\bzqualified-name\{zimport-path-curly-bracer   \},z[\[\]]zexport-path-curly-bracez
(?<=[\n;]):z"""(?!")r6   zinterpolated-string-commonzinterpolated-string-bracez interpolated-string-nested-bracez(%s)(\.)z\.r,   z[^"$\\]+z\$\$z(\$)(%s)\$\{z\\.N)ArE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   unicombineopcharletterupperLetterletterOrDigitreplaceletterOrDigitNoDollarSignalphaIdsimpleInterpolatedVariableidrestidUpperplainidbackQuotedIdanyIdnotStartOfCommentendOfLineMaybeWithCommentr   r   storage_modifiersr   r   r   rS   rT   Hashbangr   r   r   r   rV   r   rU   rb   rR   rX   r   BuiltinPseudorY   r   r^   r]   ra   Longr   rZ   EscapeSymbolr   Interpolrc   rd   re   rf   r   r      s         D
%CiGI IL29$E+#+dD"9"99C?F{s{4tT4@@@3FFD$///#5K"V+M .r1J1J JfnG-3V5N5N5N"O&,fmmmVVVDF'2{MMM666JGG$fffff-GLL#GG\\\2E% 0HIoGL!!GJGO$$GIGIG'((GM""GGGN##GM""GK  GENNGK  GIGIG$%%GHGHGJGK  GM""GG-
o6 	Z 
7o< 	(W&	2
=oD 	g./
EoJ 	':!>!>N
KoP 	+*gzBBMS':!>!>N
QoZ 	U$U5AAA7K
DELN
[ol 	f_dn-
mor 	 %hh{JQ[&\&\]
so| 	):):):EEEBXgz4=99; ;+<+<+<eeeD*dj99; ; #""EEE+*gz4:NNP P 2C1B1BEEEJ*dj99;w233"""EEE+*gz4>RRT !((7J"?"?K$w.*dj99;%-*d335#
}od 	 ,,,1 *dj99;
eop 	,hhw
.K.KL
qov 	H*g668 8&-gg/H/HI*dj99; ; www(A(AC*dn==?	
woJ 	{+k*
KoR 	U8E%888'B
SoX 	&:(F(FG8$U9x((,2FFFFF;XF	
Yod 	 $,"56#W%56"FJ/017?.=.=FN/0''"F+XXfk6=&+NNO+V[9
eo oB 	!=>v45%v.
CoL 	W$fm4
MoR 	hh{G<<=
SoX 	 18FM
Yoh 	[)+&	
iot 	dj!DM
uo@ 	)*W&0W&/g'(	
AoL 	T6*GJW%G$%%K!:;
MoZ 	"GL!!GJW%HK(;$G$%%	$
[on 	T6*GJG$%%K!:;	
ooz 	"GL!!GJHK(;G$%%$
{oJ 	D&);'GJG$%%	
KoV 	%&&)6NG011'
Wo` 	66"G011 
aoh 	$FOV,K!CDGFOO&
ior 	+K)K(GFOO-
so@ 	dj!5 ((4>;"G"GHK DM*%
Ao oN 	%&!fm$55$//1fo'BCV'
Oo oFFFre   r   c                      e Zd ZdZdZdgZg dZdgZej	        ej
        z  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.

    .. versionadded:: 1.5
    Gosugosu)z*.gsz*.gsxz*.gspz*.varkztext/x-gosu9^(\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)\br1   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   rN   rO   rP   rQ   r   r   r   r   rU   r   r   r   rS   rT   rV   r   rR   rW   rX   rY   rb   r   r[   r   r]   ra   r   rc   rd   re   rf   r   r     s         DhG444IIL29$E
 XeeDkk4=*hGGI *%(7,- $.1 "#23:3FH *88G4GU\Uh+i+ijL\):J G GH0'2BCEXg):tzBBD&Xg'T^DDF68$'Xh//1!Xh//1t$98D5v|D'JG$
L f%(Xh//1ACg/0H&67h 9:6N
 66"GN##

 68$Hf%GFOO
 68$H78Hf%GFOO	$
q> >FFFre   r   c                   .    e Zd ZdZdZdgZdgZdgZd ZdS )r   z8
    For Gosu templates.

    .. versionadded:: 1.5
    zGosu Templategstz*.gstztext/x-gosu-templatec              #   d   K   t                      }dg}|                    ||          E d {V  d S )Nr)  )r   r   )r   r   lexerstacks       rf   r   z(GosuTemplateLexer.get_tokens_unprocessed  sE       //e<<<<<<<<<<<re   N)	rE   rF   rG   rH   rI   rK   rL   rM   r   rd   re   rf   r   r     sJ          DgG	I'(I= = = = =re   r   c                      e Zd ZdZdZdZdgZddgZdgZe	j
        e	j        z  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+ Z*d,S )-r   z<
    For Groovy source code.

    .. versionadded:: 1.5
    Groovyzhttps://groovy-lang.org/groovyz*.groovyz*.gradleztext/x-groovyz#!(.*?)$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)\br1   r3   (class|interface)(\s+)r+   (import)(\s+)r2   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   r2  r+   r2   c                 "    t          | d          S )Nr1  r   )r   s    rf   analyse_textzGroovyLexer.analyse_texti  s    tY///re   N)+rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r   Preprocr
   r   r   rS   rT   r   r   r   r   rU   r   rV   rR   rW   rX   rY   r   DoublerZ   r[   r\   r   r]   r^   ra   rb   rc   r>  rd   re   rf   r   r     s7         D
$CjGJ'I !IL29$E
 '/62GFOO
 *%XXgnjAAB7,-S XeeDkk4=*hGGI !$.1&'.':< K\):J G GH#W%56&1Dj(Q(Qxx(9:FFQ6=)6=)(&-8(&-8!6*(&116;?"HHXt~$F$FGtz*t$,h75v|D
+&.)JW,
\ dj&1
 4>62
m9 9Fv0 0 0 0 0re   r   c                      e Zd ZdZdZdZdgZddgZdg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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d/ej        fd0ej        fd1efd2ej        fd3efd4ej        fd5efd6ej        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fd?efd@efdAefdBej         fdCefdDZ!dES )Fr   z{
    For Ioke (a strongly typed, dynamic,
    prototype based programming language) source.

    .. versionadded:: 1.4
    Iokezhttps://ioke.org/z*.ikiokeikztext/x-iokesrczS(\\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!:?]*)rF  r   rI  rE  rG  rH  rJ  rD   N)"rE   rF   rG   rH   rI   rJ   rL   rK   rM   r   r  r   r   DocRegexr   r   r  Otherr   EntityVariabler   ReservedrY   r  rU   r   r^   r]   ra   r   rb   rc   rd   re   rf   r   r   m  s~         D
CItnG!"I&'-}6["9:
 &&)G())f
 &*f-G())fj!
 K(GFOO"
 #FL&9G())V\"fl#	
 #FL&9G())V\"v|$	
 &&)G())v
D
JD
Z D

 '"D
 W%D
 FL-0D
 flN3D
 6=)D
 $V\2D
 *6=9D
$'(.
OE%D
. 66"/D
0 V\*1D
6 ,T[97D
< ?]=D
D!")"24ED
N 6w?OD
T$&UD
^ .w7_D
d 3G4DEeD
j45<5EGkD
r %&sD
~ 1'2BCD
D$&ED
H $W%56ID
N$&OD
X %-/YD
d$-/eD
n ,T];oD
t	. 04|	=uD
L!],MD
V $VZ0WD
X 9&,GYD
Z v~&[D
^ [!_D
d2 4<=eD
r >sD
z ?L{D
@ tz*AD
F %GD
Yq qFFFre   r   c                      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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z   ej        fdej        fdez   ej        fdef ee	d          ef ee
d          ej        f eed          ej        fdez   ej        feej        fde fde fd e fgiZ!d!S )"r   zD
    Lexer for Clojure source code.

    .. versionadded:: 0.11
    Clojurezhttp://clojure.org/clojurecljz*.cljz*.cljcztext/x-clojurezapplication/x-clojure)
r(  defr   fnr   letr   quoter4   loop)zdef-defnzdefn-defmacrodefmulti	defmethod	defstructdefoncery   	definlinedefinterfacedefprotocol	defrecorddeftype
defprojectns(-  r   r   r   r   /r   r   r   r   r   r   z..accessoragentzagent-errorsagetalengthzall-nsalterandzappend-childapplyz	array-mapasetzaset-booleanz	aset-bytez	aset-charzaset-doublez
aset-floatzaset-intz	aset-longz
aset-shortassertassocawaitz	await-forbeanbindingzbit-andzbit-notzbit-orzbit-shift-leftzbit-shift-rightzbit-xorbooleanzbranch?butlastbytecastcharchildrenr+   zclear-agent-errorsr   commutecomp
comparator
complementconcatconjcons
constantlycondzif-notzconstruct-proxyz	contains?countz	create-nszcreate-structcycledecderef
differencedisjdissocdistinctdoalldocdorundoseqdosyncdotimesdotodoubledowndropz
drop-whileeditzend?ensureevalzevery?zfalse?ffirstzfile-seqfilterfindzfind-doczfind-nszfind-varfirstfloatflushr   fnseqfrestgensymzget-proxy-classrj   zhash-mapzhash-setz
identical?identityzif-letr2   zin-nsincr   zinsert-childzinsert-leftzinsert-rightzinspect-tablezinspect-treez	instance?int
interleaveintersectionintoz
into-arrayiteratejoinkeykeyskeywordzkeyword?lastzlazy-catz	lazy-consleftleftszline-seqzlist*listloadz	load-filelockinglongrZ  macroexpandzmacroexpand-1z
make-arrayz	make-nodemapz
map-invertzmap?mapcatmaxzmax-key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-unmapnthnthrestorparsepartialpathpeekpopzpos?przpr-strprintz	print-strprintlnzprintln-strprnzprn-strprojectproxyzproxy-mappingsquotrandzrand-intrangezre-findz	re-groupsz
re-matcherz
re-matchesz
re-patternzre-seqreadz	read-linereducerefzref-setreferremremovezremove-methodz	remove-nsrenamezrename-keysrepeatr  	replicateresolverestzresultset-seqreverserfirstrightrightsrD   rrestrseqsecondselectzselect-keyssendzsend-offseqzseq-zipzseq?rk   shortslurpsomesortzsort-byz
sorted-mapzsorted-map-byz
sorted-setzspecial-symbol?zsplit-atz
split-withstrzstring?structz
struct-mapsubssubvecsymbolzsymbol?sync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?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?zipmapzipperz(?!#)[\w!$%*+<=>?/.#|-]+rD   z;.*$z,+r=   z
-?\d+\.\d+z	-?\d+/\d+rK  z0x-?[abcdef\d]+r5  'z\\(.|[a-z]+)z::?#?z~@|[`\'#^~&@] r   z(?<=\()z(\[|\])z(\{|\})z(\(|\))N)"rE   rF   rG   rH   rI   rJ   rK   rL   rM   special_formsr   builtins
valid_namer   rS   r   r   r   r]   ra   r^   r   r  rZ   r   r   r   rR   r   r  rU   rP  r   rc   rd   re   rf   r   r   -  s        
 D
C% G(#I!#:;IML1;Hr -J 	 gn% DMZ  FL)6"v~&, )&1J.fk* 
"FM2 x( U=---w7 U<,,,g.AB U8C((($,7 *$dm4 ' % % %i5
7FFFre   r   c                   0    e Zd ZdZdZdZddgZdgZddgZd	S )
r   zI
    Lexer for ClojureScript source code.

    .. versionadded:: 2.0
    ClojureScriptz http://clojure.org/clojurescriptclojurescriptcljsz*.cljsztext/x-clojurescriptzapplication/x-clojurescriptN)	rE   rF   rG   rH   rI   rJ   rK   rL   rM   rd   re   rf   r   r     s@         
 D
,C'G
I')FGIIIre   r   c                      e Zd ZdZej        ej        z  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)\br3   z(template)(\s+)templater4  r2   r5  r6  r7  r8  z[a-zA-Z_\$]\w*z3(isa|[.]{3}|[.]{2}|[=#!<>+-/%&;,.\*\\\(\)\[\]\{\}])r%  r:  r;  r<   r<  r>   r?   )rD   r	  r2   N)!rE   rF   rG   rH   rN   rO   rP   rQ   r   r   r   r   rU   r   r   r   rS   rT   rV   r   rR   rY   rX   r   r@  r[   r\   r   r]   r^   ra   rb   rc   rd   re   rf   r  r    s{         L29$E
 XeeDkk4=*hGGI *%XXgnjAAB7,-!4>2?"G$78#W%56'*=z!J!JJWxx(9:FFQ(&-8(&-8"HHXt~$F$FGtz*%CXN5v|D
+&.)J3
8 dj&1
 4>62
?" "FFFre   r  c                      e Zd ZdZdZdZdgZdgZdgZe	j
        e	j        z  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d/Z(d0S )1r#   z<
    For Ceylon source code.

    .. versionadded:: 1.6
    Ceylonzhttp://ceylon-lang.org/ceylonz*.ceylonztext/x-ceylonz(?:\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+)r3   z#(class|interface|object|alias)(\s+)r+   r4  r2   r5  z%'\\.'|'[^\\]'|'\\\{#[0-9a-fA-F]{4}\}'z(\.)([a-z_]\w*)r8  r<  r9  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+   r2   r   N))rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   _wsr   r   r   r   rU   r   r   r   rS   rT   rV   r   rR   rW   rX   rY   r   rZ   r[   r\   r   r]   r^   r_   ra   rb   rc   rd   re   rf   r#   r#     sc         D
#CjGI !IL29$E )C
 XeeDkk4=*hGGI *%XXgnjAABW&	2%&*n623:<-.5.AC+\.9JJ0W0WX#W%563Xg):66Axx(9:FFQ(&15v{CXh//1tz*d#,h7?NG\:FLIB\3VZ@vz*&
3$(&.9/JW,
\ dj&1
 ^V%

 w()W&0W&/g'(	
k; ;FFFre   r#   c                      e Zd ZdZdZdZdgZddgZdgZe	j
        e	j        z  Zd ej        d	d
ddd          z   dz   dz    ej        d	d
dddddddd
  
        z   dz   Zd ej        d	d
ddd          z   dz   dz    ej        d	d
ddddddddd          z   dz   Zdez   dz   ez   dz   ZdZg 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()          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d/ej$        fd0 eeee#e          d1fd2ez   d3z    e e%e&d45          ej'        e          d1fd6 eej'        ee#          d7fd2ez   d8z    e e%e&d45          ej'        e          d9fd2ez   d:z    e e%e&d45          ej'        e          d;fd<e!fd=e!fd>e#fd?ed@fdAedBfdCej(        fdDe)fdEez   dFz   efeej*        dGfgeej+        dGfgdHe#fdefeej+        fdIez   dJz    ee#ee          fdKe!dLfdMe#dGfgdKe!dLfdEez   dNz   ez    eee#ej,                  dGfeej,        dGfgdO ee!e          dGfdPe#fdQefdHe#fdefeefgdRej'        fdef e-dG          gdAedGf e.dS          gd?edGfdAef e.dS          gdTefdUefdVefdWej/        dXfdY eej/        e          fdZefgdAefdWej/        dXfd[e#d\fd]ej/        dGf e.d^          gd[e#d\fd]e#dGf e.d^          gd_Z0d`S )ar    z<
    For Kotlin source code.

    .. versionadded:: 1.5
    Kotlinzhttp://kotlinlang.org/kotlinz*.ktz*.ktsztext/x-kotlinz@?[_r   r   r   Lmr   r   r   NdPcCfMnMcz]*Zsz\'~!%^&*()+=|\[\]:;,.<>/\?-]*r   z|`z`)zactual|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?)BooleanByterZ   r@  r]   Intr  Shortr   AnyUnitr   r  r3   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  z	(:)(\s+)(r   r   generic\)z(\.)z(>)(\s*)r  z(reified|out|in)\bz\w+string_commonrA   rB   rC   r  interpolationz	(\$)(\w+)z[^\\"$]+r  scoper  rD   )rD   r+   r"  r!  r#  r$  r  r7   r5   r&  r'  r(  N)1rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r  r  kt_namekt_space_namekt_idr  r   r   r  r   r   rS   rT   r   r   r  r   rW   rY   rX   r   r[   r   rV   r   r   rR   rZ   r   rb   rP  rU   r
   r   r  rc   rd   re   rf   r    r    F  s         D
"CjG!I !IL29$ED$dDAAACG S[tT4tT4!%t- --/34G kck$dD$GGG#M S[tT4tT4!%tT3 33 33M
 'MD =047EAI;
*%;
 Z ;
 V]#	;

 J;
 XXgnjAAB;
 xx
CCD;
 W./;
 g;
FGNP;
 dl#;
" U D E EFMlT#;
& U >FKM M MNUl\';
, $W%56-;
0 +HHWj$.,Y,YZ1;
4 -hhx.P.PQ5;
6 +HH[$.,Q,QR7;
: /;;
> /?;
B &xx[R\']']_fgC;
F )#&QQXeeD444g6I:VVX_aG;
L #HHW-@*k$Z$Z')M;
P )#&>>XeeD444g6I:VVXbdQ;
V )#&::XeeD444g6I:VVXbdW;
\ h'];
^ %h/_;
b K(c;
f V/0g;
h 68$i;
j v{+k;
n'(.0o;
t 5[>)40u;
z DJ'
 DM6*
 ;Z DM"E!C'+z4)P)PQ8Y'K(%
 8Y'5[7"U*HHT;,V,VX^_DM6*
 ((8Z88&A;"G,;Z DM
 W()Z GFOO
 66"GO$$

 VV$6NGO$$
 fVFOfo788FOT::;&!
 6Nfo7K)FOV,GFOO
 K)K(GFOO
kz zFFFre   r    c                   >   e Zd ZdZdZdZdgZdgZdgZe	j
        e	j        z  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.

    .. versionadded:: 1.6
    Xtendzhttps://www.eclipse.org/xtend/xtendz*.xtendztext/x-xtend=^(\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)\br0   r1   r3   r3  r+   r4  r2   z(''')r	  z(\u00BB)r5  r6  r8  r$  [~^*!%&\[\](){}<>\|+=:;,./?-]r%  r:  r;  r<   r<  r>   r?   z'''z\u00ABr(  )rD   r+   r2   r	  N&rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r   r   r   r   rU   r   r   r   rS   rT   rV   r   rR   rW   rX   rY   r   r@  r\   r   r]   r^   ra   rb   rc   rd   re   rf   r!   r!     s         D
*CiGI IL29$E
 XeeDkk4=*hGGI *%XXgnjAAB7,- $.1G &'.':< G\):J G GH#W%56&1Dj(Q(Qxx(9:FFQvz*&*-(&-8(&-8tz*t$-x85v|D
+&.)JE#
J dj&1
 4>62
 VV$'6N
W0 0FFFre   r!   c                      e Zd ZdZdZdZdgZdgZdgZe	j
        e	j        z  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.

    .. versionadded:: 2.0
    Pigzhttps://pig.apache.org/pigz*.pigz
text/x-pigr=   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  r5  r6  r   N)!rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   
IGNORECASErQ   r   r   rT   r   r  r   r   r   r]   r^   ra   r   r   rU   r   r   r  rW   r   rc   rd   re   rf   r$   r$   $  s         D
#CgG	IIL2=(E Z g 12V]#DMA6JGJGGGJGGGK  -v|<VZ(&.)J$XdmZ==?t$)
.3 5<=	
!\+
"#*<1

 [)
 h'0(;!8,
[2 2FFFre   r$   c                    X   e Zd ZdZdZdZdgZdg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d/ej!        fgd"ed*f e"d0          d1efgd%ej#        d*f e"d0          gd'ed*f e"d0          gd2e
fd3e
fd4e
fgd5Z$d6S )7r%   z:
    For Golo source code.

    .. versionadded:: 2.0
    Golozhttp://golo-lang.org/z*.gologolor,   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----((.|\n)*?)----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<   r7  r8  r9  )rD   rA  r>  r@  r?  r7   rB  rC  rD  rE  r   N)%rE   rF   rG   rH   rI   rJ   rL   rK   r   r   r   Wordr   r   r   rX   r   rR   rY   r  rU   r   r]   r`   r^   ra   r  rV   r   r	   rL  rb   rP  r  r   r@  rc   rd   re   rf   r%   r%   h  s         D
!C
IhG *%gE$h/BHMRK($*J77 )88DNK+P+PQ;T^L,j99 ,j99  ,j99 $W%56# %,- 6{335()-7'446 7E6:&!6:.V^01FN+!4(!4>2VXXnnEEF688NNCCD688NNCCD"FJ/q:
z "4=&9
 $T^V<
 TZ0
 "4=&9
 V$ 

<=C]L

 VV$GHFO
 6=&)GH

 66"GH

 h'0(;!8,
}c cFFFre   r%   c                   d   e Zd ZdZdZdZddgZdgZdZdez  Z	d	ez  Z
d
e
z  Zde
z  Zde
z  Zi dg 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z  ej        fdez  ej        fdez  ej        fdez  ej        fdez  ej        dfdez  ej        fdez  ej        d fd!ez  ej        d"fd#ez  ej        d$fd%ez  ej        d&fd'ez  ej        d(fd)ez  ej        d*fd+ez  ej        d,fd-ez  ej        dfd.ez  ej        d/fd0ez  ej        d1fd2ez  ej        d3f ed4e5          ej        fd6ez  ej        d7fd8ez  ej        d9fd:ez  ej        d;fd<ez  ej        d=f ed>e5          ej        dfd?ez  ej        d@fdAez  ej        dBfdCdej        dfdDej        fdEej        fgddej        dfdFej        fdGej        fgdHdIefdej        dCf ed          dJez   eej         ee          feej!        fgddedKfdLez  ej        dMf ed          gdNdIefdOez  ej        df ed          eej!        dPfgdQdIefdOez  ej        df ed           e"dP          gdRdej        dCf ed          eej!        fgd dSez  edf ed,          gd" ed          dTedUedV eej#        ej$        ej%        e          dfdWedUedX eej$        ej%                  dfgd7 ed          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d@ ed          dYefdTedUed\ eej#        ej$        ej%        e          dfd]e
z  ej#        df e"d          gd^ ed          dYefdTed[edV eej#        ej$        ej%        e          dfd]e
z  ej#        df e"d          gd_d`edf e"d@          gd3e	efdae
z  e&dbf e"dc          gd, ed          dWedUedX eej$        ej'                  dfgdddeez  ej        dff ed          dWedge
dhediedX	 eej$        ej%        ej        j(                  dfg ed          dWedge
djediedk	 eej$        ej%        ej)        e          dlfg ed          eej         dfg ed          dmez   eej)        e          dlfgdnez  ej        df ed          g ed          dWedge
dhediedX	 eej$        ej%        ej        j%                  dfgdIefdLez  ej        df ed          eej         fg ed          eej        dfg ed          doez  edfdpez  edqfdrez  edsfgdtZ*du Z+dvS )wr&   z>
    For Jasmin assembly code.

    .. versionadded:: 2.0
    Jasminzhttp://jasmin.sourceforge.net/jasminjasminxtz*.jz \n\t\rz	(?:[%s]+)z%s:=z
(?=[%s]|$)z[^%s]+z(?:[^%s.;\[/]+)r
   r<   r>   r  )r>   rY  r6   r7   r   r  labelz;.*z(\$[-+])?0x-?[\da-fA-F]+%sz(\$[-+]|\+)?-?\d+%szG-?(\d+\.\d*|\.\d+)([eE][-+]?\d+)?[fFdD]?[\x00-\x08\x0b\x0c\x0e-\x1f]*%sz\$%sz\.annotation%sr   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)%sz	\.catch%szcaught-exceptionzb(\.class|\.implements|\.inner|\.super|inner|invisible|invisibleparam|outer|visible|visibleparam)%sclass/convert-dotsz	\.field%s)descriptor/convert-dotsfieldz(\.end|\.limit|use)%sno-verificationz
\.method%smethodz\.set%sr4   z
\.throws%s	exceptionz(from|offset|to|using)%szis%s)rM  r4   z(locals|stack)%sverificationzmethod%szenclosing-method)aaloadaastoreaconst_nullaloadaload_0aload_1aload_2aload_3aload_wareturnarraylengthastoreastore_0astore_1astore_2astore_3astore_wathrowbaloadbastorebipush
breakpointcaloadcastored2fd2id2ldadddaloaddastoredcmpgdcmpldconst_0dconst_1ddivdloaddload_0dload_1dload_2dload_3dload_wdmuldnegdremdreturndstoredstore_0dstore_1dstore_2dstore_3dstore_wdsubdupdup2dup2_x1dup2_x2dup_x1dup_x2f2df2if2lfaddfaloadfastorefcmpgfcmplfconst_0fconst_1fconst_2fdivfloadfload_0fload_1fload_2fload_3fload_wfmulfnegfremfreturnfstorefstore_0fstore_1fstore_2fstore_3fstore_wfsubi2bi2ci2di2fi2li2siaddialoadiandiastoreiconst_0iconst_1iconst_2iconst_3iconst_4iconst_5	iconst_m1idiviinciinc_wiloadiload_0iload_1iload_2iload_3iload_wimulinegint2byteint2char	int2shortioriremireturnishlishristoreistore_0istore_1istore_2istore_3istore_wisubiushrixorl2dl2fl2iladdlaloadlandlastorelcmplconst_0lconst_1ldc2_wldivlloadlload_0lload_1lload_2lload_3lload_wlmullneglookupswitchlorlremlreturnlshllshrlstorelstore_0lstore_1lstore_2lstore_3lstore_wlsublushrlxormonitorentermonitorexitnopr  pop2retret_wr   saloadsastoresipushswapr  z0(anewarray|checkcast|instanceof|ldc|ldc_w|new)%sclass/no-dotsz=invoke(dynamic|interface|nonvirtual|special|static|virtual)%s
invocationz(getfield|putfield)%s)descriptor/no-dotsrN  z(getstatic|putstatic)%s)r  static)gotogoto_w	if_acmpeq	if_acmpne	if_icmpeq	if_icmpge	if_icmpgt	if_icmple	if_icmplt	if_icmpneifeqifgeifgtifleifltifne	ifnonnullifnulljsrjsr_wz(multianewarray|newarray)%srM  ztableswitch%stablerY  z\\u[\da-fA-F]{4}z[^'\\]+z0\\([nrtfb"\'\\]|u[\da-fA-F]{4}|[0-3]?[0-7]{1,2})z[^"\\]+rD   z\n+z(%s)([ \t\r]*)(:))r>   annotation-bodyz	default%s)r>   annotation-defaultr  z\.end%s)annotation-itemsr  r  r  zall%sz(L)((?:z[/.])*)(z)(;)z((?:r   z\[+)r>   r  z/)*)(z?)(;)z
[^%s\[)L]+r  descriptors/convert-dotsr%  z(?=[^%s]*\())r>   r  )r>   rL  rN  zstatic%s)r>   r  z	[/.](?=[^z]*[/.]))*)(z[/.])?(z(]*[/.]))*)(z)(\())r>   rM  r   rM  z(%s)(\()z(locals|method|stack)%sz8(Double|Float|Integer|Long|Null|Top|UninitializedThis)%szObject%s)r>   r  zUninitialized%s)r>   rK  )r  rK  rP  rO  r  r  r4   rR  c                    d}t          j        d| t           j                  r*|dz  }t          j        d| t           j                  r|dz  }t          j        d| t           j                  r|dz  }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      ?)rN   searchrO   r  )r   scores     rf   r>  zJasminLexer.analyse_text  s    9%tR\:: 	SLEy/r|DD 9 EFJ\# # 	 SLE5#re   N),rE   rF   rG   rH   rI   rJ   rK   rL   _whitespacer  
_separator_break_name_unqualified_namer   r   rS   r@  r   r   r   r^   ra   r]   r   rP  r   rQ  r   r  r   r   r\   rN  r
   rW   rX   rb   r   	ExceptionInstancerU   rc   r>  rd   re   rf   r&   r&     s7         D
*C$GIK

$C;&JZ'F
"E*Z7g Q
J'Q
6="34Q
 6=(+Q
 ;	Q

 ;(Q
 *Q
 W^$Q
 +V3VZ@Q
 $f,fn=Q
0289:@,HQ
 u_dm,Q
 ')9<HQ
 E HN	N
 !Q
, F"G$46HI-Q
.=?EF35/Q
4 F"G$4135Q
8 &.0@ 9Q
< V#W%5x@=Q
> & '"2E:?Q
@ V#W%5{CAQ
B )6173CWMCQ
D vw//1EQ
H !6)7+;^LIQ
J 6!7#35GHKQ
P U -, 6<-= = =, ?F>N-PQQ
~ A6I0Q
B"$*+,3,<CQ
H &.0@,.IQ
L (&0'2B-/MQ
P U * 39	: : :
 w(QQ
\ ,f4g6F&(]Q
` &(8'BaQ
gf 	6=&) &-0'
ggp 	6=&)@]'	
qg| 	Z 6='*GI!E)Xdj*k::<FL!
}gL 	J ;<F"G$4+-GI	
MgX 	Z & '"2F;GIFL"LM	
Ygd 	Z & '"2F;GIG>??	
egp 	6='*GIFL!
qgz 	0GK  
{gB 	GI+<+<+<eeeDXglDNDJLL  &7%6%6>Xdndj116;
CgR 	GI["@AA(9(9(9555AXglDNDJLL  #4"3"3UUU;Xdndj116;
Sgd 	"GI[!!,=,=,=uuuEXglDNDJLL Z'v>GFOO$
egv 	GI[!!(9(9(9555AXglDNDJLL Z'v>GFOO
wgH 	#K(G-..%
IgP 	*z)41GHG233
QgZ 	GI%6%6%6>Xdndn55v?
[gd 	6!7#35GHGI->->->GXdndj$-2HII
egv GI->->->GXdndj$-MM)*
 GIDJ'

 GI5 ((4=+"F"F)*
 (&0'2BFKGI

 GI->->->GXdndj$-2EFFP
 Z F"G$4f=GIDJ	
 GIDM6*

 GIHf&6!7,EF&('3DE
Ag g gFR
 
 
 
 
re   r&   c                      e Zd ZdZdZdZdgZdgZdgZe	j
        e	j        z  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.

    .. versionadded:: 2.4
    SARLzhttp://www.sarl.iosarlz*.sarlztext/x-sarlr/  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)\br0   r1   z+(false|it|null|occurrence|this|true|void)\bzY(agent|annotation|artifact|behavior|capacity|class|enum|event|interface|skill|space)(\s+)r+   r4  r2   r5  r6  r8  r$  r0  r%  r:  r;  r<   r<  r>   r?   )rD   r+   r2   Nr1  rd   re   rf   r'   r'     s         D
ChG
IIL29$E
 XeeDkk4=*hGGI *%XXgnjAAB7,- $.1B R " G\):J G GH;W=MN,-5Xg6I:-V-V xx(9:FFQ(&-8(&-8tz*t$-x85v|D
+&.)JC"
H dj&1
 4>62
O* *FFFre   r'   )-rH   rN   pygments.lexerr   r   r   r   r   r   r	   r
   r   pygments.tokenr   r   r   r   r   r   r   r   r   pygments.utilr   pygmentsr   r  __all__r   r"   r   r   r   r   r   r   r   r  r#   r    r!   r$   r%   r&   r'   rd   re   rf   <module>r3     sp    
			# # # # # # # # # # # # # # # # # # # # # #$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ) ) ) ) ) ) % % % % % %@ @ @Y Y Y Y Y
 Y Y Yx%* %* %* %* %*9 %* %* %*P] ] ] ] ] ] ] ]@	L L L L L
 L L L^= = = = = = = =$K0 K0 K0 K0 K0* K0 K0 K0\} } } } }
 } } }@J J J J J: J J JZ
H 
H 
H 
H 
H 
H 
H 
H, , , , ,: , , ,^M M M M M* M M M`Y Y Y Y Y* Y Y Yx? ? ? ? ? ? ? ?DA A A A Az A A AHo o o o o
 o o odF F F F F* F F FR9 9 9 9 9
 9 9 9 9 9re   