
    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	  SSK
JrJrJrJrJrJrJrJrJrJr  / SQr " S S\5      r " S S	\5      r " S
 S\5      r " S S\5      rg)z
pygments.lexers.int_fiction
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Lexers for interactive fiction languages.

:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupsusingthisdefaultwords)
TextCommentOperatorKeywordNameStringNumberPunctuationErrorGeneric)Inform6LexerInform6TemplateLexerInform7Lexer
Tads3Lexerc                   b   \ rS rSrSrSrSrSS/rS/rSr	\
R                  \
R                  -  rS	rS
rSrSrSr0 SS\ S\ S3\R(                  S4\" S5      /_SS\4S\ S3\R.                  4/_S\" S5      S\S4S\S4S\4\" S5      /_S\" S5      S\S4S \ \ S!3\S"4S#\ S$3\4S%\ S&3\S4/_S'\" S5      S(\S4S)\S4S\S*4S+\ S,3\4S#\ S-3\4S.\S4S/\ S03\S4S1\R6                  S4S2\4S3\R:                  S44S5\4\" S5      /_S6S(\S74S8\4S9\ S:3\S4S2\R@                  4S;\S<4\" S'5      /_S=S)\S>4S?\S4\" S'5      /_S@SA\S4\" S'5      /_SBS.\S4\" S'5      /_SCSD\RB                  S4\" SB5      /_SE\" S5      S9\ SF\ SG3\"RF                  S4SH\ SI\ SJ3\$" \"RF                  \"RJ                  \"RF                  5      S4SH\ SK\ SJ3\$" \"RF                  \"RJ                  \"RF                  5      S4S9\ SG3\"R.                  SL4S9\ SG3\"RL                  SM4SN\ SO\ SP3\'RP                  S4SQ\'RR                  S4SR\'RT                  S4SS\'RV                  S4ST\ SU3\$" \\5      S4SV\ SU3\$" \\RX                  RZ                  5      S4SW\SX4SY\ SU3\$" \\R\                  5      S4SZ\R^                  S[4\0" S\S]S^9\R^                  S4S_\R^                  S4\0" S`SaS]Sb9\R^                  S4\0" ScSaS]Sb9\R^                  S4\\S4/_Sd\" SE5      \" S5      /_SeSf\ S3\"RJ                  4Sg\ Sh3\"R.                  4Si\"R.                  4Sj\"RJ                  4Sk\"RJ                  4S9\ SG3\"R.                  S4/_SlSm\"RJ                  4Sn\ Sh3\"RL                  4So\"RL                  4Sp\"RJ                  4Sq\ Sr\ Ss3\"RJ                  4Sq\ St\ Su\ Sv3\"RJ                  4Sq\ Sw\ Sx3\"RJ                  4S9\ SG3\"RL                  S4/_SySz\ Sh3\"RL                  4S{\"RL                  4Sp\"RJ                  4S9\ SG3\"RL                  S4/_S|\" S5      \\Rb                  S4\" SE5      /_S}\" S5      S.\4S~\Sd4\\Rb                  Sd4\" S5      /_0 S\" S5      \\RX                  RZ                  S4\" SE5      /_S4\" S5      \\R:                  S4\" S5      /_S\" S5      \\RX                  S4\" S5      /_SS\"Rd                  S4/_S\" S5      \\R^                  S4/_S\" S5      SZ\4S;\S4S\S4\0" SSaS]Sb9\S4S\S4S\S4S\S4S\S4S\$" \\5      4S\S4S\S4S\S4S\S4S\S4S\S4S\S4S\S4S\S4S\S4S\S4S\S4S\S4\\Rf                  S4/_S\" S5      \\R\                  S4\" S5      /_S\" S5      S;\S4S\4S\"RL                  Sy4\\RX                  4/_S\" S5      S;\4S\S4S?\4\" S5      /_S\" S5      S\S4\" S5      /_S\" S5      S\S4\\Rf                  S4/_S\" S5      S(\S4\" S5      /_SS9\ S:3\4S\RB                  S4\" S5      /_S\" S5      S;\S>4S.\4S\RB                  S4S\RB                  4S?\4\" S5      /_S\" S5      S\S4\\Rf                  4\" SE5      /_S\" S5      S~\S4S\S4\" S5      /_S\" S5      S;\S4S\4S9\ S:3\SE4S\S4\" S5      /_E0 S\" S5      S~\S4\" S5      /_S\" S5      S;\S4S.\4S\S4\" S5      /_S\" S5      S9\ SG3\"RL                  S4\" S5      /_S\" S5      S9\ SG3\"RL                  S4\" S5      /_SSm\"RJ                  4\" Sy5      /_S\" S5      \0" SS]S^9\S4S\4S9\ S3\S4/_S\" S5      \" SE5      /_S\" S5      \" S5      /_S\" S5      \0" SS\ S\ S3S^9\4\" S5      /_S\" S5      \0" SS]S^9\S4\" S5      /_S\" S5      S\S4S\4\0" SS]S^9\S4S\4S\S4S\S4S\S4S\S4S\S4S\ SJ3\S4S\R:                  S44S\S4S\S4S\S4S\S4\" S5      /_S\" S5      S\S4S\ S3\R@                  S4\ S\ S3\R\                  S4\" S5      /_S\" S5      S(\S4\" S5      /_S\" S5      S;\S4\" S5      /_S\" S5      S;\S4S?\4\" S5      /_S\" S5      S(\S4\" S5      /_S\" S5      S9\ SG3\"RL                  S4S9\ S3\S4\\S4/_ESS?\4\" S5      /0Er4S r5S r6Sr7g)r      z
For Inform 6 source code.
zInform 6zhttp://inform-fiction.org/inform6i6z*.inf2.0z[a-zA-Z_]\w*u	   \-‐-—u   "“”u   '‘’u
   \n  rootz\A(!%[^z]*[])+	directive_whitespace\s+![^]*r   \[zmany-valuesz:|(?=;)#pop<)
expression_expressionr(   z(?=sp\b)z(?=[z$0-9#a-zA-Z_]))r%   valuez\+\+|[z]{1,2}(?!>)|~~?z(?=[()\[z,?@{:;])r'   \(\))r%   
statementslocalsz>(?=(\s+|(![^z
]*))*[>;])z	]{2}(?!>),z&&?|\|\|?|[=~><]?=|[z]{1,2}>?|\.\.?[&#]?|::|[<>+*/%]z*(has|hasnt|in|notin|ofclass|or|provides)\bzsp\bz\?~?label?z[@{]_assembly-expression)#pushr(   z[\[\]][z]>;#pop:3_for-expression#pop:2:_keyword-expressionz(from|near|to)\b_list-expression_object-expressionzhas\br)   z][^@][]z([z])(@\{[0-9a-fA-F]*\})([])z])(@.{2})([)r%   dictionary-word)r%   stringz	\$[<>]?[+z][0-9]*\.?[0-9]*([eE][+z
]?[0-9]+)?z\$[0-9a-fA-F]+z	\$\$[01]+z[0-9]+z
(##|#a\$)()z(#g\$)(z#[nw]\$)r%   obsolete-dictionary-wordz(#r\$)(#)r%   system-constant)childchildreneldereldestglkindirect	metaclassparentrandomsiblingyoungeryoungestz\b)suffixz#(?i)(Class|Object|Routine|String)\b)2Box__RoutineCA__PrCDefArt	CInDefArtCl__MsCopy__PrimitiveCP__TabDA__PrDB__PrDefArtDynam__StringEnglishNumber	Glk__WrapIA__PrIB__PrInDefArtMain__Meta__classOB__Move
OB__RemoveOC__ClOP__PrPrint__AddrPrint__PNamePrintShortNameRA__PrRA__ScRL__Pr	R_ProcessRT__ChGRT__ChGt	RT__ChLDB	RT__ChLDWRT__ChPRRT__ChPrintART__ChPrintCRT__ChPrintORT__ChPrintSRT__ChPSRT__ChR	RT__ChSTB	RT__ChSTWRT__ChTRT__ErrRT__TrPSRV__Pr	Symb__TabUnsigned__CompareWV__Pr	Z__Regionz(?i))prefixrO   )8callcopycreateDEBUGdestroyDICT_CHAR_SIZEDICT_ENTRY_BYTESDICT_IS_UNICODEDICT_WORD_SIZEDOUBLE_HI_INFINITYDOUBLE_HI_NANDOUBLE_HI_NINFINITYDOUBLE_LO_INFINITYDOUBLE_LO_NANDOUBLE_LO_NINFINITYfalseFLOAT_INFINITY	FLOAT_NANFLOAT_NINFINITYGOBJFIELD_CHAINGOBJFIELD_CHILDGOBJFIELD_NAMEGOBJFIELD_PARENTGOBJFIELD_PROPTABGOBJFIELD_SIBLINGGOBJ_EXT_STARTGOBJ_TOTAL_LENGTHGrammar__VersionINDIV_PROP_STARTINFIXinfix__watchingMODULE_MODEnamenothingNUM_ATTR_BYTESprintprint_to_arrayrecreate	remainingselfsenderSTRICT_MODEsw__var
sys__glob0
sys__glob1
sys__glob2sys_statusline_flagTARGET_GLULXTARGET_ZCODEtemp__global2temp__global3temp__global4temp_globaltrueUSE_MODULESWORDSIZEzvalue?r=   z
[~^]+|//[^z
[^~^/\\@({]+z[/({]z@\{[0-9a-fA-F]*\}z@.{2}r>   z[~^]+z	[^~^\\@({z[({]\\z@(\\\s*[z]\s*)*@((\\\s*[z]\s*)*[0-9])*z]\s*)*[({]((\\\s*[z]\s*)*[0-9a-zA-Z_])*(\\\s*[z
]\s*)*[)}]z]\s*)*.(\\\s*[z]\s*)*.plain-stringz[^~^\\({\[\]z
[~^({\[\]]	_constant	constant*=_global	variable?r@   z\S\w*rB   )r   r,   r-   routine-name?)
abbreviateendif
dictionaryifdefiffalseifndefifnotiftrueifv3ifv5releaseserialswitchessystem_fileversionz(?i)(array|global)\b)r   directive-keyword?r   z(?i)attribute\b)r   alias?r   z(?i)class\b)object-body
duplicates
class-namez(?i)(constant|default)\b)r   r   z(?i)(end\b)(.*)z(?i)(extend|verb)\bgrammarz(?i)fake_action\b)r   r   z(?i)import\bmanifestz(?i)(include|link|origsource)\b)r   before-plain-string?z(?i)(lowstring|undef)\bz(?i)message\b)r   
diagnosticz(?i)(nearby|object)\b)r   _object-headz(?i)property\b)r   r   r   property-keyword*z(?i)replace\b)r   r   r   z(?i)statusline\b)r   r   z
(?i)stub\b)r   r   z(?i)trace\b)r   trace-keyword?r   z(?i)zcharacter\b)r   r   r   r   r-   z\*"\]r   zalias\b)r%   r   r   z#(?=[,;]|(class|has|private|with)\b)r   )r%   r'   r(   r   z(class|has|private|with)\br   class\bzclass-segmentz(has|private|with)\b)r:   r(   )r%   r   )r%   grammar-linez_directive-keywordr   z[/*]z(noun|scope)\bz=routinez(?i)global\br   )r%   message-string)r%   r   r   r   )r%   r   r   z_directive-keyword!)%additivealiasbufferclasscreaturedataerror
fatalerrorfirsthasheld
individualinitialinitstrlastlongmetamultimultiexcept	multiheldmultiinsidenounnumberonlyprivatereplacereversescopescorespecialr>   tableterminatingtimetopicwarningwithzstatic\bz]{1,2}>|[+=]r   r   )r   r   r   z\b(?=(\s*|(![^z]))*[_a-zA-Z])r   )assemblyr   expressionslineslinkerobjectsoffonsymbolstokensverbsr,   z[;{}])boxbreakcontinuer   give	inversionnew_linequitreadremovereturnrfalsertruespacesr>   untilz(do|else)\bz(font|style)\b)r   miscellaneous-keyword?zfor\b)for(?z(if|switch|while))r'   r(   r"  z(jump|save|restore)\b)r   r/   zobjectloop\b)r8   r   r"  zprint(_ret)?\b|(?=[z
print-listz\.@opcodez#(?![agrnw]\$|#)zmove\b)r   r8   r(   r   z:(bold|fixed|from|near|off|on|reverse|roman|to|underline)\bzN(a|A|an|address|char|name|number|object|property|string|the|The)\b(?=(\s+|(![^z]*))*\))z(?=(\s+|(![^r"  r!  )r5   r(   )r9   r(   r9   formr%  )r%   r   )operandsr   z]{1,2}>r&  )r0   r(   c              #     #    / nSnS n[         R                  " U U5       H  u  pVnU[        R                  L a  US:X  a  XVU//nSnO|US:  a-  U[        ;  a  U[
        ;  a  US-  nUR                  XVU45        OIUS:X  a=  US   S   S:X  a  [        US   S'   U(       a  UR                  S5      v   U(       a  M  SnXVU4v   U[        ;  d  M  U[
        ;  d  M  UnM     U(       a  UR                  S5      v   U(       a  M  g g 7f)Nin   r      r?   )	r   get_tokens_unprocessedr   Variabler   r
   appendr   pop)r   textobjectloop_queueobjectloop_token_countprevious_tokenindextokenr)   s           f/var/www/html/cementerio_25MayoBackend/env/lib/python3.13/site-packages/pygments/lexers/int_fiction.pyr,  #Inform6Lexer.get_tokens_unprocessed  s     !##-#D#DTEI$KE%.5D=%*5$9#: )*&'!+'E,=*a/* ''u(=>)Q.'+A.#518(+A.*.22155 +*-/*E))G#T(9!&%$K& "&&q)) s   B7D;DD'DDc                 j    Sn[         R                  " SU [         R                  5      (       a  US-  nU$ )zWe try to find a keyword which seem relatively common, unfortunately
