
    5h                     ^   S r SSKrSSKJrJrJrJrJrJrJ	r	J
r
  SSKJrJrJrJrJrJrJrJrJrJrJr  SSKJr  SSKJr  SSKJr  / SQr " S	 S
\5      r " S S\5      r  " S S\5      r! " S S\5      r" " S S\5      r# " S S\5      r$ " S S\5      r% " S S\5      r& " S S\5      r'g)z
pygments.lexers.dotnet
~~~~~~~~~~~~~~~~~~~~~~

Lexers for .net languages.

:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    N)
RegexLexerDelegatingLexerbygroupsincludeusingthisdefaultwords)PunctuationTextCommentOperatorKeywordNameStringNumberLiteralOther
Whitespace)get_choice_opt)	unistring)XmlLexer)CSharpLexerNemerleLexerBooLexer
VbNetLexerCSharpAspxLexerVbNetAspxLexerFSharpLexerXppLexerc                      \ rS rSrSrSrSr/ SQrS/rS/r	Sr
\R                  \R                  -  rS	S
\R                   " SSSSS5      -   S-   S-   \R                   " SSSSSSSSSS5
      -   S-   S\R"                  " SSSSSS5      -   S-   S-   \R"                  " SSSSSSSSSSS5      -   S-   S.r0 rSr\R+                  5        GH  u  rr\" S5      S\-   S -   \-   S!-   \" \\" \5      \R<                  \\5      4S"\" \\R@                  5      4S#\4S$\" \!\5      4S%\"RF                  4S&\"RH                  4S'\4\%" S(5      \&4S)\&4S*\4S+\4S,\'4S-\'4S.\'RP                  4S/\)4S0\" \"RT                  \\"RT                  \"RT                  \5      4S1\" \+\\+5      4\%" S2S3S49\+4S5\" \+\\+5      4S6\" \+\5      4S7\+RX                  4S8\" \+\5      S94S:\" \+\5      S;4\\4/S<\)RZ                  4S=\)R\                  4S>\)R^                  4/S?\)R`                  4/\" S@5      \" SA5      /\\Rb                  SB4\2" SB5      /SC\!SB4SD\-   SE-   \Rf                  SB4/SF.\\'   GM     SG r4SHr5gI)Jr      av  
For C# source code.

Additional options accepted:

`unicodelevel`
  Determines which Unicode characters this lexer allows for identifiers.
  The possible values are:

  * ``none`` -- only the ASCII letters and numbers are allowed. This
    is the fastest selection.
  * ``basic`` -- all Unicode characters from the specification except
    category ``Lo`` are allowed.
  * ``full`` -- all Unicode characters as specified in the C# specs
    are allowed.  Note that this means a considerable slowdown since the
    ``Lo`` category has more than 40,000 characters in it!

  The default value is ``basic``.

  .. versionadded:: 0.8
