
    ,h                     |   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 g dZ G d de      Z G d d	e      Z G d
 de      Z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#y)z
    pygments.lexers.dsls
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for various domain-specific languages.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)	ExtendedRegexLexer
RegexLexerbygroupswordsincludedefaultthisusingcombined)	TextCommentOperatorKeywordNameStringNumberPunctuation
Whitespace)ProtoBufLexer	ZeekLexerPuppetLexerRslLexerMscgenLexerVGLLexer
AlloyLexerPanLexer
CrmshLexerThriftLexerFlatlineLexerSnowballLexerc                      e Zd ZdZdZdZddgZdgZdZde	fd	e
fd
ej                  fdej                  f eddd      ef edd      ej                   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fdefdej.                  fdej.                  fdej.                  fdej0                  fdej2                  fdej4                  fd efd! eej:                  e	e      fd"efgd#ej&                  d$f ed$      gd#ej>                  d$f ed$      gd#ed$f ed$      gd%Z y&)'r   z5
    Lexer for Protocol Buffer definition files.
    zProtocol Bufferz/https://developers.google.com/protocol-buffers/protobufprotoz*.protoz1.4z[ \t]+z[,;{}\[\]()<>]z/(\\\n)?/(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/)importoptionoptionalrequiredrepeatedreservedr   packedctype
extensionstomaxrpcreturnsoneofsyntax\bprefixsuffix)int32int64uint32uint64sint32sint64fixed32fixed64sfixed32sfixed64floatdoubleboolstringbytesr6   (true|false)\bz(package)(\s+)packagez(message|extend)(\s+)messagez(enum|group|service)(\s+)typez\".*?\"z\'.*?\'z'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z(\-?(inf|nan))\bz0x[0-9a-fA-F]+[LlUu]*z0[0-7]+[LlUu]*z
\d+[LlUu]*z[+-=]z([a-zA-Z_][\w.]*)([ \t]*)(=)z[a-zA-Z_][\w.]*[a-zA-Z_]\w*#pop)rootrH   rI   rJ   N)!__name__
__module____qualname____doc__nameurlaliases	filenamesversion_addedr   r   r   Single	Multiliner   r   TypeConstantr   	NamespaceDeclarationr   r   FloatHexOctIntegerr   r   	Attributer   Classtokens     V/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pygments/lexers/dsls.pyr   r      s    D
;C7#GIM 
#,-w~~>,g.?.?@ < EJRWY 	
  > GLM \\	
  0 01):):J GS%g)):6	C)g)):6@  7F-v||< &,,/%vzz2