there is a decent overlap with Smalltalk keywords otherwise here..r   zorigsourceg?)research
IGNORECASEr0  results     r6  analyse_textInform6Lexer.analyse_text  s/     99%tR]];;dNF     N)8__name__
__module____qualname____firstlineno____doc__r   urlaliases	filenamesversion_addedr9  	MULTILINEDOTALLflags_name_dash_dquote_squote_newliner   Preprocr   r
   Singler   r   r   Wordr   Labelr   r   PseudoDeclarationr   Charr   EscapeDoubler   FloatHexBinIntegerr-  GlobalFunctionBuiltinr	   ConstantOtherClassr  r,  r>  __static_attributes__rA  r@  r6  r   r      s    D
&C$G	IMLL299$EE
 EGG&HFzXJc2GOOK 
F 	TNH:R '..1
F 	M"K/f-;12
F& 	M"$'WIgYn5t ug./:y)48
'F6 	M"K!>?K(K!ABhZz2K@ug[)84;.$UG+LM}&:HMMdOdjj(+eFO
7FX 	K!9:$%^[-8gnn%;)L!!
YFh 	K*;'L!
iFr 	 '=9L! 
sFz 	;'L!
{FB 	w**F3&'
CFN 	M"'&	+V[[&A7)4WIR@fkk6==&++>H7)=	4fkk6==&++>H'!_fmm-HI'!_fmm-?@% 7wjI\\6#

F36::v./5'#Xh%=vFwa h 4 45v?#GHwa (8T]]"CVL4<<!<= FNSU \\6#
 4T\\6J 	I e
- \\6#  S e- \\6#  D&!y=
OFJ 	GFO
KFT 	7)2&6G9B'7v}}%!6==1v}}%'!_fmmV4
UFd 	v}}%7)2&6fmm$FMM"
/(=I6==Y
"5hZ @ z.]] 
.
'B]]'!_fmmV4
eF~ 	gYb)6==9FMM*FMM"'!_fmmV4	
FL 	M"DMM6*G
MFV 	M";;)DMM8,FO
WFd 	M"DMM((&1G
eFn 	M"DJJ'FO
oFx 	M"DMM6*FO
yFD 	#v||V,%
EFJ 	M"DLL&)
KFV 	M";;'KAC  $*%9 i	!
 %g9;*LMW8:('%''4!89#Wi8!7,DEgz2/02'2JKw(AB%w,.DFw:< '+LMG%ABW<> 'DFDJJ ?@M'
WFh 	M"DMM6*FO
iFr 	M";'K 6==.1DMM"
sFB 	M";K(5M12
CFR 	M""78FO
SF^ 	M"3T6BDJJ'
_Fh 	M"K!FGFO
iFr 	%^[)*G,?,?HI
sF| 	M";);,,o>$g&9&9:5M9:
}FN	 	M"3T6BDJJG	
O	F\	 	M"; 34K!9:()	
]	Fh	 	M";'k"%^['24()
i	Fx	 	M";0FO
y	FD
 	M";';gy1I
E
FT
 	M"'!_fmm-GHJK
U
F^
 	M"'!_fmm-EFFO!
_
Fh
 	v}}%N#