zC#z/https://docs.microsoft.com/en-us/dotnet/csharp/)csharpzc#csz*.csztext/x-csharp @?[_a-zA-Z]\w*@?[_LuLlLtLmNl][NdPcCfMnMc]*	@?(?:_|[^Lo])[^nonebasicfullTnumbers^([ \t]*)((?:(?:\[\])?\s+)+?)(
)(\s*)(\()^(\s*)(\[.*?\])[^\S\n]+(\\)(\n)//.*?\n/[*].*?[*]/\n)(z>>>=z>>=z<<=<=>=+=-=*=/=z%=z&=z|=z^=z??=z=>z??z?.!===&&||z>>>>><<++--+-*/%&|^<>?!~==~|!=|==|<<|>>|[-+/*%=<>&^|]z[()\[\];:,.][{}]@"(""|[^"])*"!\$?"(\\\\|\\[^\\]|[^"\\\n])*["\n]'\\.'|'[^\\]'B[0-9]+(\.[0-9]*)?([eE][+-][0-9]+)?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?zb(#)([ \t]*)(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma)\b(.*?)(\n)\b(extern)(\s+)(alias)\b)aabstractasasyncawaitbasebreakbycasecatchcheckedconstcontinuer	   delegatedoelseenumeventexplicitexternfalsefinallyfixedforforeachgotoifimplicitin	interfaceinternalisletlocknewnullonoperatoroutoverrideparamsprivate	protectedpublicreadonlyrefreturnsealedsizeof
stackallocstaticswitchr   throwtruetrytypeof	uncheckedunsafevirtualvoidwhilegetsetr   partialyieldaddremovevaluealias	ascending
descendingfromgroupintoorderbyselectthenbywherejoinequalsrecordallowsandinitmanagednameofnintnotnotnullnuintorscoped	unmanagedwhenwith\bsuffixz;(file)(\s+)(record|class|abstract|enum|new|sealed|static)\b(global)(::)zk(bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var)\b\??z(class|struct)(\s+)class(namespace|using)(\s+)	namespacez)0[xX][0-9a-fA-F]+(([uU][lL]?)|[lL][uU]?)?z"0[bB][01]+(([uU][lL]?)|[lL][uU]?)?z[0-9]+(([uU][lL]?)|[lL][uU]?)?z([0-9]+\.[0-9]+([eE][+-]?[0-9]+)?[fFdDmM]?)|(\.[0-9]+([eE][+-]?[0-9]+)?[fFdDmM]?)|([0-9]+([eE][+-]?[0-9]+)[fFdDmM]?)|([0-9]+[fFdDmM])numbers_floatnumbers_int#pop(?=\()(|\.)+)rootr   r   r=   r   r   c                     [        US[        U R                  5      S5      nX R                  ;  a!  U R                  R                  U5      U l        OU R                  U   U l        [        R                  " U 40 UD6  g Nunicodelevelr;   	r   listtokens_all_tokens	__class__process_tokendef_tokensr   __init__selfoptionslevels      a/var/www/html/cementerio_25MayoBackend/env/lib/python3.13/site-packages/pygments/lexers/dotnet.pyr   CSharpLexer.__init__   sb    wT[[8I7S(((>>::5ADL++E2DLD,G,    r   N)6__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenames	mimetypesversion_addedre	MULTILINEDOTALLflagsunicombine	allexceptlevelsr   token_variantsitems	levelnamecs_identr   r   r   r   r   r   Functionr   	Attributer   r   Single	Multiliner
   r   r   Charr   Preprocr   TypeHexBinIntegerFloatClassr	   	Namespacer   __static_attributes__ r   r   r   r      s   , D
;C$GI !IMLL299$E "3;;tT4tDDsJD$dD$$($668<= tT4tTBCEIJdD$dD&*D$dDD GKK	F FN%||~	8 	"!H, 0  !$ *eDk4==*%'(
 $Xj$..%IJj)htZ89W^^,!2!23
#  
  1(; +.+&!6*5v>!6;;/56<>K'//:w!//:78 -hw
/  $  %!$ #*%+* PGZ9; (7K"@ACDKLLR'':)FP*HWj,I;W4 }?B >vzzJ6

C2FNNC% '-ll4 (&
 4::v.
 D&)x(*DNNFCiX
y  .v-r   r   c            "       p   \ rS rSrSrSrSrS/rS/rS/r	Sr
\R                  \R                  -  rS	S
\R                   " SSSSS5      -   S-   S-   \R                   " SSSSSSSSSS5
      -   S-   S\R"                  " SSSSSS5      -   S-   S-   \R"                  " SSSSSSSSSSS5      -   S-   S.r0 rSr\R+                  5        GH  u  rrS\-   S-   \-   S -   \" \\" \5      \R:                  \\5      4S!\" \\R>                  5      4S"\4S#\" \ \5      4S$\!RD                  4S%\!RF                  4S&\4S'\" \$\\$5      S(4S)\" \$\\$5      S*4S+\$S,4S-\-   S.-   \" \%\\%5      4S/\%4S0\-   \4S1\" \\5      S24S3\4S4\4S5\$4S6\$4S7\$RL                  4S8\'4S9\'4S:\" \!RP                  \\!RP                  5      S;4S<\" \%\\%5      4S=\%4S>\" \%\5      4S?\%RR                  4S@\-   SA-   \" \\\%RR                  5      4SB\" \%\5      SC4SD\" \%\5      SE4\\4/\\RT                  SF4/SG\!RP                  4SH\4S&\SF4/SI\ SF4SJ\-   SK-   \RV                  SF4/SL\$4S0\-   \4S1\" \\5      S24SM\$4SN\$SF4/SO\$4S0\-   \4S1\" \\5      S24S+\$SP4SQ\$SF4/SR\$4S+\$SP4SQ\$SF4/SS\%4ST\4\\4SU\'4SV\SP4SW\SF4/SX.\\'   GM     SY r,SZ r-S[r.g\)]r      ab  
For Nemerle source code.

Additional options accepted:

`unicodelevel`
  Determines which Unicode characters this lexer allows for identifiers.
  The possible values are:

  * ``none`` -- only the ASCII letters and numbers are allowed. This
    is the fastest selection.
  * ``basic`` -- all Unicode characters from the specification except
    category ``Lo`` are allowed.
  * ``full`` -- all Unicode characters as specified in the C# specs
    are allowed.  Note that this means a considerable slowdown since the
    ``Lo`` category has more than 40,000 characters in it!

  The default value is ``basic``.
Nemerlezhttp://nemerle.orgnemerlez*.nztext/x-nemerle1.5r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   Tr>   r?   r@   rA   rB   rC   rD   rE   rF   z(\$)(\s*)(")splice-stringz(\$)(\s*)(<#)splice-string2z<#recursive-stringz(<\[)(\s*)(z:)?z\]\>z\$z(\$)(\()splice-string-contentz[~!%^&*()+=|\[\]:;,.<>/?-]rd   re   z"(\\\\|\\[^\\]|[^"\\\n])*["\n]rg   z0[xX][0-9a-fA-F]+[Ll]?z*[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFLdD]?zY(#)([ \t]*)(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma)\bpreprocri   a  (abstract|and|as|base|catch|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|syntax|this|throw|true|try|type|typeof|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\br   zo(bool|byte|char|decimal|double|float|int|long|object|sbyte|short|string|uint|ulong|ushort|void|array|list)\b\??z(:>?)(\s*)(z\??)z"(class|struct|variant|module)(\s+)r   r   r   r   z\w+z[ \t]+r   r   r   z[^"$]z\\""z[^#<>$]#pushz#>z[^#<>]zif|matchz[~!%^&*+=|\[\]:;,.<>/?-\\"$ ]\d+\(\))r   r   r  r   r  r  r  r  c                     [        US[        U R                  5      S5      nX R                  ;  a!  U R                  R                  U5      U l        OU R                  U   U l        [        R                  " U 40 UD6  g r   r   r   s      r   r   NemerleLexer.__init__K  se    wT[[8I&((((>>::5ADL++E2DLD,G,r   c                      SnSU ;   a  US-  nU$ )zMNemerle is quite similar to Python, but @if is relatively uncommon
elsewhere.r   z@ifg?r  textresults     r   analyse_textNemerleLexer.analyse_textV  s     D=cMFr   r   N)/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   r  r  r   r   r  r   r  r  r  r  r   r$  r  r  r   r   r   r      s   ( D
CkGI!"IMLL299$E "3;;tT4tDDsJD$dD$$($668<= tT4tTBCEIJdD$dD&*D$dDD GKK	F FN%||~	8 "H, 0  !$ *eDk4==*%'(
 $Xj$..%IJj)htZ89W^^,!2!23
# (6:v"F#%!8FJ#G$& 23(*U2':w79'" !4(ht[9(* /<+&!6*2F;!6;;/*F3>GB'//:wGT -hw
G.TU: <CD !(7K"@AI  (*W4+z7<<@B6':.9*HWj,I4 {>@ 4::v. )J'
F+ D&)x(*DNNFC
 F#!4(ht[9(*&!' f%!4(ht[9(*)( V$)(! g&1;?4  W-V,&Ci
y  .X	-r   r   c                      \ rS rSrSrSrSrS/rS/rS/r	Sr
S	\4S
\R                  4S\R                  S4S\4S\" \\5      4S\4S\R&                  4S\R*                  4S\R*                  4S\4S\4S\4S\" \\5      S4S\" \\5      S4S\" \\5      S4S\R0                  4S\R2                  4S\R2                  4S\R                  4S \4S!\R6                  4S"\4S#\R8                  4S$\R:                  4S%\R<                  R>                  4S&\R<                  4/S\R                  S'4S(\R                  S)4S*\R                  4S+\R                  4/S \R@                  S)4/S \RB                  S)4/S,\RD                  S)4/S-.r#S.r$g/)0r   ia  z
For Boo source code.
Boozhttps://github.com/boo-lang/boobooz*.booz
text/x-boor%   \s+z	(#|//).*$z/[*]commentz[]{}:(),.;[]rC   z\\z(in|is|and|or|not)\bz/(\\\\|\\[^\\]|[^/\\\s])/z@/(\\\\|\\[^\\]|[^/\\])*/rc   aO  (as|abstract|callable|constructor|destructor|do|import|enum|event|final|get|interface|internal|of|override|partial|private|protected|public|return|set|static|struct|transient|virtual|yield|super|and|break|cast|continue|elif|else|ensure|except|for|given|goto|if|in|is|isa|not|or|otherwise|pass|raise|ref|try|unless|when|while|from|as)\bzdef(?=\s+\(.*?\))z
(def)(\s+)funcnamez(class)(\s+)	classnamez(namespace)(\s+)r   z(?<!\.)(true|false|null|self|__eval__|__switch__|array|assert|checked|enumerate|filter|getter|len|lock|map|matrix|max|min|normalArrayIndexing|print|property|range|rawArrayIndexing|required|typeof|unchecked|using|yieldAll|zip)\bz"""(\\\\|\\"|.*?)"""z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*'z[a-zA-Z_]\w*z%(\d+\.\d*|\d*\.\d+)([fF][+-]?[0-9]+)?z[0-9][0-9.]*(ms?|d|h|s)z0\d+z0x[a-fA-F0-9]+z\d+Lr  r  z[*]/r   z[^/*]z[*/]z[a-zA-Z_][\w.]*)r   r*  r+  r,  r   r  N)%r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r   Wordr   Regexr   r   BuiltinDoubler   r
  Octr  r	  Longr   r  r  r   r  r  r   r   r   r   a  s    D
+CgG	IIM Z 7>>*g''3k*(445DM$hmm4)6<<8)6<<8,h7! #*+ "7+HWj9:Fhw
;[I (7J"?M  "&	/
 %fmm4(&--8(&--8d#5v||D'0fjj!

+fnn))*V^^$I%
N W&&0W&&/g''(W&&'	
 dmmV4
 djj&1
  8
g6Fr   r   c                      \ rS rSrSrSrSr/ SQrSS/rSS	/r	S
r
S\R                  " SSSS5      -   S-   S-   \R                  " SSSSSSSSS5	      -   S-   r\R                  \R                   -  rS\R&                  4S\4S\4S\" \\5      4S\" \\5      4S\R.                  4S\4S\" \R4                  \\R4                  \\R4                  5      4\" S S!S"S#9\4S$\S%4S&\S'4S(\" \\5      S)4S*\" \\5      S+4S,\" \\5      S-4S.\R8                  4S/\R<                  4S0\4S1\S24S3\" \ \5      4\S4-   \4S5\!RD                  4S6\#RH                  4S7\#RJ                  4S8\#RJ                  4S9\#RJ                  4/S:\4S;\S<4S=\4/\\RL                  S<4\'" S<5      /\\RP                  S<4/\\RR                  S<4/\\RT                  4S>\RT                  4\'" S<5      /S\4S?\S<4\'" S<5      /S@.r+SA r,SBr-gC)Dr   i  zc
For Visual Basic.NET source code.
Also LibreOffice Basic, OpenOffice Basic, and StarOffice Basic.
zVB.netz5https://docs.microsoft.com/en-us/dotnet/visual-basic/)zvb.netvbnetlobasoobassobaszvisual-basicvisualbasicz*.vbz*.basztext/x-vbnetz
text/x-vbar%   z[_r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   z	^\s*<.*?>r)  rF   z(rem\b.*?)(\n)z
('.*?)(\n)z#If\s.*?\sThen|#ElseIf\s.*?\sThen|#Else|#End\s+If|#Const|#ExternalSource.*?\n|#End\s+ExternalSource|#Region.*?\n|#End\s+Region|#ExternalChecksumz[(){}!#,.:]z?(Option)(\s+)(Strict|Explicit|Compare)(\s+)(On|Off|Binary|Text))l
AddHandlerAliasByRefByValCallCaseCatchCBoolCByteCCharCDateCDecCDblCIntCLngCObjContinueCSByteCShortCSngCStrCTypeCUIntCULngCUShortDeclareDefaultDelegate
DirectCastDoEachElseElseIfEndIfEraseErrorEventExitFalseFinallyForFriendGetGlobalGoSubGoToHandlesIf
ImplementsInherits	InterfaceLetLibLoopMeMustInheritMustOverrideMyBaseMyClass	NarrowingNewNextNotNothingNotInheritableNotOverridableOfOnr   OptionOptional	OverloadsOverridable	Overrides
ParamArrayPartialPrivate	ProtectedPublic
RaiseEventReadOnlyReDimRemoveHandlerResumeReturnSelectSetShadowsSharedr  StaticStepStopSyncLockThenThrowToTrueTryTryCastWendUsingWhenWhileWideningWith
WithEvents	WriteOnlyz(?<!\.)r   )prefixr   z(?<!\.)End\bendz(?<!\.)(Dim|Const)\bdimz#(?<!\.)(Function|Sub|Property)(\s+)r+  z"(?<!\.)(Class|Structure|Enum)(\s+)r,  z&(?<!\.)(Module|Namespace|Imports)(\s+)r   z|(?<!\.)(Boolean|Byte|Char|Date|Decimal|Double|Integer|Long|Object|SByte|Short|Single|String|Variant|UInteger|ULong|UShort)\bzU(?<!\.)(AddressOf|And|AndAlso|As|GetType|In|Is|IsNot|Like|Mod|Or|OrElse|TypeOf|Xor)\bzE&=|[*]=|/=|\\=|\^=|\+=|-=|<<=|>>=|<<|>>|:=|<=|>=|<>|[-&*/\\^+=<>\[\]]r  stringz(_)(\n)z	[%&@!#$]?z#.*?#z"(\d+\.\d*|\d*\.\d+)(F[+-]?[0-9]+)?z\d+([SILDFR]|US|UI|UL)?z&H[0-9a-f]+([SILDFR]|US|UI|UL)?z&O[0-7]+([SILDFR]|US|UI|UL)?""z"C?r   [^"]+\.z?(Function|Sub|Property|Class|Structure|Enum|Module|Namespace)\b)r   r  r  r+  r,  r   r  c                 \    [         R                  " SU [         R                  5      (       a  gg )Nz^\s*(#If|Module|Namespace)g      ?)r   searchr   r"  s    r   r$  VbNetLexer.analyse_text  s#    992D",,GG Hr   r  N).r   r   r   r   r   r   r   r   r   r   r   r   r   uni_namer   r   
IGNORECASEr   r   r  r   r   r   r  r   r   Declarationr
   r  r   r-  r   r   r   Dater   r
  r	  Variabler	   r   r  r  r   r$  r  r  r   r   r   r     s   
 D
AC[G!I.IMckk$dD99C?[[tT4t!%tT3359:H LL2==(E 4>>*Z J* =>HWj9:= __ [)%g)):w7J7J '"5"578  ?& %U'4& 6='>( gu-$gu53gz*J82gz*K96gz*K9"<<)()18+ &(#$
34#T*gll#2FLLA'8/@,fnn=u;
z FOVV$v
 t}}f-FO

 t}}f-
 tzz6*
 t~~&DNN#FO
 Z OfFO	
cWFrr   r   c            
           \ rS rSrSrSr/ r/ rSr\	R                  rSS\" \R                  \\R                  5      4S\" \" \5      \\" \5      5      4S\" \5      4S	\" \5      4/0rS
rg)GenericAspxLexeri  z
Lexer for ASP.NET pages.
zaspx-gen.https://dotnet.microsoft.com/en-us/apps/aspnetr   z(<%[@=#]?)(.*?)(%>)z(<script.*?>)(.*?)(</script>)z
(.+?)(?=<)z.+r  N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   Tagr   r   r   r   r  r  r   r   r  r    s     DII
:CIIE 	#Xdhhtxx%HI-xh8=8=h0I J E(O,E(O$
	Fr   r  c                   P   ^  \ rS rSrSrSrS/r/ SQr/ rSr	Sr
U 4S jrS rS	rU =r$ )
r   i/  z1
Lexer for highlighting C# within ASP.NET pages.
zaspx-csz*.aspxz*.asaxz*.ascxz*.ashxz*.asmxz*.axdr  r%   c                 :   > [         TU ]  " [        [        40 UD6  g N)superr   r   r  r   r   r   s     r   r   CSharpAspxLexer.__init__;  s    &6B'Br   c                     [         R                  " SU [         R                  5      b  g[         R                  " SU [         R                  5      b  gg )NzPage\s*Language="C#"皙?zscript[^>]+language=["\']C#333333?r   r  Ir  s    r   r$  CSharpAspxLexer.analyse_text>  >    99,dBDD9EYY5tRTTBN Or   r  r   r   r   r   r   r   r   r   r   r   r   r   r$  r  __classcell__r   s   @r   r   r   /  s:     DkGKII
:CMC r   r   c                   P   ^  \ rS rSrSrSrS/r/ SQr/ rSr	Sr
U 4S jrS rS	rU =r$ )
r   iE  z?
Lexer for highlighting Visual Basic.net within ASP.NET pages.
zaspx-vbr  r  r%   c                 :   > [         TU ]  " [        [        40 UD6  g r  )r  r   r   r  r  s     r   r   VbNetAspxLexer.__init__Q  s    %5AAr   c                     [         R                  " SU [         R                  5      b  g[         R                  " SU [         R                  5      b  gg )NzPage\s*Language="Vb"r  zscript[^>]+language=["\']vbr  r  r  s    r   r$  VbNetAspxLexer.analyse_textT  r  r   r  r  r  s   @r   r   r   E  s:     DkGKII
:CMB r   r   c                      \ rS rSrSrSrSrSS/r/ SQrS/r	S	r
/ S
Qr\/ SQ-  r/ SQrSr/ SQrSrSr/ SQrS\R&                  4S\R&                  4S\R&                  4S\R&                  4// S\4PS\R,                  R.                  4PS\R0                  S4PS\4PS\" \R4                  \5      4PS\" \R8                  \5      4PS\S4PS\S 4PS!\S"4PS#\S$4PS%\" \\\R0                  5      4PS&\" \\\R<                  5      4PS'\" \\\R>                  5      4PS(\" \\\\ \RB                  5      4PS)RE                  S*RG                  \5      5      \4PS+\4PS,RE                  S*RG                  \5      5      \$4PS-\ S*\ S.\ 3\$4PS)RE                  S*RG                  \5      5      \$RJ                  4PS)RE                  S*RG                  \5      5      \RL                  4PS/\" \RN                  \\RN                  \RN                  \5      4PS0\4PS1\(RR                  4PS2\(RT                  4PS3\(RV                  4PS4\(RX                  4PS5\(RZ                  4PS6\R\                  4PS7\R\                  4PS8\4PS9\R^                  S$4PS:\R<                  4PS\4S;\ 4S<\R0                  4S=\S>4S?\S>4\0" S>5      /S@\4SA\SB4SC\S>4S\S 4S!\S"4S#\S$4SD\4/SE\4\1" SF5      SG\4SH\4SI\S>4/SJ\4SH\4SK\4SI\S>4/SJ\4SH\4SL\S>4S#\4/SM.r2SN r3SOr4gP)Qr   i\  z$
For the F# language (version 3.0).
zF#zhttps://fsharp.org/fsharpzf#)z*.fsz*.fsiz*.fsxztext/x-fsharpr  )Brj   rk   assertrn   beginr   r	   rv   zdo!rw   donedowncastdowntoelifrx   r  	exceptionr|   r}   r~   r   functionfunglobalr   inheritinliner   r   r   lazyzlet!r   matchmembermodulemutabler   r   r   ofopenr   r   r   reczreturn!r   r   r   structthentor   r   typeupcastzuse!usevalr   r   r   r   zyield!r   )atomicro   rs   	componentrt   
constraintconstructorru   eagerrz   externalr   functorr   methodmixinobjectparallelprocessr   purer   tailcalltraitr   volatile)+rM   #rO   rZ   r  r  z\*z\+,z-\.z->rV   z\.\.r  z::z:=z:>:z;;;z<-z<\]r]   z>\]r^   z\?\?z\?z\[<z\[\|z\[z\]_`z\{z\|\]z\|z\}ra   z<@@z<@rb   z@>z@@>z[!$%&*+\./:<=>?@^|~-])r   r   r   z[!?~]z[=<>@^|&+\*/$%-])sbytebytechar	nativeint
unativeintfloat32singlefloatdoubleint8uint8int16uint16int32uint32int64uint64decimalunitboolr  r   exnobjry   z\\[\\"\'ntbrafv]z
\\[0-9]{3}z\\u[0-9a-fA-F]{4}z\\U[0-9a-fA-F]{8}r)  z	\(\)|\[\]z \b(?<!\.)([A-Z][\w\']*)(?=\s*\.)dottedz\b([A-Z][\w\']*)z(///.*?)(\n)z(//.*?)(\n)z
\(\*(?!\))r*  z@"lstringz"""tqsr  r  z\b(open|module)(\s+)([\w.]+)z\b(let!?)(\s+)(\w+)z\b(type)(\s+)(\w+)z&\b(member|override)(\s+)(\w+)(\.)(\w+)z\b({})\br[   z``([^`\n\r\t]|`[^`\n\r\t])+``z({})r   z)?z;(#)([ \t]*)(if|endif|else|line|nowarn|light|\d+)\b(.*?)(\n)z[^\W\d][\w']*z\d[\d_]*[uU]?[yslLnQRZINGmM]?z-0[xX][\da-fA-F][\da-fA-F_]*[uU]?[yslLn]?[fF]?z0[oO][0-7][0-7_]*[uU]?[yslLn]?z0[bB][01][01_]*[uU]?[yslLn]?z/-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)[fFmM]?z9'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'B?z'.''z@?"z[~?][a-z][\w\']*:r  z[A-Z][\w\']*(?=\s*\.)z[A-Z][\w\']*r   z[a-z_][\w\']*z	[^(*)@"]+z\(\*r  z\*\)z[(*)@]z[^\\"]+escape-sequencez\\\nrF   z"B?r  r  z"""B?)r  r   r  r*  r  r  r  c                 6    SnSU ;   a  US-  nSU ;   a  US-  nU$ )zKF# doesn't have that many unique features -- |> and <| are weak
indicators.r   z|>g?z<|r  r!  s     r   r$  FSharpLexer.analyse_text  s.     4<dNF4<dNFr   r  N)5r   r   r   r   r   r   r   r   r   r   r   keywordskeyopts	operatorsword_operatorsprefix_syms
infix_syms
primitivesr   Escaper   r   r/  Pseudor  r   Docr   r  r   r  r  r   r   formatr   r   r-  r  r  r   r	  r  r1  r  r
  r  r0  r	   r   r   r$  r  r  r   r   r   r   \  s    D
CG*I !IM
H   HG )I)NK$JJ !&--0FMM*!6==1!6==1	
1
Z 1
4<<../1
 1^^X'1

 !$'1
 hvzz:>?1
 XgnnjAB1
 GY/1
 FI&1
 VU#1
 68$1
 -gz4>>:<1
  $gz4==9;!1
$ #gz4::68%1
( 7gz4dmmLN)1
,  23W=-1
. .t4/1
0 ^^CHHW-.911
2 *Q{m2i[98D31
4  898==I51
6  45w||D71
8 Lgooz7??ooz3491
@ t$A1
D .v~~>E1
F >vzzJG1
H /

;I1
J -fjj9K1
L @\\M1
R J[[S1
V V[[!W1
X 7OY1
\ V]]H-]1
` "4==1a1
f Z K %t~~6dF+tV,FO
 7#gw'gv&FI&VU#68$ 	
  %&fFOVV$
 vFOFOVV$	
 vFOvv&6N	
s_FB	r   r   c                   $   \ rS rSrSrSrSrSS/rS/rSr	\
R                  rS	\R                  " S
SSSSS5      -   S-   S-   \R                  " S
SSSSSSSSSS5      -   S-   r\R!                  SS5      rSrSrSrSr0 rS\" \\\" \5      5      4S\-   S -   \-   S!-   \" \\" \5      \R8                  \\5      4S"\" \\R<                  \R>                  R@                  \R<                  5      4S#\4S$\" \!\5      4S%\"RF                  4S&\"RH                  4S'\4\%" \5      \&4S(\&4S)\4S*\4S+\'4S,\'4S-\'RP                  4S.\)4\%" \S/S09\4S1\RT                  4S2\" \\5      S34S4\-   S5-   \" \R>                  R@                  \5      4S6\" \\R>                  R@                  \" \5      5      4S7\-   S8-   \-   S9-   \" \" \5      \R>                  R@                  \" \5      \RV                  \" \5      5      4S:\-   S9-   \" \" \5      \R>                  R@                  \" \5      5      4\%" \S;S09\R8                  RX                  4\%" \S;S09\R8                  RX                  4\\4/\\R@                  S<4\-" S<5      /S;\!S<4S4\-   S=-   \R\                  S<4/S>.rS?r/g@)Ar    i  z?
For X++ source code. This is based loosely on the CSharpLexer
zX++zchttps://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/dev-ref/xpp-language-referencexppzx++z*.xppz2.15r5   r(   r)   r*   r+   r6   r,   r7   r8   r/   r0   r1   r2   r3   r4    )rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   )_rj   anytyperk   rl   ascatavgro   
breakpointrp   byrefrq   rr   changecompanyclient	containerru   countcrosscompanyr	   rv   delete_fromdescdisplaydivrw   editrx   elementeventhandlerexistsr}   final	firstfast	firstonlyfirstonly10firstonly100firstonly1000flushr   forceliteralsforcenestedloopforceplaceholdersforceselectorder	forupdater   r   r   insert_recordsetr   r   r   likemaxofminofmodr   nextnofetch	notexistsr   optimisticlockorderouterpausepessimisticlockprintr   r   r   repeatablereadretryr   reverser   serversettingr   sumr  r   	tablelockr   r   r   r   ttsabortttsbegin	ttscommitupdate_recordsetvalidtimestater   r   r   window)	_durationabsacosany2Dateany2Enumany2Guidany2Int	any2Int64any2Realany2Str	anytodate	anytoenum	anytoguidanytoint
anytoint64	anytorealanytostrasinatanbeepcTermchar2Num
classIdGetcorrFlagGetcorrFlagSetcoscoshcurExt	curUserIddate2Numdate2Strdatetime2StrdayNamedayOfMthdayOfWkdayOfYrddbdecRounddgdimOfendMthenum2strexpexp10fVfieldId2NamefieldId2PNamefieldName2IdfracfuncNamegetCurrentPartitiongetCurrentPartitionRecId	getPrefixguid2StridgindexId2NameindexName2Idint2Str	int642StrintvMaxintvNameintvNointvNormlog10logNr  maxminmkDatemthNamemthOfYrnewGuidnextMthnextQtrnextYrnum2Charnum2Datenum2StrpmtpowerprevMthprevQtrprevYrprmIsDefaultptpvraterefPrintAllroundrunAs	sessionId	setPrefixsinsinhsleepslnstr2Datestr2Datetimestr2Enumstr2Guidstr2Int	str2Int64str2Numstr2TimestrAlphastrCmp	strColSeqstrDelstrFindstrFmtstrInsstrKeepstrLTrimstrLenstrLinestrLwrstrNFindstrPoke	strPromptstrRTrimstrRemstrRepstrScanstrUprsubStrsydsystemDateGetsystemDateSettableId2NametableId2PNametableName2Idtantanhtermtime2StrtimeNowtodaytrunctypeOfuint2StrwkOfYryear)MattributeStrclassNumclassStrconfigurationKeyNumconfigurationKeyStrdataEntityDataSourceStrdelegateStrdimensionHierarchyLevelStrdimensionHierarchyStrdimensionReferenceStrdutyStrenumCntenumLiteralStrenumNumenumStrextendedTypeNumextendedTypeStrfieldNum
fieldPNamefieldStrformControlStrformDataFieldStrformDataSourceStrformMethodStrformStridentifierStrindexNumindexStrlicenseCodeNumlicenseCodeStr
literalStrmaxDatemaxInt
measureStrmeasurementStrmenuItemActionStrmenuItemDisplayStrmenuItemOutputStrmenuStr	methodStrminIntprivilegeStrqueryDatasourceStrqueryMethodStrqueryStr	reportStrresourceStrroleStrssrsReportStrstaticDelegateStrstaticMethodStrtableCollectionStrtableFieldGroupStrtableMethodStrtableNum
tablePNametableStaticMethodStrtableStrtileStrvarStrwebActionItemStrwebDisplayContentItemStr
webFormStr
webMenuStrwebOutputContentItemStrwebReportStrwebSiteTempStrwebStaticFileStrwebUrlItemStrwebWebPartStrwebletItemStrwebpageDefStrwebsiteDefStrworkflowApprovalStrworkflowCategoryStrworkflowTaskStrworkflowTypeStrz(\s*)\b(else|if)\b([^\n])r>   r?   r@   z^(\s*)(\[)([^\n]*?)(\])rB   rC   z//[^\n]*?\nz/[*][^\n]*?[*]/rF   rc   z[()\[\];:,.#@]rd   re   rf   rg   rh   r   r   z+(boolean|int|int64|str|real|guid|date)\b\??z&(class|struct|extends|implements)(\s+)r   r   z)(::)z(\s*)(\w+)(\s+\w+(,|=)?[^\n]*;)z(fieldNum\()(z)(\s*,\s*)(z)(\s*\))z(tableNum\()(r   r   r   )r   r   r   r  N)0r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	XPP_CHARSreplace	OPERATORSKEYWORDSRUNTIME_FUNCTIONSCOMPILE_FUNCTIONSr   r   r   r   r   r   r   r   r   r  r  r  r   r   r  r  r
   r   r   r  r   r  PropertyMagicr	   r  r  r  r   r   r    r      sa    D
oCenG	IMLLEtT4tTBCEIJdD$dD&*D$dDD GKKI !!&&1II
bHN	L F
 *8Jt+UV	) -  !$ U4[$--#%&
 (*dnndmmNaNacgcqcq)rs*%(445W^^,!2!23J9x(,h7,k"v&16:v{{+45;=8E*G4;W\\J6*8UW^_)^G#Xdmm.A.A;%OP/*dmmFYFY[`ae[f1ghi'6y@Ltdmm&9&95;W\]aWbce i'3tdmm&9&95;GI$Y79L9LM$Y79L9LMI%
N 

F+FO

 f%9_x'@
W/Fr   r    )(r   r   pygments.lexerr   r   r   r   r   r   r	   r
   pygments.tokenr   r   r   r   r   r   r   r   r   r   r   pygments.utilr   pygmentsr   r   pygments.lexers.htmlr   __all__r   r   r   r   r  r   r   r   r    r  r   r   <module>rN     s    
     5 5 5 5 ( % )KT-* T-nn: nbBz BJm m`z 2o ,_ .^* ^Blz lr   