+FNN+x ,dnnj(;=&A!
F dnnf5FO

 djj&1FO

 dF+FO
W/Fre   r   c                      e Zd ZdZdZdZdgZdgZdgZdZ	 e
d       e
d	      d
ej                   edd      fdej                   edd      fd eej"                  e      dfd eej&                  e      dfd e ee      ej.                  ee      f e
d       e
d      defdefdefgdefdefgdefdefdej6                  fgdej8                  fgd
ej                  dfd ej                  fgd!ej                  dfd"ej                  fgd#ej"                  df ed      gd$ej<                  df ed      gd%efd&ej>                  fd'ej&                  f e d(d)*      ej"                  f e d+d)*      ejB                  f e d,d)d)-      ejD                  fgd.e#jH                  fd/e#jJ                  fd0e#jL                  fgd1
Z'y2)3r   z+
    For Thrift interface definitions.
    Thriftzhttps://thrift.apache.org/thriftz*.thriftzapplication/x-thrift2.1
whitespacecomments"stringescapedqsz\'sqsz(namespace)(\s+)	namespacez*(enum|union|struct|service|exception)(\s+)classzE((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()keywordsnumbersz[&=]z[:;,{}()<>\[\]]z[a-zA-Z_](\.\w|\w)*\n\s+#.*$z//.*?\n/\*[\w\W]*?\*/z\\([\\nrt"\'])rL   z	[^\\"\n]+'z
[^\\\'\n]+z[a-z*](\.\w|\w)*rK   z1(async|oneway|extends|throws|required|optional)\brG   z(const|typedef)\b)cpp_namespacecpp_includecpp_typejava_packagecocoa_prefixcsharp_namespacedelphi_namespacephp_namespace	py_moduleperl_packageruby_namespacesmalltalk_categorysmalltalk_prefixxsd_allxsd_optionalxsd_nillablexsd_namespace	xsd_attrsr   r3   rF   )voidrC   bytei16i32i64rB   rD   binarymaplistsetslistsenum)eBEGINEND	__CLASS____DIR____FILE____FUNCTION____LINE__
__METHOD____NAMESPACE__abstractaliasandargsasassertbeginbreakcasecatchrr   clonecontinuedeclaredefr   deldeletedodynamicelifelseelseifelsifend
enddeclareendfor
endforeachendif	endswitchendwhileensureexceptexecfinallyrA   forforeachfunctionglobalgotoif
implementsr$   ininline
instanceof	interfaceislambdamodulenativenewnextnilnotorpasspublicprintprivate	protectedraiseredorescueretryregisterreturnselfsizeofstaticsuperswitchsynchronizedthenr	   throw	transienttryundefunlessunsigneduntilusevarvirtualvolatilewhenwhilewithxoryieldr4   z1[+-]?(\d+\.\d+([eE][+-]?\d+)?|\.?\d+[eE][+-]?\d+)z[+-]?0x[0-9A-Fa-f]+z[+-]?[0-9]+)
rM   rk   rl   rn   ro   rp   rq   rr   rs   rt   N)(rN   rO   rP   rQ   rR   rS   rT   rU   	mimetypesrV   r   r   Doubler   rW   r   r   r[   r   r\   r
   r	   r   Functionr   r   r   rX   Escaper   rb   rZ   r   rY   Reservedr   r]   r^   r`   rc   rd   re   rf   r   r   T   s    D
&CjGI'(IM L!J6==(>5"ABFMM8NE#BC **J7F:,,j97D eDk4==*hGI JIh-#T*#
( JZ 

 g! 1 12
 .
 6==&)6==)

 6==&)FMM*

 !$..&9FO

 djj&1FO

 B7K 0 01!7#6#67 ( 167     "'( \\	
  E$ U%,& '#%
N B6<<P#VZZ0V^^,
m[Fre   r   c                   $   e Zd ZdZdZdZddgZddg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      dej                  f ed      gdefdefd eee      fgdefgdej&                  fdej&                  fd eej&                  eej&                        fg eddd !      ej,                  fg ed"d #      ej.                  fd$ eej.                  eej2                  eej.                        fd% eeeej4                  eeeej.                        fd& eeeeee      fd' eeeej.                  eej4                        fg ed(d #      efd)efd*ej6                  fd+ eej8                  eej8                        fgd,ed-fd.ej<                  d/fd0ej>                  fd1e fd2e fd3e fd4e	z   d5z   e jB                  fe
d6z   e jD                  fe
d z   e jD                  fd7e jF                  fed8z   ez   d9z   efgd:efd;efd<ej2                  fd=efgd>e$fd?e$fgd@ eee$      fdAefgdBejJ                  fdCejJ                  fd,edDfdEefgdBejJ                  fdFej<                  dDfdEej<                  fgdGZ&yH)Ir   z
    For Zeek scripts.
    Zeekzhttps://www.zeek.org/zeekbroz*.zeekz*.broz2.5z[0-9a-fA-F]z(((\d*\.?\d+)|(\d+\.?\d*))([eE][-+]?\d+)?z[A-Za-z0-9][-A-Za-z0-9]*rk   rl   
directives
attributestypesrs   literals	operatorspunctuationz2((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(?=\s*\()identifiersru   rv   z(\\)(\n)rw   z)@(load-plugin|load-sigs|load|unload)\b.*$z=@(DEBUG|DIR|FILENAME|deprecated|if|ifdef|ifndef|else|endif)\bz(@prefixes)(\s*)((\+?=).*)$)redefprioritylogr&   r   add_funcdelete_funcexpire_funcread_expirewrite_expirecreate_expirer   
persistentrotate_intervalrotate_sizeencrypt
raw_output	mergeableerror_handlertype_column
deprecated&r3   r4   )anyenumrecordr   tablevectorr   hookeventaddrrC   countrB   fileintintervalpatternportrD   subnettimerF   zA(opaque)(\s+)(of)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)\bzR(type)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(\s*)(:)(\s*)\b(record|enum)\bz<(type)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(\s*)(:)zI(redef)(\s+)(record|enum)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)\b)r  exportr   r   r   r   r   r   r   r   fallthroughr   r   r   addr   r   timeoutschedulez	(print)\bz(global|local|const|option)\bz4(module)(\s+)(([A-Za-z_]\w*)(?:::([A-Za-z_]\w*))*)\brm   rD   z/(?=.*/)regexz(T|F)\bz \d{1,5}/(udp|tcp|icmp|unknown)\bz(\d{1,3}.){3}(\d{1,3})\bzH\[([0-9a-fA-F]{0,4}:){2,7}([0-9a-fA-F]{0,4})?((\d{1,3}.){3}(\d{1,3}))?\]z0[xX]z+\bz!\s*(day|hr|min|sec|msec|usec)s?\bz(\d+)\bz(\.z)+z[!%*/+<=>~|&^-]z([-+=&|]{2}|[+=!><-]=)z(in|as|is|of)\bz\??\$z[{}()\[\],;.]z[?:]z([a-zA-Z_]\w*)(::)rK   z\\.z%-?[0-9]*(\.[0-9]+)?[DTd-gsx]rL   ./)rM   rk   rl   r   r  r  rs   r  r  r  r  rD   r/  N)'rN   rO   rP   rQ   rR   rS   rT   rU   rV   _hex_float_hr   r   r   r   r   r   r   Preprocr   r   PseudorY   r   Wordrb   r\   r[   r   RegexrZ   r   r^   r]   r`   r   r   rc   rd   re   rf   r   r      s    D
!CuoG7#IMD8F	$B L!JL!L!GJJK M"BM"
  JZ (445
 g

 :7??KMw_+XgooGOO.- .
  1
 E+ ^^
  C
  \\ Rz8==*gll[] c*djj*hPZ\c\h\hik M*dJIK Z*gllJ

SU%
.  3
   7#-w/B/BCD**JGI
 68$
 &,,0))* 1&9 )&1 YZ`a _v%vzz2::FLLIe^V\\*( &[2%v.5
<  *&1/x 	
 {+
 k"
 #HT;$?@d#
 V]]#-v}}=66"6N	
 V]]#6<<(6<< 
QMFre   r   c                      e Zd ZdZdZdZdgZdgZdZ e	d       e	d       e	d	       e	d
       e	d       e	d      de
fdefgd eee      fdej                  fgdefdej                   fgdej$                  fd eej&                  e
ee
      fdej&                  fgdej,                  fdej,                  fdej.                  fdej0                  fdej2                  j4                  fdej2                  fg eddd      efgd efd!efgd"Zy#)$r   z'
    For Puppet configuration DSL.
    Puppetzhttps://puppet.com/puppetz*.pp1.6rl   rs   namesrt   r  stringsz[]{}:(),;[]rv   z(\s*)(#.*)$z/(\\\n)?[*](.|\n)*?[*](\\\n)?/z(=>|\?|<|>|=|\+|-|/|\*|~|!|\|)z(in|and|or|not)\brK   z(\$\S+)(\[)(\S+)(\])z\$\S+z'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?z\d+[eE][+-]?[0-9]+j?z	0[0-7]+j?z0[xX][a-fA-F0-9]+z\d+Lz\d+j?)mabsentalertr   auditaugeasbeforer   checkrr   computer
configured	containedcreate_resourcescritcrondebugr   definedefined	directoryr   r   emergerrr   	extlookupfailfalser#  
filebucket	fqdn_randgeneratehostr   r$   r   infoinheritsinline_template	installedr   k5loginlatestlinkloglevelmacauthorization	mailaliasmaillistmcxmd5mountmountednagios_commandnagios_contactnagios_contactgroupnagios_hostnagios_hostdependencynagios_hostescalationnagios_hostextinfonagios_hostgroupnagios_servicenagios_servicedependencynagios_serviceescalationnagios_serviceextinfonagios_servicegroupnagios_timeperiodnodenoopnoticenotifyrH   presentpurgedrealizeregsubst	resourcesrolerouterrunningr.  scheduled_tasksearch
selboolean	selmoduleservicesha1
shellquotesplitsprintfssh_authorized_keysshkeystagestopped	subscribetagtaggedtemplatetidytruer   	unmounteduser
versioncmpvlanwarningyumrepozfszonezpoolz(?i)r3   r4   z	"([^"])*"z'(\\'|[^'])*')rM   rl   r  r=  rt   rs   r>  N)rN   rO   rP   rQ   rR   rS   rT   rU   rV   r   r   r   r   r   rX   r   r7  r   ra   Variabler   r   r]   r_   r^   r`   Longr   r   rc   rd   re   rf   r   r   ^  s    D
CjGIM JJGIK I[)Z 

 Xj':;.0A0AB
 /9!8==1
 dnn-$ht}}k/5{'D Et}}%	
 8F$fll36::&!6::.fnn))*v~~&
  , "(-7. /