i
Ft
 	M" C
 LQR f '"%'f= 
u
FL 	)*G
MFT 	)*FO
UF\ 	M"5(
#hZ~NP FO
]Fj 	M" FNSU f FO
kF~ 	M"K({# - 6;< i	!
 W%24w.!702%w0EFg79#G9B/,GDJJ)7H% +{;;	*>@EF3
Ft 	!M"Jf##+*H67>~~ |H:X6FO
#
uFJ 	M"K(FO
KFT 	M"; BC67
UF^ 	M";'5MST	
_Fj 	M"K!CDFO
kFx 	M"'!_fmm-IJ%	"K<GZ(	
yFD 	5M;<
EFFP*>r@  r   c                   
   \ rS rSrSrSrSrSS/rSS/rS	r	\
R                  \
R                  -  r\R                  r\R                   r\R"                  rS
\ S3r0 r/ SQr\ GH  r0 S\" \R&                  S   5      _SS\R"                   S3\R0                  S4/_SS\4S\R4                  S4S\ S3\R8                  S4\" S5      /_SS\ S3\R8                  4S\ S3\R8                  S4/_SS\R4                  S4S\ S\ S3\R8                  4S\ S3\R8                  S4S\ S\ S \ S3\S!4S"\ S#3\S4S$\ S3\R8                  4/_S%S&\ S'\ S3\4S\ S3\R>                  S(4S)\S*4S+\S,4S\R4                  S4S-\ S.\ S/3\ " \!\"" \#S0S1S29\!5      4S3\ S4\ S5\ S63\S74S8\ S3\4/_S*S9\4S\R4                  S4S-\ S.\ S/3\ " \!\"" \#S:S;S29\!5      S4\" S5      /_S,S9\4S\R4                  S4S-\ S.\ S/3\ " \!\"" \#S0S<S29\!5      S4\" S5      /_SS=\R4                  4S\R4                  S>4S?\R4                  S4/_S(S@\ S3\R>                  4SA\RH                  4S\ S3\R>                  S4/_S7S\4S\R4                  S4S\ SB3\SC4S\ SD3\4SE\ S3\R8                  S4\" S5      /_SCS9\4S\R4                  S4SF\SG4\" S5      /_SGS9\4S\R4                  S4S\ SH3\SI4\" SJ5      /_SISK\ SL\ S3\R8                  4SK\ SM\ S3\RJ                  4SN\ SO\ SP3\"" \#S%SQ94S\ SR\ SS3\4S\R4                  S4/_S1S3\ ST\ SU3\R0                  4S3\ SV\ SW\ S3\R0                  4S3\ SX\ SU3\R8                  SY4/_S<\&" S15      SZ\ " \!\\!5      4/_S;S[\ " \!\"" \#S%SQ9\!5      4/_S\\ S]3\ " \!\RN                  \!5      4S\\ S^3\ " \!\(\!\\!5      S_4S\\ S`3\ " \!\(\!\\!5      4Sa\ " \!\"" \#S%SQ9\!5      4/Sb\R0                  4S3\ ST\ SU3\R0                  S4S3\ SV\ Sc3\R0                  4S3\ SX\ SU3\R8                  4Sd\R0                  4/S3\ ST\ SU3\R0                  4S3\ SV\ Se\ S3\R0                  4S3\ SX\ SU3\R8                  SY4S3\ Sf\ S3\(4Sg\ S3\RN                  4Sh\ Si3\ " \!\(\!5      S4Sj\ Sk3\4/Sl.E\\'   \R&                   HW  r)\)S:X  a  M  \" \R&                  \)   5      \\   \)'   \)RU                  Sm5      (       a  M>  \&" Sn5      \&" \5      /\\   \)   SoSp& MY     GM     Sq r+Srr,go)sr   i  z
For Inform 7 source code.
zInform 7zhttp://inform7.com/inform7i7z*.niz*.i7xr   z\A|(?<=[r<   )+i6t-not-inline+i6t-inline+i6t-use-option+i6-rootr   	+i6t-rootz[^r#   )r   +pz(\|?\s)+r$   z+commentr2   r;   )+main+titling+titling-string)rp  	+heading?rr  r   r%   rq  z.;:|z]{2}|(?<=[\sz])\|[\s)r%   rs  z[.;:]|(?<=[\sz])\|z[|rp  z(?i)[^z:a\[(|z+textr7   z+phrase-definitionz
(?i)\bas\bz+use-optionz(\([z	])(.*?)([z]\)))rm  r   rj  )statei6t(z|(?<=[\s;:.z	]))\|\s|[z]{2,}rs  z(?i)[a(|r!   )rm  r   r   r,   rk  rl  z[^\[\]]+r1   r   z[^\[z\[.*?\]z]{4}\s+z+documentation-headingz]{1,3}z*(?i)(volume|book|part|chapter|section)\b[^z(?i)documentation\s+z+documentation-heading2z]{4}\sz+documentationr6   z(?i)(z)\s*(chapter|example)\s*:[^z)\s*section\s*:[^z((z)\t.*?[r   rt  z\[]+|[z\[]z)@c( .*?)?([z]|\Z)z)@([z]+|Purpose:)[^z)@p( .*?)?([ro  z(\{)(N)(\})z(\{)(\S[^}]*)?(\})z(\{[z])(![^}]*)(\}?)z])(lines)(:)([^}]*)(\}?)+linesz])([^:}]*)(:?)([^}]*)(\}?)z(\(\+)(.*?)(\+\)|\Z)z[^@]+z]|Purpose:)r#  z]|Purpose:)[^z)@\w*[ r"   z(\{)([z]endlines)(\})z
[^@!{]+?([z]|\Z)|.)+i6tro  rx  _ry  Nr   c                     UR                  S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 )Nru  rj  )get_all_tokens	__class__process_tokendef_tokensr   __init__)r   optionslevels      r6  r  Inform7Lexer.__init__  sZ    E#45(((>>::5ADL++E2DLD,G,r@  )r  )-rB  rC  rD  rE  rF  r   rG  rH  rI  rJ  r9  rK  rL  rM  r   rO  rP  rR  _startr  token_variantsr  listr   rS  r
   	Multiliner   Headingr   r   r[  r   r   r   r   Interpol
Subheadingr   rT  r   r5  
startswithr  rf  rA  r@  r6  r   r     s    D
C$G!IMLL299$EE""G$$H
"%F FJNV
\0089V
|,,-R0'//$&V
 d#)):6gYa'//9;./V
 wir"GOO4gYa'//6: V
" )):6witH:R0'//BgYa'//3DEhZ~gYggYaH,.!'$/v>xj"GOO4#V
4 7)6(26=gYa&--9t12m4)):6yt4+,E$578CEF fX[	8*GLdT_`XJa($/5V
N !)):6yt4+ -F$134?A CI	J
 	#OV
b )):6yt4+,E$578CEFLN cV
t g//0))73))62uV
~ 	$fmm4V__-gYa&--8V
H d#)):6eWI&.FGeWH%t,>xjK&*IV
Z %)):6($0IJ	'[V
f &)):6eWH%t-=>!	(gV
r &!<XJbI7??[&!28*B?##%vhghZs3t7+-xjxj4d;)):6sV
D fX\(59"fXT%xjC"fX\(59$( EV
T )*+t[!IJ UV
\ &+uT'A%'(]V
h % 12+w~~{CE% :;+wT%'(02 % =>+wT%'( )+uT'A%'( 7??+fX\(59&*fXT%4gooFfX\(59"w' fX\(59"fXT%hZrB"fX\(59$(fXWXJa0':z$gnn5E7/2+w<fFz148SV
u| "((E#'(;(;E(B#CF5M% ##C((,3FOWU^+Lue$Ra( )  L-r@  r   c                   6    \ rS rSrSrSrS/rS/rSrS
S jr	Sr
g	)r   i  z
For Inform 6 template code.
zInform 6 templateru  z*.i6tr   c                 .    [         R                  XU5      $ )N)r   r,  )r   r0  stacks      r6  r,  +Inform6TemplateLexer.get_tokens_unprocessed  s    224uEEr@  rA  N))rn  )rB  rC  rD  rE  rF  r   rH  rI  rJ  r,  rf  rA  r@  r6  r   r     s'     DgG	IMFr@  r   c                   z   \ rS rSrSrSrS/rS/rSrSr	\
R                  \
R                  -  rSrS	rS
rSrSrSrS\ S\ S3rS\ S\ S3rS\4S jr\4S jr\4S jr0 SS\4S\S4S\4S\S4S\ S\ S3\" \R:                  \" \S S!9\5      S"4\ " S 5      S#\4S$\!4S%\S&4/	_S&\ " S'5      \"" S(5      /_S)S*\S+4S\S,4\ " S5      /_SS*\4S\S-4S.\S+4S/\S04S\ S1\ S3\" \R:                  \" \S S!9\5      S24S\ S\ S33\" \R:                  \" \S S!9\5      S4S\ S\ S43\" \RF                  \" \S S!9\5      S54\ " S 5      S6\ 3\S74\"" S85      /
_S8\ " S'5      S\ S\ S93\" \RF                  \" \S S!9\5      S:4\"" S;5      /_S<S\S=4\ " S 5      S>\S?4\"" S@5      /_SAS\S=4\ " S 5      \"" S+5      /_SBSC\4S\S-4S.\S+4SD\$RJ                  4S\ S\ S43\" \RL                  \" \S S!9\5      4\ " S 5      /_S\ " SB5      S%\SE4/_SFSG\'RP                  S+4\ " SB5      S%\SH4/_S'/ \ " S 5      PSI\S:4PSJ\SK4PS\SL4PSM\S+4PSN\)RT                  S+4PSO\)RV                  S+4PSP\)RX                  S+4PSQ\)RZ                  S+4PSR\'R\                  SS4PST\'R^                  SU4PSV\'R\                  SW4PSX\'R^                  SY4PSZ\'R`                  S[4PS\\'R`                  S]4PS^\'R`                  S_4PS`\'R`                  Sa4PSb\ Sc3\" \$RJ                  \" \S S!9\$RJ                  5      4PSd\ S3\" \$RJ                  \" \S S!9\5      Se4PSf\ Sg3\" \$RJ                  \" \S S!9\$RJ                  5      Sh4PSi\ Sj3\" \$RJ                  \" \S S!95      4PSk\ Sl3\" \$RJ                  \" \S S!9\$RJ                  5      Sm4PSn\ Sl3\" \$\" \S S!9\$RJ                  5      So4PSp\Rb                  S+4PSq\$RJ                  Sr4PSs\$RJ                  4PSt\$RJ                  Su4PSv\$RJ                  Sw4PSx\$RJ                  S+4PSy\$RJ                  Sz4PS{\$RJ                  S|4PS}\$RJ                  S~4PS\$RJ                  S4PS\$RJ                  S4PS\$RJ                  S4PS\$RJ                  S4PS\$RJ                  S4PS\$RJ                  S+4PS\$RJ                  S4PS\$Rd                  S+4PS\$RJ                  S@4PS\$RJ                  S4PS\$RJ                  S4PS\Rb                  Rf                  S+4PS\$RJ                  Sm4PS\ S3\" \4Rj                  \" \S S!9\45      S4PS\4Rj                  4PS\Rb                  S+4P_S7\ " S'5      \\S+4\"" S+5      /_SSI\S4SJ\SE4S\4S\S74S\S+4\ " S 5      \\4S74S\4S4S\ S3\" \4Rj                  \" \S S!9\4Rj                  5      4S\!4/
_S\ " S5      \"" S+5      /_SS\4S+4\ " S5      /_SSG\'RP                  S;4\ " S5      /_SSI\S4S\$RJ                  S4\ " S75      /_0 SS.\S+4S\S4S\$S4\ " S5      /_S\\RF                  S+4\ " S 5      /_SS\S4\ " S5      /_SS\S74\ " S5      /_SS\ S\ S3\" \RF                  \" \S S!95      S+4S\ S\ S\ S3\" \Rl                  \" \S S!9\RF                  5      S+4S\4\ " S'5      \\RF                  S+4\"" S+5      /_SS\ S3\" \\" \S S!95      4S\4S\S4S\S4S\S4\ " S5      /_SS\S+4\ " S5      /_SS\$S+4\ " S 5      \"" S+5      /_SS\S4S\4S+4\ " S5      /_SS\$S+4\ " S 5      /_SS\4\\Rn                  S4\ " S 5      /_S\ " S 5      S\$Sz4\"" Sz5      /_SS\4SI\S4S/\S4\\Rl                  4\ " S 5      /_S\ " S 5      S\'Rp                  S+4/_S\ " S5      \ " S 5      S\ S3\" \\" \S S!9\$5      S74S6\ S3\4\\Rd                  4\"" S;5      /_S/S/\S+4/_SS\'RP                  4S\ S\ S3\S+4\\R:                  S+4\ " S 5      /_E0 SS\S4\ " S 5      \\Rl                  S+4\"" S+5      /_SS\4Rj                  S+4\ " S 5      \\44\"" S+5      /_SSI\S4S\S,4\ " S 5      /_SS\S+4\ " S5      S\$RJ                  4\ " S 5      S\ 3\4\\RF                  4/_SSM\S+4S\$RJ                  S+4S\$RJ                  4\\Rl                  S+4\ " S 5      \"" S+5      /_SS\S4\ " S 5      S\S+4\"" S+5      /_SS\4S*\S+4S\$RJ                  4\\Rd                  4\ " S 5      /_S\\RL                  S+4\ " S 5      \"" S+5      /_SS\4S\S+4\ " S 5      \\RF                  4/_S S\ S\ S3\9Rt                  4\\9R^                  4\\9Rv                  4S\ S3\4/_SSR\'R\                  S4ST\'R^                  S4SV\'R\                  S4SX\'R^                  S4/_SS\ 3\'Rx                  4/_SS\'RP                  4S\ S\ S3\'RP                  S4/_SS\Rz                  4/_S\" SS5      _S\" SS5      _S\" SS5      _E0 S\" SS5      _S\" SSGS 5      _GS\" SSGS 5      _GS\" SSGS 5      _GS\" SSGS 5      _GS\" SSGS5      _GS\" SSGS5      _GS\" SSGS5      _GS\" SSGS5      _GS	\" SS5      _GS
\" SS5      _GS\" SS5      _GS\" SS5      _GS\" SVSS5      _GS\" SVSS5      _GS\" SVSS5      _GS\" SVSS5      _E\" SXSS5      \" SXSS5      \" SXSS5      \" SXSS5      \" \SS5      \" \SS5      \" \SS5      \" \SS5      GS\'R`                  4GS\'R`                  4GS\'R`                  S+4SV\'R`                  4/GS\'R`                  4GS\'R`                  4GS\'R`                  S+4SX\'R`                  4/GS\'R`                  4GS\'R`                  4SV\'R`                  S+4/GS\'R`                  4GS\'R`                  4SX\'R`                  S+4/GS.Er>GS r?GS r@GSrAg(  r   i  z
For TADS 3 source code.
zTADS 3tads3z*.tzhttps://www.tads.org z(?://(?:[^\\\n]|\\+[\w\W])*$)z(?:/\*(?:[^*]|\*(?!/))*\*/)zM(?:\\(?:[\n\\<>"\'^v bnrt]|u[\da-fA-F]{,4}|x[\da-fA-F]{,2}|[0-3]?[0-7]{1,2}))z(?:[_a-zA-Z]\w*)z(?=\s|\\?>)zD(?:&&|\|\||\+\+|--|\?\?|::|[.,@\[\]~]|(?:[=+\-*/%!&|^]|<<?|>>?>?)=?)z	(?:\\|\s||r?   z(?:\\\n|[^\S\n]|Nc                 <   U(       al  SR                  U Vs/ sHP  nS[        R                  " UR                  5       5       S[        R                  " UR	                  5       5       S3PMR     sn5      nU(       a  SOSnU(       a  [
        R                  O[
        R                  nU (       a	  SU SU S	3OSnS
R                  U (       a  SOSU(       a  SOS5      nU S3n	/ n
U (       a$  U
U S3US4SU S3[
        R                  4XV4/-  n
OU
R                  XVS45        U
[        S5      SU S3U4/-  n
U(       a0  U
R                  SU SU S3[        R                  SU S3U	445        OzU
SU SU U SU S3[        R                  4S[        R                  SU S3U	44S[        R                  SU S 3U	44S!U SU U SU S"3[        R                  U	4[        S#5      /-  n
U
[        S$5      S%U SU U SU S&3[
        R                   4S'U4/-  n
U
$ s  snf )(Nr  z(?:r  r?   r   '+|(?!{2}){}{}tdsqt{3,}r%   r   +
s/verbatimz[^\\<&{}r   z\\?<(/|\\\\|(?!z)\\)z
(?=[\s=>])qsz\\?<!([^><\\]|<(?!<)|\\z|\\.)*>?z(?i)\\?<listing(?=[\s=>]|\\>)z
qs/listingz(?i)\\?<xmp(?=[\s=>]|\\>)zqs/xmpz\\?<([^\s=><\\z|\\.)*s/entitys/escape	\{([^}<\\|\\.)*\}z[\\&{}<])joinr9  escapelowerupperr   r[  rT  formatrZ  r.  r   r   Tagr   r  r  )tripledoubleverbatim_escapeccharr5  escaped_quotesr   tag_state_namert  s              r6  _make_string_stateTads3Lexer._make_string_state  sx   ww)1 3)1A #&bii	&:%;1RYYqwwy=Q<RRS T)1 3 4Ht4!'V]]8>BtfCvV4Cfs"VcM"82F&!5&1tfA. E LL$v./L!4&#U+
 	
  LL_WIT(:N((Vxr]N$KM N  k$7Gq	QYZ\c\m\mn1488VHJ/@B-txxVHF+^<>"4&D6.9I7)SYZ\`\d\d!
#	 	E 	JD6TF>2B!G9IVX^XgXgh% 
 	

 S 3s   AHc                    U(       a  SOSnU (       a  SOSnSR                  U (       a  SOSU(       a  SOS5      nU(       a  [        R                  O[        R                  nU (       a	  S	U S
U S3OSnU U 3US4S[        4S[        [        [        R                  5      SU 34S[        [        [        R                  5      SU 34S[        SU 34S[        R                  S4SU SU U SU S3[        R                  4SU SU U SU S3[        R                  4[        S5      [        S5      [        S5      S[        R                  4/$ ) Nr   r  r  r  z{}{}qtr  r  r  r  r  r  r6   z
(\s|\\\n)+z	(=)(\\?")zdqs/z	(=)(\\?')zsqs/r   zuqs/z\\?>r%   r  r  r  r  z
([^\s=><\\z|\\.)+r  r  r  z[\\{}&])r  r   r[  rT  r
   r   r   r   r  r  	Attributer   )r  r  r  r  
quantifier
state_namer5  r  s           r6  _make_tag_stateTads3Lexer._make_tag_state:  sM   t4 &WC
__FS6CsS
!'V]]8>BtfCvV4Czl#UH5D!8K?J< "8K?J< ";$zl 34dhh'D6TF>2B!G9IVX^XgXgh4&D6.1A7)6RTXTbTbcJL!J(
 	
r@  c                 0   U S:X  a  [         R                  O%U S:X  a  [         R                  O[         R                  nU(       a  SOSnU(       a  SOSnU(       a  [         R                  O[         R                  nU(       a	  SU SU S3OSnU U 3US4S	R	                  U[         R                  L a  SOS
U 5      US4[        S5      [        S5      SU SU U SU S3[         R                  4SU[         R                  L a  SOS-  U4[        S5      SU4/$ )Nr   r  r  r  r  r  r  r4   r  z\\?r%   r  r  r  r  r  r  z([^\s"\'<%s{}\\&])+>r  z["\'\s&{<}\\])r   r[  rT  rd  r  r   r  )	
terminatorhost_triplehost_doubler  r5  	host_charhost_quantifier
host_tokenr  s	            r6  _make_attribute_value_state&Tads3Lexer._make_attribute_value_stateQ  s   ","4","4&,, 	'DT	%0'c&1V]]v}}
(  	{#i[?.1 	 O,-z8D^^5FLL#8CfjQFL!JI;k)^<LAgYV_`bhbqbqr#u/Dt#NJu%
 	
r@  r   u   ﻿z\{r   z;+z(?=(argcount|break|case|catch|continue|default|definingobj|delegated|do|else|for|foreach|finally|goto|if|inherited|invokee|local|nil|new|operator|replaced|return|self|switch|targetobj|targetprop|throw|true|try|while)\b)blockrv  z)(z*)(\()
whitespacerw  )block?/rootmore/parametersmain/parametersz\++z[^\s!"%-(*->@-_a-z{-~]+z(?!\Z)z	main/rootz
main/basic)r%   object-body/no-bracesclassesr   r  r3   r%   )r%   r   r1   z\}r7   )r  r   z?)()block?r  r  z*)(\{)z*)(:))r  r  r   z->|mainzmain/object-bodyz*)(=?))r%   morer  r6   r  )r%   r  z(?=[\[\'"<(:]))r%   r  r   grammar-rules)r%   r  r  zblock/basicz[;:]+z	default\b)r  r  block/embedz>>)
more/embedr  r*   r$   )r%   	more/listr  )r%   
more/inner
main/innerr  r  z\*|\.{3}z(?i)0x[\da-f]+z5(\d+\.(?!\.)\d*|\.\d+)([eE][-+]?\d+)?|\d+[eE][-+]?\d+z0[0-7]+z\d+z""")r%   tdqsz''')r%   tsqsr   )r%   dqsr  )r%   sqszR""")r%   tdqrzR''')r%   tsqrzR")r%   dqrzR')r%   sqrz	(extern)(z+)(object\b)z(function|method)()r%   r  r  r  z	(modify)(z+)(grammar\b))r%   r  r7   r   z(new)(z+(?=(?:function|method)\b))z	(object)(z+)(template\b))r%   templatez	(string)()r%   function-namez>(argcount|definingobj|invokee|replaced|targetobj|targetprop)\bz(break|continue|goto)\b)r%   labelz0(case|extern|if|intrinsic|return|static|while)\bzcatch\b)r%   catchr   )r%   r  r   z(default|do|else|finally|try)\bz(dictionary|property)\b)r%   	constantszenum\b)r%   enumzexport\b)r%   r  z(for|foreach)\b)r%   r  r  z(function|method)\b)r%   r  r  z	grammar\b)r%   r  r   zinherited\b)r%   	inheritedzlocal\b)r%   
more/local
main/localz)(modify|replace|switch|throw|transient)\bznew\b)r%   r   z(nil|true)\bzobject\bz
operator\b)r%   operatorzpropertyset\b)r%   propertysetr  zself\bz
template\bz(__objref|defined)()r%   more/__objrefr  zdelegated\ba*  (__DATE__|__DEBUG|__LINE__|__FILE__|__TADS_MACRO_FORMAT_VERSION|__TADS_SYS_\w*|__TADS_SYSTEM_NAME|__TADS_VERSION_MAJOR|__TADS_VERSION_MINOR|__TADS3|__TIME__|construct|finalize|grammarInfo|grammarTag|lexicalParent|miscVocab|sourceTextGroup|sourceTextGroupName|sourceTextGroupOrder|sourceTextOrder)\bz
more/basic)r  r  z\.{3}z->|\.\.z(?=;)|[:)\]]z\?)r  more/conditionalr  z	(is|not)(z+)(in\b)z[^\s!"%-_a-z{-~]+r  r  z:(?!:)r  r  )r%   r  r  r.   z(in|step)\br  r  r  z[,:]r  z*)(?=:)z+)(z\[+r  z(:)(z*(?=[?=,:)]))z[?\]]+z[:)])r%   multimethod?r   )more/parameterr  r  z(?=[,)])r  zmultimethod\br  moder+   z(error|warn)\br  z\(+)r%   	variablesr  ztoken\br   z\)+zgrammar-tagr  a!  """([^\\"<]|""?(?!")|\\"+|\\.|<(?!<))+("{3,}|<<)|R"""([^\\"]|""?(?!")|\\"+|\\.)+"{3,}|'''([^\\'<]|''?(?!')|\\'+|\\.|<(?!<))+('{3,}|<<)|R'''([^\\']|''?(?!')|\\'+|\\.)+'{3,}|"([^\\"<]|\\.|<(?!<))+("|<<)|R"([^\\"]|\\.)+"|'([^\\'<]|\\.|<(?!<))+('|<<)|R'([^\\']|\\.)+'|([^)\s\\/]|/(?![/*]))+|\)r>   z(\[)(z*)(badness)z|[()]r  z(<<([^>]|>>>|>(?!>))*>>)+z(?=?z*[({])r  r&   )r%   r  r   r  znegate\br  )r  r  r  z(?=;)z->|\?|r   ztransient\br  z[:,]r  r  z,+z
property\br  r  ^z*#(z|[^\n]|(?<=\\)\n)*\n?z\\+\n+z*#?|\n+|([^\S\n]|\\)+r  r  r  r  r  z
\{\{|\}\}|r  z<<\s*(as\s+decreasingly\s+likely\s+outcomes|cycling|else|end|first\s+time|one\s+of|only|or|otherwise|(sticky|(then\s+)?(purely\s+)?at)\s+random|stopping|(then\s+)?(half\s+)?shuffled|\|\|)\s*>>z<<(%(_(z$|\\?.)|[\-+ ,#]|\[\d*\]?)*\d*\.?\d*(z/|\\?.)|\s*((else|otherwise)\s+)?(if|unless)\b)?)r  r  r  r  z'(?i)&(#(x[\da-f]+|\d+)|[a-z][\da-z]*);?TFztdqs/listinglistingztsqs/listingzdqs/listingzsqs/listingztdqs/xmpxmpztsqs/xmpzdqs/xmpzsqs/xmptdqttsqtdqtsqtzdqs/tdqtzdqs/tsqtzdqs/dqtzdqs/sqtz[^\\"]+z\\"*z"{3,}z[^\\']+z\\'*z'{3,}z\\"?z\\'?)zsqs/tdqtzsqs/tsqtzsqs/dqtzsqs/sqtzuqs/tdqtzuqs/tsqtzuqs/dqtzuqs/sqtr  r  r  r  c           	   +   X  #    SU R                    SU R                    S3nSn[        R                  " X40 UD6 H  u  pVnUS:X  aO  U[        R                  L a;  [
        R                  " U SU R                    SU R                    S3U5      (       a  SnOU[        R                  L ar  US:X  a"  [
        R                  " U S	3U5      (       a  SnOP[
        R                  " U S3U5      (       a  US-  nO+[
        R                  " U S
3U5      (       a  US-  nO[        nXVU4v   M     g 7f)Nr  z*#*r   ifz+(0|nil)z*$\n?r+  zel(if|se)\bzendif\b)_ws_ppr   r,  r   rS  r9  match)r   r0  kwargsppif_false_levelr4  r5  r)   s           r6  r,  !Tads3Lexer.get_tokens_unprocessed8  s    $++bQ/--dCFC  E%"W__,HHBt{{m8DKK=NPUVV%&NGOO+&!+((rd+#6>>)*bT*e44&!+bT/599&!+#E%%! Ds   D(D*c                 N    SnSU ;   d  SU ;   a  US-  nSU ;   a  SU ;   a  US-  nU$ )zThis is a rather generic descriptive language without strong
identifiers. It looks like a 'GameMainDef' has to be present,
and/or a 'versionInfo' with an 'IFID' field.r   __TADSGameMainDefg?versionInfoIFIDg?rA  r<  s     r6  r>  Tads3Lexer.analyse_textN  s?     t}4cMF D Vt^cMFr@  rA  )BrB  rC  rD  rE  rF  r   rH  rI  rG  rJ  r9  rL  rK  rM  _comment_single_comment_multiliner  rN  	_no_quote	_operator_wsr  r  r  r  r
   r   r   r   ra  r   r   r   r   r   r-  r   ReservedrV  r   r  r   r]  r\  Octr_  r[  rT  Regexrb  rc  rW  r   rU  re  	Exceptionrd  r   rS  r  rZ  Entityr  r,  r>  rf  rA  r@  r6  r   r     s    DiGI
 CMII$E6O7%GEI3I'q);(<A
>C  13E2FaHF48' +Z 18 
0 -4
,OtK/K > @DWN %3%v&dmmU4|%D!#BD L![!'/k*
O$ 	L!IJ
%O, 	 ;'K!89M""
-O6 	;K)K(; 45%C5'dmmU4|%D!#=? %3%w'dmmU4|%D!#$+- %3%u%dmmU4|%D!#:< L!I;f5&'%
7O^ 	L!%3%v&dmmU4|%D!#$<> H
_Ol 	K!23L!JL 56
mO| 	K!23L!FO
}OF 	{#K)K(7++,%3%u%djj%L"A!#$ L!	
GOZ 	M"./
[Ob 	FOOV,M"45
cOl 	 U
L!U
K!9:U
 K!>?U
 K "H I	U
 +v.U
 

F3U
 F\\6#U
 V,U
 V^^V,U
 V]]$45U
 V]]$45U
 6==/2U
 6==/2U
  fll$45!U
" fll$45#U
$ FLL/2%U
& FLL/2'U
* #l+g&&d,(G&&()+U
0 #3%v.g&&d,(G!#EG1U
8 #m,g&&d,(G&&(>@9U
@ se67g&&d,(GHJAU
D #n-g&&d,(G&&()=?EU
J #n-guT>&&()BDKU
R O\\6#SU
V ()9)9;LMWU
X AYU
\ ))+<=]U
^ ))79_U
b 01A1A6JcU
d ()9)9"$eU
h ((*:;iU
j '**,<=kU
l  !1!113mU
p $W%5%502qU
t 7++9;uU
x W--/DEyU
z ))13{U
~ :7;K;KU
B w''):;CU
D g..7EU
F '**,MNGU
H G,,.BCIU
J w//,.KU
N ++V4OU
P G,,.BCQU
T $C5/hmmU4|%D !BDUU
Z X]]+[U
^8
 :>vO_U
mOX 	L!D&!FO
YOb 	K!67K!12{#f-k62L!&)HBC#h'hmmU4|%Dmm%& "5)
cO~ 	L!FO
OH 	&)FO
IOR 	FOOX.FO
SO\ 	K!EF))+ABFO
]Of 	K(;-Wl3FO	
gOt 	DMM6*L!
uO| 	;-FO
}OF 	k6*FO
GOP 	%3%w'dmmU4|%DEvO%3%s5'+djj%L"Amm%&,. [!L!DMM6*FO

QOf 	SE'k5\#BCE$k#;<; 12; :;FO
gOx 	$'FO
yO@ 	w/L!FO
AON 	;'Hf%FO
OOX 	0L!
YO` 	[!DNN$9:L!
aOj 	L!"78)*
kOt 	[!K/;0DJJL!
uOB	 	L!* ,2<<A	
C	OV	 	HL!cU+&k5\#BGL I;e$k2DMM"H	
W	Oj	 	;'
k	Op	 	)6??;E7!C5($7DMM6*L!	
q	O|	 	; <=L!DJJ'FO	
}	OH
 	(--0L!!FO	
I
OT
 	K!GHK!89L!
U
O^
 	tV$HW--.L!yk"K0DMM"
_
Or
 	+v.'**F3W--.DJJ'L!FO
s
OB 	k7+L!;'FO	
CON 	K ;'G,,-DMM"L!
OO\ 	DJJ'L!FO
]Of 	K K(L!DMM"	
gOv 	&/00EF__gnn-!2!23vh34d;
wOH 	V]]F+V]]F+6==%(6==%(	
IOT 	wi(&--8
UOZ 	8 :@J y DWI N9 9__CE
[Ol 	7E
mOr 	"4.sOt 	"4/uOv 	!%.wOx 	!%/yOz 	*4yA{O| 	*4	B}O~ 	)%yAO@ 	)%	BAOB 	&tT59COD 	&tUE:EOF 	%eT59GOH 	%eUE:ION 	d+OOP 	e,QOR 	ud+SOT 	ue,UOV 	/dDAWOX 	/dEBYOZ 	.tUDA[O\ 	.tUEB]O^ 0dDA/dEB.tUDA.tUEB/	4F/	4G.y%F.y%G &fll#v||V,6<< 	
 &fll#v||V,6<< 	
 &fll#6<<(
 &fll#6<<(
UOFb&,r@  r   )rF  r9  pygments.lexerr   r   r   r   r   r   r	   pygments.tokenr
   r   r   r   r   r   r   r   r   r   __all__r   r   r   r   rA  r@  r6  <module>r     sn    
  ( ( (E: EPF-: F-RF< Fe	 e	r@  