< 6"v&
KJFre   r   c                      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                  z  Zd ed	d
d
      efdej                   fdefdefdefdefd eeej*                  eej*                        fd eeej*                  eeee      fdej.                  fdej0                  fdefdej4                  fdefdej:                  fdej<                  fdej>                  fdefdefgiZ d Z!y)r   z
    RSL is the formal specification
    language used in RAISE (Rigorous Approach to Industrial Software Engineering)
    method.
    RSLz"http://en.wikipedia.org/wiki/RAISErslz*.rslztext/rsl2.0rM   )JBoolCharIntNatRealr   Unitabsallalwaysr  r   axiomcardr   channelchaosrr   devt_relationdomelemsr   r   r   existsextendrS  r   hdhider   r   r   inds
initialiser$  interisinlenletlocalltl_assertionobjectofoutpostprereadrealrngschemeskipstopswapr   theory	test_casetltransition_systemr  rJ   unionr   r   valuevariabler   r   writez~isinz-inflistz-infsetz-listz-setr3   r4   z(variable|value)\bz--.*?\nz<:.*?:>z	\{!.*?!\}	/\*.*?\*/z^([ \t]*)([\w]+)([ \t]*)(:[^:])z5(^[ \t]*)([\w]+)([ \t]*)(\([\w\s,]*\))([ \t]*)(is|as)z\b[A-Z]\w*\brG   z".*"z\'.\'zq(><|->|-m->|/\\|<=|<<=|<\.|\|\||\|\^\||-~->|-~m->|\\/|>=|>>|\.>|\+\+|-\\|<->|=>|:-|~=|\*\*|<<|>>=|\+>|!!|\|=\||#)z [0-9]+\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-f]+[0-9]+rv   r0  c                 P    t        j                  d| t         j                        yy)zP
        Check for the most common text in the beginning of a RSL file.
        zscheme\s*.*?=\s*class\s*typeNg      ?)rer  I)texts    rf   analyse_textzRslLexer.analyse_text  s%     994dBDDAM Nre   N)"rN   rO   rP   rQ   rR   rS   rT   rU   r   rV   r  	MULTILINEDOTALLflagsr   r   r\   r   r   r   r   r   r   rY   rZ   r   r  r   r   r]   r^   r`   rc   r  rd   re   rf   r   r     sY   
 D
.CgG	IIMLL299$E 	  !&e5  #G$7$78!!7#7#/*z4==2: ;Ej$--TW&' gll+ 0 01fv{{#F 1&,,?VZZ('Z 4LG$
&FPre   r   c                   t   e Zd ZdZdZdZddgZdgZdZdZ	d	e
j                  fd
ej                  fdej                  fde
fdefdej                   fe	ej"                  fdedfdef ed      g
dedfe	dz   e	z    eej*                  eeee      fdef ed      gdej2                  fdej4                  fdefgdZy)r   z
    For Mscgen files.
    Mscgenz!http://www.mcternan.me.uk/mscgen/mscgenmscz*.mscr<  z(\w+|"(?:\\"|[^"])*")zmsc\bzO(hscale|HSCALE|width|WIDTH|wordwraparcs|WORDWRAPARCS|arcgradient|ARCGRADIENT)\bz)(abox|ABOX|rbox|RBOX|box|BOX|note|NOTE)\bz(\.|-|\|){3}zT(?:-|=|\.|:){2}|<<=>>|<->|<=>|<<>>|<:>|->|=>>|>>|=>|:>|-x|-X|<-|<<=|<<|<=|<:|x-|X-|=z\*z\[attrsz	\{|\}|,|;rl   z\]rL   z(\s*)(=)(\s*),z(?://|#).*?\nz/\*(?:.|\n)*?\*/z
[ \t\r\n]+)rM   r  rl   N)rN   rO   rP   rQ   rR   rS   rT   rU   rV   _varr   rY   r   Propertyr   r7  Builtinr  r   r   r   ra   r   r   r   rW   rX   rc   rd   re   rf   r   r     s(    D
-CG	IM#D w||$,-1]]< :8==Ig&) +34
 DLL!4==!K);'J%
* K($$t+dnnj(J ;J
 w~~. '"3"34J'
;"Fre   r   c                      e Zd ZdZdZdZdgZdgZdZe	j                  e	j                  z  e	j                  z  Zddej                  fd	ej"                  fd
efdej"                  fdefdefd eeej,                        fdefdefdefdefgiZy)r   z,
    For SampleManager VGL source code.
    VGLz-http://www.thermoscientific.com/samplemanagervglz*.rpfr<  rM   z	\{[^}]*\}r   z(if|then|else|endif|while|do|endwhile|and|or|prompt|object|create|on|line|with|global|routine|value|endroutine|constant|global|set|join|library|compile_option|file|exists|create|copy|delete|enable|windows|name|notprotected)(?! *[=<>.,()])z$(true|false|null|empty|error|locked)z[~^*#!%&\[\]()<>|+=:;,./?-]z"[^"]*"z(\.)([a-z_$][\w$]*)z&[0-9][0-9]*(\.[0-9]+(e[+\-]?[0-9]+)?)?z[a-z_$][\w$]*z[\r\n]+rv   N)rN   rO   rP   rQ   rR   rS   rT   rU   rV   r  r  r  
IGNORECASEr  r   rX   r   rZ   r   r   r   r   ra   r   r   rc   rd   re   rf   r   r   %  s     D
9CgG	IMLL299$r}}4E 	7,,-))*I 	
 5g6F6FG+X6 #Xh%GH6?t$$Z 
Fre   r   c                   J   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                  z  ZdZd	Zd
efZdedfeefedefdedfgeeedfgededfeedfg ed      eedfgdej2                  fdej2                  fdej4                  fed eej8                  e      dfd eej:                  e      dfdej<                  fdej>                  fdefdefdefdefdefdej@                  fd eee      dfd  eee      d!fd"efd#efeefd$efd%e!jD                  feefd&efgd'Z#y())r   z 
    For Alloy source code.
    Alloyzhttp://alloy.mit.edualloyz*.alsztext/x-alloyr  z[a-zA-Z_][\w]*"*z"\b(\\\\|\\[^\\]|[^"\\])*"z[^\S\n]+z(extends)\brL   r  \{funz--.*?$z//.*?$r  z(module|open)(\s+)r   z(sig|enum)(\s+)sigz(iden|univ|none)\bz(int|Int)\bz2(var|this|abstract|extends|set|seq|one|lone|let)\bz"(all|some|no|sum|disj|when|else)\bz-(run|check|for|but|exactly|expect|as|steps)\bz)(always|after|eventually|until|release)\bz,(historically|before|once|since|triggered)\bz(and|or|implies|iff|in)\bz(fun|pred|assert)(\s+)z(fact)(\s+)factz&!|#|&&|\+\+|<<|>>|>=|<=>|<=|\.\.|\.|->z[-+/*%=<>&!^|~{}\[\]().\';]z[:,]r  ru   )r  r   r  r  rM   N)$rN   rO   rP   rQ   rR   rS   rT   rU   r   rV   r  r  r  r  iden_rex
string_rexr   
text_tupler   r   r   r   r   r   r   rW   rX   r   r[   r\   rZ   rY   r7  r   r`   rc   rd   re   rf   r   r   F  s    D
 CiG	I IMLL299$E"H.Jz*J Wf-t;Hf%
 tV$

 Hf%tV$
 EN(

 ''7,,-"HW->->
$K'*=*=z!JER"G$4$45W\\*BGL2G<=wG97C<gF)8==9&*(EuMXgz:FC6A+X6tk"' J1
+/Fre   r   c                      e Zd ZdZdZdZdgZdgZdZ e	d      de
d	fd
e
df e	d      g eddd      e
f eddd      ej                  fdefdej                   fd eej$                  ee      fdefdefdefgdej,                  fdej.                  fdefdefdefgde
dfde
fdej$                  fd efd!ef e	d"      gd#e
df e	d"      gd$Zy%)&r   z?
    Lexer for pan source files.

    Based on tcsh lexer.
    Panzhttps://github.com/quattor/pan/panz*.panr  basicz\(parenr  curlydata)r   r   r   r   rJ   bindr   validfinalr5   uniquer  r   r   r  r   r  	structure
extensibledeclarationr3   r4   )4file_contentsformatindexlengthmatchmatchesreplacesplicer  substrto_lowercaseto_uppercaserK  error	tracebackr  base64_decodebase64_encodedigestescapeunescapeappendcreatefirstnlistkeyr   merger   prepend
is_boolean
is_defined	is_doubleis_listis_longis_nlistis_null	is_numberis_propertyis_resource	is_string
to_boolean	to_doubleto_long	to_stringr   r   r  path_exists	if_existsr   r  z#.*z\\[\w\W]z(\b\w+)(\s*)(=)z[\[\]{}()=]+z<<\s*(\'?)\\?(\w+)[\w\W]+?\2;z!(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"z!(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'rv   z[^=\s\[\]{}()$"\'`\\;#]+z\d+(?= |\Z)z\}rL   z:-z\w+z[^}:"\'`$]+:rM   \))rM   r  r  r  r  N)rN   rO   rP   rQ   rR   rS   rT   rU   rV   r   r   r   r   r  r   r   r   r   r  r   r   r   r   rW   r   r   rc   rd   re   rf   r   r     sp    D
+CgG	IM GGW%GW%FO	
  R U	,
   	? U
, \\ W&--($--X!NOh',f5;1
6 26==A16==AZ ($/V$
 GV$GT]]#[);FO
 GV$FO
a4Fre   r   c                      e Zd ZdZdZdZddgZddgZg ZdZ	 e
d	d
      Z e
dd
      Z e
dd
      Z e
dd
      Z e
dd
      Z e
dd
      ZdZdZdZdZdd eee      fd eej2                  ee      fd eeeee      fdefeefeefeefde de dej>                  feej>                  feej>                  feej>                  fdej@                  fde d eeee      fd e d! eeeej>                        fd"efd#efgiZ!y$)%r   zE
    Lexer for crmsh configuration files for Pacemaker clusters.
    Crmshzhttp://crmsh.github.io/crmshpcmkz*.crmshz*.pcmkrj   )ru  	primitivegroupr   mslocation
colocationorderfencing_topology
rsc_ticketrsc_templatepropertyrsc_defaultsop_defaults
acl_target	acl_groupr  r~  r  z(?![\w#$-])rF   )paramsmeta
operationsopruler  utilization)r  r  deny)r   r   )rM  not_defined)in_rangedatespecr   z*(?:tag|ref|reference|attribute|type|xpath)z(?:lt|gt|lte|gte|eq|ne)z(?:string|version|number)z:(?:Master|Started|Slave|Stopped|start|promote|demote|stop)rM   z^(#.*)(\n)?z!([\w#$-]+)(=)("(?:""|[^"])*"|\S+)z(node)(\s+)([\w#$-]+)(:)z([+-]?([0-9]+|inf)):z(?:z:)?(z)(?![\w#$-])z#[a-z]+(?![\w#$-])(z)(:)("(?:""|[^"])*"|\S+)z([\w#$-]+)(?:(:)(z))?(?![\w#$-])z(\\(?=\n)|[\[\](){}/:@])z\s+|\nN)"rN   rO   rP   rQ   rR   rS   rT   rU   r   rV   r   elemsubaclbin_relun_opsdate_expacl_modbin_opsval_qualrsc_role_actionr   r   r   r   ra   r   r   r   r   r   r7  r  rc   rd   re   rf   r   r     s    D
#CGH%IIM 
 &'D  %-;=C ).
ACM.9G-nEF7OH<G)G,H5O 	Xgz:;1f=?
 )*dK@B %f-7O'N'NH:T',7Ghmm$X]]#x}}%"DLL1'23g{D13 "/!2.AdK79 )+6
#C"
$Fre   r   c                   T   e Zd ZdZdZdZdgZg ZdgZdZ	dZ
dZd	Zd
d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j*                  f ee
d      ef eed      ej2                  fdez   ej4                  feej6                  fdefgiZy)r   z)
    Lexer for Flatline expressions.
    Flatlinez$https://github.com/bigmlcom/flatlineflatlineztext/x-flatline2.2)r  )z!=*+-<z<==>z>=r  acosr  zall-butzall-with-defaultszall-with-numeric-defaultr   asinatanavgz
avg-windowz
bin-centerz	bin-countcallzcategory-countceilcondzcond-windowconscoscoshr"  zdiff-windowdivzensure-valuezensure-weighted-valueepochz	epoch-dayzepoch-fieldsz
epoch-hourzepoch-millisecondzepoch-minutezepoch-monthzepoch-secondzepoch-weekdayz
epoch-yearexpffieldz
field-propfieldsfilterr  floorheadr   r   integerlanguager  levenshteinzlinear-regressionr   lnr	  log10r   r  zmatches?r.   maximumrd  meanmedianminminimummissingzmissing-countzmissing?missing_countmodmode	normalizer   nthoccurrencesr   
percentilezpercentile-label
populationzpopulation-fractionpow	preferredz
preferred?zquantile-labelrandzrand-intzrandom-valuezre-quoter  r  zreplace-firstrestroundz
row-numberzsegment-labelr  sha256sinsinhsqrtsquarezstandard-deviationstandard_deviationstrsubssumzsum-squaresz
sum-windowsum_squaressummaryz
summary-nozsummary-strtailtantanhz
to-degreesz
to-radiansvariance	vectorizezweighted-random-valuewindowwinnowzwithin-percentiles?zz-scorez(?!#)[\w!$%*+<=>?/.#-]+rM   z[,]+rv   z
-?\d+\.\d+z-?\d+z0x-?[a-f\d]+z"(\\\\|\\[^\\]|[^"\\])*"z\\(.|[a-z]+)_ rF   z(?<=\()z(\(|\))N)rN   rO   rP   rQ   rR   rS   rT   rU   r   rV   special_formsbuiltins
valid_namer   r   r   r]   r`   r^   r   r  Symbolr   r   r   r  r   r  r   rc   rd   re   rf   r   r     s     D
0ClGI"#IMMH2 ,J 	dOZ  FLL)v~~&fjj) )&1fkk* 6==! =-w7 8C($,,7 *$dmm4 ' %=
!Fre   r   c                      e Zd ZdZdZdZdgZdgZdZdZ	d Z
d	 Zd
 Zd Zdej                  fdej"                  f ed      gde	 defdej*                  fdej.                  dfdefdej4                  fdej.                  fdef edd      ej:                  f edd      ej:                  df edd      ej"                  f edd      ej                  fde	 d e	 d! eej:                  eej>                        fd"e	 d#e	 d$efd%efgd&ed'f ed(d      ed)f ed      gd* ed+      fgd* ed,      fgd-Z d0d/Z!y.)1r    z)
    Lexer for Snowball source code.
    Snowballzhttps://snowballstem.org/snowballz*.sblrZ  z\n\r\t c                 P    | j                          t        j                  | fi | y N)_reset_stringescapesr   __init__)r   optionss     rf   r  zSnowballLexer.__init__l  s!    !!###D4G4re   c                      d| _         d| _        y )Nry   )_start_end)r   s    rf   r  z"SnowballLexer._reset_stringescapesp  s    	re   c                       fd}|S )Nc              3     K   |j                         }|j                         }t        j                  dt        j                  | j
                         d      j                  }t        j                  dt        j                  | j                         d      j                  }d}	}|t        |      k  ry|r |||      }||j                  d      z   t        j                  |j                  d      f |j                  d      dk(  rQ||j                  d      z   t        j                  |j                  d      f |j                  j                          n||j                  d      z   t        j                  |j                  d      f |j                         } |||      }||j                         z   t        j                  |j                         f |j                  d      | j                  k7  rd|j                  d<   n"|j                         }d	}|t        |      k  ry||j                         z   |_        y w)
Nz([^]*)(.)r         ry   r  T)startr4  r  compiler  r  r  r  r  r   rW   stackpopr   r   pos)
lexerr  ctxsr  rD   r  r  	do_stringdo_string_firsts
            rf   callbackz'SnowballLexer._string.<locals>.callbacku  s    A;;=DZZ3ryy'>&?v FGMMFZZ3ryy'<&=V DEKKFC'ID	/"4-Eekk!n,fmmU[[^KK{{1~,%++a.0&--QOO		ekk!n,fmmU[[^KK))+CtS)%++-'EE;;q>UZZ/$,CIIbMiik 	! D	/" %))+oCGs   H+I	0I	rd   )r  r  s   ` rf   _stringzSnowballLexer._stringt  s    	&2 re   c                     |j                  d      | _        |j                  d      | _         t        t        j
                  t        t        j                  t        t        j                        | ||      S )N      )	r4  r  r  r   r   r   r   r   r   )r  r  r  s      rf   _stringescapeszSnowballLexer._stringescapes  sV    {{1~[[^
'x((*fmmZ'',eS: 	:re   zlen\bzlenof\broot1[z]+z\d+ry   rD   z[()]rx   z//.*z)[!*+\-/<=>]=|[-=]>|<[+-]|[$*+\-/<=>?\[\]])r   gethexamongrL  decimalbackwardmoder3   rF   )r>  booleansintegersroutines	externals	groupingsr  )!r   r   r   r   hopnonr   r   r   rR  r   loopr   testr  rS  unsetatmarkattachr   gopastinsertrepeatr   tomarkatleastatlimitreversesetmarktolimitsetlimit	backwards	substring)sizelimitcursormaxintminintz(stringdef\b)([z]*)([^z]+)z(stringescapes\b)([z]*)(.)([r  z[A-Za-z]\w*r.  rL   )r  lenof)r  r  z[^']*'TF)rM   r  r  rD   r  Nc                 P    | j                          t        j                  | ||      S r  )r  r   get_tokens_unprocessed)r   r  contexts      rf   r  z$SnowballLexer.get_tokens_unprocessed  s#    !!#!88tWMMre   )NN)"rN   rO   rP   rQ   rR   rS   rT   rU   rV   _wsr  r  r  r  r   r  r   r7  r   r   r   r`   r   rW   r   r   rX   r   r   r   r   r   rc   r  rd   re   rf   r    r    _  s    D
%ClG	IM
C58: t||$'G
 #b\:&V^^$6==(+k" 1 12gnn%98D $,13  !).0}.  .
 7<= ]] B!\\  uF3%s3g&&
FMMBD#C5V<T"9
> K(#E2D%'G	
 &
 '
[0FdNre   r    )$rQ   r  pygments.lexerr   r   r   r   r   r   r	   r
   r   pygments.tokenr   r   r   r   r   r   r   r   r   __all__r   r   r   BroLexerr   r   r   r   r   r   r   r   r    rd   re   rf   <module>r     s    
, , ,$ $ $J
:J :zf* fR[
 [| T* Tn<z <~.* .bz BA AHAz AHB BJIJ IXkN& kNre   