MacroName LineComment BlockComment PreprocDirective #include String EscapeSequence SystemLibString Identifier ArgumentList ( ConditionalExpression AssignmentExpression CallExpression PrimitiveType FieldExpression FieldIdentifier DestructorName TemplateMethod ScopedFieldIdentifier NamespaceIdentifier TemplateType TypeIdentifier ScopedTypeIdentifier ScopedNamespaceIdentifier :: NamespaceIdentifier TypeIdentifier TemplateArgumentList < TypeDescriptor const volatile restrict _Atomic mutable constexpr StructSpecifier struct MsDeclspecModifier __declspec ) VirtualSpecifier BaseClassClause Access , FieldDeclarationList { FieldDeclaration Attribute AttributeName Identifier AttributeArgs } [ ] UpdateOp ArithOp ArithOp ArithOp LogicOp BitOp BitOp BitOp CompareOp CompareOp CompareOp > CompareOp BitOp UpdateOp Number RawString CharLiteral AttributeArgs virtual extern static register inline AttributeSpecifier __attribute__ PointerDeclarator MsBasedModifier __based MsPointerModifier FunctionDeclarator ParameterList ParameterDeclaration PointerDeclarator FunctionDeclarator Noexcept noexcept ThrowSpecifier throw TrailingReturnType AbstractPointerDeclarator AbstractFunctionDeclarator AbstractArrayDeclarator AbstractParenthesizedDeclarator AbstractReferenceDeclarator ArrayDeclarator ParenthesizedDeclarator ReferenceDeclarator ScopedIdentifier Identifier OperatorName TemplateFunction StructuredBindingDeclarator OptionalParameterDeclaration VariadicParameterDeclaration VariadicDeclarator ReferenceDeclarator ArrayDeclarator ParenthesizedDeclarator ReferenceDeclarator BitfieldClause InitializerList InitializerPair SubscriptDesignator FieldDesignator TemplateDeclaration template TemplateParameterList TypeParameterDeclaration typename class OptionalTypeParameterDeclaration VariadicTypeParameterDeclaration TemplateTemplateParameterDeclaration AliasDeclaration using Declaration InitDeclarator FunctionDefinition MsCallModifier CompoundStatement LinkageSpecification DeclarationList CaseStatement case default LabeledStatement StatementIdentifier ExpressionStatement CommaExpression IfStatement if ConditionClause Declaration else SwitchStatement switch DoStatement do while ParenthesizedExpression WhileStatement ForStatement for ReturnStatement return BreakStatement break ContinueStatement continue GotoStatement goto TypeDefinition typedef PointerDeclarator FunctionDeclarator ArrayDeclarator ParenthesizedDeclarator ForRangeLoop TryStatement try CatchClause catch ThrowStatement NamespaceDefinition namespace UsingDeclaration StaticAssertDeclaration static_assert ConcatenatedString TemplateInstantiation FunctionDefinition ExplicitFunctionSpecifier explicit FieldInitializerList FieldInitializer DefaultMethodClause DeleteMethodClause delete FunctionDefinition OperatorCast operator operator Declaration FunctionDefinition FunctionDefinition FunctionDefinition FunctionDefinition Declaration FunctionDefinition Declaration FriendDeclaration friend union AccessSpecifier UnionSpecifier EnumSpecifier enum SizedTypeSpecifier TypeSize EnumeratorList Enumerator ClassSpecifier DependentType Decltype decltype auto ParameterPackExpansion ParameterPackExpansion FieldIdentifier PointerExpression SubscriptExpression BinaryExpression ArithOp LogicOp BitOp UnaryExpression LogicOp BitOp UpdateExpression CastExpression SizeofExpression sizeof CompoundLiteralExpression True False NULL NewExpression new new NewDeclarator DeleteExpression delete LambdaExpression LambdaCaptureSpecifier ParameterPackExpansion nullptr this #define PreprocArg #if #ifdef #ifndef #else #endif #elif PreprocDirectiveName Macro Program",maxTerm:377,nodeProps:[[NodeProp.group,-30,7,10,13,14,15,17,73,74,75,106,109,158,187,228,229,230,234,237,238,239,241,242,243,244,245,249,251,253,254,255,"Expression",-12,16,23,24,25,39,213,214,216,220,221,222,224,"Type",-16,138,141,144,146,148,153,155,159,160,162,164,166,168,176,177,181,"Statement"]],skippedNodes:[0,2,3,4,5,6,9,256,257,258,259,260,261,262,263,264,265,303],repeatNodeCount:37,tokenData:"':`&iR!UOX$eXY'mYZ,iZ]$e]^)k^p$epq'mqr-Prs.ost/^tu$euv!/wvw!1gwx!3Yxy!3wyz!4lz{!5a{|!6[|}!8Q}!O!8u!O!P!:n!P!Q##Y!Q!R#4m!R![$6p![!]%Ki!]!^%MX!^!_%M|!_!`&*k!`!a&+f!a!b&.S!b!c$e!c!n&.w!n!o&0Y!o!w&.w!w!x&2s!x!}&.w!}#O&4U#O#P&5q#P#Q&Ep#Q#R&G]#R#S&.w#S#T$e#T#c&.w#c#d&HW#d#i&.w#i#j'0Z#j#o&.w#o#p'3T#p#q'3x#q#r'5n#r#s'6c#s~$e!l$nW(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e!j%_U(aW&k!bOY%WZw%Wwx%qx#O%W#O#P&S#P~%W!b%vS&k!bOY%qZ#O%q#O#P&S#P~%q!b&XV&k!bOY%qYZ%qZ]%q]^&n^#O%q#O#P&S#P~%q!b&sT&k!bOY%qYZ%qZ#O%q#O#P&S#P~%q!d'ZU'tQ&k!bOY'SZr'Srs%qs#O'S#O#P&S#P~'S&i'z^(aW'tQ'r$Z&k!b)X#SOX$eXY'mYZ(vZ]$e]^)k^p$epq'mqr$ers%Wsw$ewx'Sx#O$e#O#P*r#P~$e$Z({T'r$ZXY(vYZ(v]^(vpq(v#O#P)[$Z)_QYZ(v]^)e$Z)hPYZ(v%w)v^(aW'tQ'r$Z&k!bOX$eXY)kYZ(vZ]$e]^)k^p$epq)kqr$ers%Wsw$ewx'Sx#O$e#O#P*r#P~$e%m*wV&k!bOY%qYZ+^Z]%q]^,T^#O%q#O#P&S#P~%q%m+eY'r$Z&k!bOX%qXY+^YZ(vZ]%q]^+^^p%qpq+^q#O%q#O#P*r#P~%q%m,YT&k!bOY%qYZ+^Z#O%q#O#P&S#P~%q${,pT)Up'r$ZXY(vYZ(v]^(vpq(v#O#P)[%s-[Y&TP(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`-z!`#O$e#O#P&S#P~$e%s.VW!d$V(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e&e.zU(aW'uQ's$w&k!bOY%WZw%Wwx%qx#O%W#O#P&S#P~%W%w/gd(aW'tQ&k!bOX$eXY/^Zp$epq/^qr$ers%Wsw$ewx'Sx!c$e!c!}0u!}#O$e#O#P&S#P#T$e#T#W0u#W#X2S#X#Y:f#Y#]0u#]#^Hl#^#o0u#o~$e%w1Q`(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#o0u#o~$e%w2_b(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#X0u#X#Y3g#Y#o0u#o~$e%w3rb(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#Y0u#Y#Z4z#Z#o0u#o~$e%w5Vb(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#]0u#]#^6_#^#o0u#o~$e%w6jb(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#b0u#b#c7r#c#o0u#o~$e%w7}b(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#X0u#X#Y9V#Y#o0u#o~$e%w9d`(aW'tQ&j$Z&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#o0u#o~$e%w:qd(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#`0u#`#a}#Z#o0u#o~$e%w?[`(aW'tQ&k!b&q$Z&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#o0u#o~$e%w@ib(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#X0u#X#YAq#Y#o0u#o~$e%wBO`(aW'tQ&k!b&o$Z&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#o0u#o~$e%wC]b(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#W0u#W#XDe#X#o0u#o~$e%wDpb(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#]0u#]#^Ex#^#o0u#o~$e%wFTb(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#Y0u#Y#ZG]#Z#o0u#o~$e%wGj`(aW'tQ&k!b&p$Z&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#o0u#o~$e%wHwd(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#Y0u#Y#ZJV#Z#b0u#b#c!'e#c#o0u#o~$e%wJdd(aW'tQ&l$Z&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#W0u#W#XKr#X#b0u#b#c! y#c#o0u#o~$e%wK}b(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#X0u#X#YMV#Y#o0u#o~$e%wMbb(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#Y0u#Y#ZNj#Z#o0u#o~$e%wNw`(aW'tQ&m$Z&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#o0u#o~$e%w!!Ub(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#W0u#W#X!#^#X#o0u#o~$e%w!#ib(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#X0u#X#Y!$q#Y#o0u#o~$e%w!$|b(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#Y0u#Y#Z!&U#Z#o0u#o~$e%w!&c`(aW'tQ&n$Z&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#o0u#o~$e%w!'pb(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#V0u#V#W!(x#W#o0u#o~$e%w!)Tb(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#`0u#`#a!*]#a#o0u#o~$e%w!*hb(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#i0u#i#j!+p#j#o0u#o~$e%w!+{b(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#W0u#W#X!-T#X#o0u#o~$e%w!-`b(aW'tQ&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#X0u#X#Y!.h#Y#o0u#o~$e%w!.u`(aW'tQU$Z&k!b&r$ZOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![0u![!c$e!c!}0u!}#O$e#O#P&S#P#R$e#R#S0u#S#T$e#T#o0u#o~$e%s!0SY(aW'tQ!_$V&k!bOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`!0r!`#O$e#O#P&S#P~$e%s!0}W!j$V(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e%s!1rZ(^$V(aW'tQ&k!bOY$eZr$ers%Wsv$evw!2ewx'Sx!_$e!_!`!0r!`#O$e#O#P&S#P~$e%s!2pW(]$V(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e%o!3eU(bS'tQ(`$V&k!bOY'SZr'Srs%qs#O'S#O#P&S#P~'S&i!4SW(aW'tQ[&_&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e!}!4wW{a(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e%s!5lY(Z$V(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`!0r!`#O$e#O#P&S#P~$e%s!6g[(aW'tQ!]$V&k!bOY$eZr$ers%Wsw$ewx'Sx{$e{|!7]|!_$e!_!`!0r!`#O$e#O#P&S#P~$e%s!7hW(aW![$V'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e%w!8]W!P$Z(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e%s!9Q](aW'tQ!]$V&k!bOY$eZr$ers%Wsw$ewx'Sx}$e}!O!7]!O!_$e!_!`!0r!`!a!9y!a#O$e#O#P&S#P~$e%s!:UW'|$V(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e%w!:y[(aW'tQ'{$V&k!bOY$eZr$ers%Wsw$ewx'Sx!O$e!O!P!;o!P!Q$e!Q![!=]![#O$e#O#P&S#P~$e%w!;xY(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx!O$e!O!P!Sx!Q'S!Q![#;{![!c'S!c!g#;{!g!h$$Y!h!i#;{!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X#;{#X#Y$$Y#Y#Z#;{#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%k#>Z['tQ&k!bOY'SZr'Srs%qs!Q'S!Q![#?P![!c'S!c!i#?P!i#O'S#O#P&S#P#T'S#T#Z#?P#Z~'S%k#?Yn'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx#>Sx!Q'S!Q![#?P![!c'S!c!g#?P!g!h#AW!h!i#?P!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X#?P#X#Y#AW#Y#Z#?P#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%k#Aar'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx#>Sx{'S{|!C{|!Q'S!Q![#Ck![!c'S!c!g#Ck!g!h$ u!h!i#Ck!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X#Ck#X#Y$ u#Y#Z#Ck#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j?Ar'S?Ar?As!C{?As~'S%k#Ctn'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx#Erx!Q'S!Q![#Ck![!c'S!c!g#Ck!g!h$ u!h!i#Ck!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X#Ck#X#Y$ u#Y#Z#Ck#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%k#Ey['tQ&k!bOY'SZr'Srs%qs!Q'S!Q![#Fo![!c'S!c!i#Fo!i#O'S#O#P&S#P#T'S#T#Z#Fo#Z~'S%k#Fxn'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx#Erx!Q'S!Q![#Fo![!c'S!c!g#Fo!g!h#Hv!h!i#Fo!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X#Fo#X#Y#Hv#Y#Z#Fo#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%k#IPr'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx#Erx{'S{|!C{|!Q'S!Q![#KZ![!c'S!c!g#KZ!g!h#Mb!h!i#KZ!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X#KZ#X#Y#Mb#Y#Z#KZ#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j?Ar'S?Ar?As!C{?As~'S%k#Kdn'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx#Erx!Q'S!Q![#KZ![!c'S!c!g#KZ!g!h#Mb!h!i#KZ!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X#KZ#X#Y#Mb#Y#Z#KZ#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%k#Mkr'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx#Erx{'S{|!C{|!Q'S!Q![#KZ![!c'S!c!g#KZ!g!h#Mb!h!i#KZ!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X#KZ#X#Y#Mb#Y#Z#KZ#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j?Ar'S?Ar?As!C{?As~'S%k$!Or'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx#Erx{'S{|!C{|!Q'S!Q![#Ck![!c'S!c!g#Ck!g!h$ u!h!i#Ck!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X#Ck#X#Y$ u#Y#Z#Ck#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j?Ar'S?Ar?As!C{?As~'S%k$$cr'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx#>Sx{'S{|!C{|!Q'S!Q![$&m![!c'S!c!g$&m!g!h$(t!h!i$&m!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X$&m#X#Y$(t#Y#Z$&m#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j?Ar'S?Ar?As!C{?As~'S%k$&vn'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx#Erx!Q'S!Q![$&m![!c'S!c!g$&m!g!h$(t!h!i$&m!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X$&m#X#Y$(t#Y#Z$&m#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%k$(}r'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx#Erx{'S{|!C{|!Q'S!Q![$&m![!c'S!c!g$&m!g!h$(t!h!i$&m!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X$&m#X#Y$(t#Y#Z$&m#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j?Ar'S?Ar?As!C{?As~'S%s$+dn(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![$-b![!c$e!c!g$-b!g!h$/k!h!i$-b!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#X$-b#X#Y$/k#Y#Z$-b#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j~$e%s$-mn(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx#>Sx!Q$e!Q![$-b![!c$e!c!g$-b!g!h$/k!h!i$-b!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#X$-b#X#Y$/k#Y#Z$-b#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j~$e%s$/vr(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx#>Sx{$e{|!Ls|!Q$e!Q![$2Q![!c$e!c!g$2Q!g!h$4Z!h!i$2Q!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#X$2Q#X#Y$4Z#Y#Z$2Q#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j?Ar$e?Ar?As!Ls?As~$e%s$2]n(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx#Erx!Q$e!Q![$2Q![!c$e!c!g$2Q!g!h$4Z!h!i$2Q!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#X$2Q#X#Y$4Z#Y#Z$2Q#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j~$e%s$4fr(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx#Erx{$e{|!Ls|!Q$e!Q![$2Q![!c$e!c!g$2Q!g!h$4Z!h!i$2Q!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#X$2Q#X#Y$4Z#Y#Z$2Q#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j?Ar$e?Ar?As!Ls?As~$e%s$6{n(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx#7Sx!O$e!O!P$+X!P!Q$e!Q![$6p![!g$e!g!h!Jp!h!i# o!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#X$e#X#Y!Jp#Y#Z# o#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j~$e%s$9S](aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx!O$e!O!P$9{!P!Q$e!Q!R$:t!R![$@R![#O$e#O#P&S#P~$e%s$:UY(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![!=]![#O$e#O#P&S#P~$e%s$;Pr(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx$=Zx!O$e!O!P$+X!P!Q$e!Q![$@R![!g$e!g!h!Jp!h!i# o!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#U$e#U#V$B[#V#X$e#X#Y!Jp#Y#Z# o#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j#l$e#l#m$HU#m~$e%k$=bW'tQ&k!bOY'SZr'Srs%qs!Q'S!Q![$=z![#O'S#O#P&S#P~'S%k$>Tn'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx$=Zx!O'S!O!P#9z!P!Q'S!Q![$=z![!g'S!g!h!BQ!h!i!I_!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#X'S#X#Y!BQ#Y#Z!I_#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%s$@^n(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx$=Zx!O$e!O!P$+X!P!Q$e!Q![$@R![!g$e!g!h!Jp!h!i# o!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#X$e#X#Y!Jp#Y#Z# o#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j~$e%s$BeY(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![$CT![#O$e#O#P&S#P~$e%s$C`n(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx$E^x!O$e!O!P$+X!P!Q$e!Q![$CT![!g$e!g!h!Jp!h!i# o!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#X$e#X#Y!Jp#Y#Z# o#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j~$e%k$EeW'tQ&k!bOY'SZr'Srs%qs!Q'S!Q![$E}![#O'S#O#P&S#P~'S%k$FWn'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx$E^x!O'S!O!P#9z!P!Q'S!Q![$E}![!g'S!g!h!BQ!h!i!I_!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#X'S#X#Y!BQ#Y#Z!I_#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%s$H_^(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![$IZ![!c$e!c!i$IZ!i#O$e#O#P&S#P#T$e#T#Z$IZ#Z~$e%s$Ifp(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx$Kjx!O$e!O!P$+X!P!Q$e!Q![$IZ![!c$e!c!g$IZ!g!h%2r!h!i$IZ!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#X$IZ#X#Y%2r#Y#Z$IZ#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j~$e%k$Kq['tQ&k!bOY'SZr'Srs%qs!Q'S!Q![$Lg![!c'S!c!i$Lg!i#O'S#O#P&S#P#T'S#T#Z$Lg#Z~'S%k$Lpp'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx$Kjx!O'S!O!P#9z!P!Q'S!Q![$Lg![!c'S!c!g$Lg!g!h$Nt!h!i$Lg!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X$Lg#X#Y$Nt#Y#Z$Lg#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%k$N}t'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx$Kjx{'S{|!C{|!O'S!O!P#9z!P!Q'S!Q![%#_![!c'S!c!g%#_!g!h%0X!h!i%#_!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X%#_#X#Y%0X#Y#Z%#_#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j?Ar'S?Ar?As!C{?As~'S%k%#hp'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx%%lx!O'S!O!P#9z!P!Q'S!Q![%#_![!c'S!c!g%#_!g!h%0X!h!i%#_!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X%#_#X#Y%0X#Y#Z%#_#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%k%%s['tQ&k!bOY'SZr'Srs%qs!Q'S!Q![%&i![!c'S!c!i%&i!i#O'S#O#P&S#P#T'S#T#Z%&i#Z~'S%k%&rp'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx%%lx!O'S!O!P#9z!P!Q'S!Q![%&i![!c'S!c!g%&i!g!h%(v!h!i%&i!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X%&i#X#Y%(v#Y#Z%&i#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%k%)Pt'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx%%lx{'S{|!C{|!O'S!O!P#9z!P!Q'S!Q![%+a![!c'S!c!g%+a!g!h%-n!h!i%+a!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X%+a#X#Y%-n#Y#Z%+a#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j?Ar'S?Ar?As!C{?As~'S%k%+jp'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx%%lx!O'S!O!P#9z!P!Q'S!Q![%+a![!c'S!c!g%+a!g!h%-n!h!i%+a!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X%+a#X#Y%-n#Y#Z%+a#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%k%-wt'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx%%lx{'S{|!C{|!O'S!O!P#9z!P!Q'S!Q![%+a![!c'S!c!g%+a!g!h%-n!h!i%+a!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X%+a#X#Y%-n#Y#Z%+a#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j?Ar'S?Ar?As!C{?As~'S%k%0bt'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx%%lx{'S{|!C{|!O'S!O!P#9z!P!Q'S!Q![%#_![!c'S!c!g%#_!g!h%0X!h!i%#_!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X%#_#X#Y%0X#Y#Z%#_#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j?Ar'S?Ar?As!C{?As~'S%s%2}t(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx$Kjx{$e{|!Ls|!O$e!O!P$+X!P!Q$e!Q![%5_![!c$e!c!g%5_!g!h%7n!h!i%5_!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#X%5_#X#Y%7n#Y#Z%5_#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j?Ar$e?Ar?As!Ls?As~$e%s%5jp(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx%%lx!O$e!O!P$+X!P!Q$e!Q![%5_![!c$e!c!g%5_!g!h%7n!h!i%5_!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#X%5_#X#Y%7n#Y#Z%5_#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j~$e%s%7yt(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx%%lx{$e{|!Ls|!O$e!O!P$+X!P!Q$e!Q![%5_![!c$e!c!g%5_!g!h%7n!h!i%5_!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#X%5_#X#Y%7n#Y#Z%5_#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j?Ar$e?Ar?As!Ls?As~$e%s%:da(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx!O$e!O!P$9{!P!Q$e!Q!R%;i!R![%A`![!c$e!c!i$IZ!i#O$e#O#P&S#P#T$e#T#Z$IZ#Z~$e%s%;tt(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx%>Ux!O$e!O!P$+X!P!Q$e!Q![%A`![!c$e!c!g$IZ!g!h%2r!h!i$IZ!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#U$IZ#U#V%Co#V#X$IZ#X#Y%2r#Y#Z$IZ#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j#l$e#l#m$HU#m~$e%k%>]['tQ&k!bOY'SZr'Srs%qs!Q'S!Q![%?R![!c'S!c!i$Lg!i#O'S#O#P&S#P#T'S#T#Z$Lg#Z~'S%k%?[p'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx%>Ux!O'S!O!P#9z!P!Q'S!Q![%?R![!c'S!c!g$Lg!g!h$Nt!h!i$Lg!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X$Lg#X#Y$Nt#Y#Z$Lg#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%s%Akp(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx%>Ux!O$e!O!P$+X!P!Q$e!Q![%A`![!c$e!c!g$IZ!g!h%2r!h!i$IZ!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#X$IZ#X#Y%2r#Y#Z$IZ#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j~$e%s%Czp(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx$Kjx!O$e!O!P$+X!P!Q$e!Q![%FO![!c$e!c!g$IZ!g!h%2r!h!i$IZ!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#X$IZ#X#Y%2r#Y#Z$IZ#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j~$e%s%FZp(aW'tQ!k$V&k!bOY$eZr$ers%Wsw$ewx%H_x!O$e!O!P$+X!P!Q$e!Q![%FO![!c$e!c!g$IZ!g!h%2r!h!i$IZ!i!n$e!n!o# o!o!r$e!r!s!Jp!s!w$e!w!x# o!x#O$e#O#P&S#P#T$e#T#X$IZ#X#Y%2r#Y#Z$IZ#Z#`$e#`#a# o#a#d$e#d#e!Jp#e#i$e#i#j# o#j~$e%k%Hf['tQ&k!bOY'SZr'Srs%qs!Q'S!Q![%I[![!c'S!c!i$Lg!i#O'S#O#P&S#P#T'S#T#Z$Lg#Z~'S%k%Iep'tQ!k$V&k!bOY'SZr'Srs%qsw'Swx%H_x!O'S!O!P#9z!P!Q'S!Q![%I[![!c'S!c!g$Lg!g!h$Nt!h!i$Lg!i!n'S!n!o!I_!o!r'S!r!s!BQ!s!w'S!w!x!I_!x#O'S#O#P&S#P#T'S#T#X$Lg#X#Y$Nt#Y#Z$Lg#Z#`'S#`#a!I_#a#d'S#d#e!BQ#e#i'S#i#j!I_#j~'S%w%KtY'z$V(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx![$e![!]%Ld!]#O$e#O#P&S#P~$e%w%LoWk$Z(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e%s%MdW(_$V(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e&e%NX[o$V(aW'tQ&k!bOY%N}Zr%N}rs& vsw%N}wx&%vx!^%N}!^!_&'w!_!`&)p!`!a&'S!a#O%N}#O#Pc#P~%N}#^& WY(aW'tQ&k!bOY%N}Zr%N}rs& vsw%N}wx&%vx!`%N}!`!a&'S!a#O%N}#O#Pc#P~%N}#[& }W(aW&k!bOY& vZw& vwx&!gx!`& v!`!a&%Z!a#O& v#O#Pc#P~& v#S&!lU&k!bOY&!gZ!`&!g!`!aO!a#O&!g#O#Pc#P~&!g#SVSXp&k!bOY%qZ#O%q#O#P&S#P~%q#ShV&k!bOY&!gYZ&!gZ]&!g]^}^#O&!g#O#P&$i#P~&!g#S&$SV&k!bOY&!gYZ%qZ!`&!g!`!aO!a#O&!g#O#Pc#P~&!g#S&$nX&k!bOY&!gYZ%qZ]&!g]^}^!`&!g!`!aO!a#O&!g#O#Pc#P~&!g#[&%dUXp(aW&k!bOY%WZw%Wwx%qx#O%W#O#P&S#P~%W#U&%}W'tQ&k!bOY&%vZr&%vrs&!gs!`&%v!`!a&&g!a#O&%v#O#Pc#P~&%v#U&&pUXp'tQ&k!bOY'SZr'Srs%qs#O'S#O#P&S#P~'S#^&'_WXp(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e&e&(SZ(aW'tQ&k!b!i$VOY%N}Zr%N}rs& vsw%N}wx&%vx!_%N}!_!`&(u!`!a&'S!a#O%N}#O#Pc#P~%N}&e&)QY!j$V(aW'tQ&k!bOY%N}Zr%N}rs& vsw%N}wx&%vx!`%N}!`!a&'S!a#O%N}#O#Pc#P~%N}&e&){Y!e$V(aW'tQ&k!bOY%N}Zr%N}rs& vsw%N}wx&%vx!`%N}!`!a&'S!a#O%N}#O#Pc#P~%N}%s&*vY(lP(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`-z!`#O$e#O#P&S#P~$e%s&+qZ(aW'tQ!g$V&k!bOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`&,d!`!a&-X!a#O$e#O#P&S#P~$e%s&,oW!e$V(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e%s&-dY(aW'tQ&k!b!i$VOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`!0r!`#O$e#O#P&S#P~$e!m&._W'yP(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e&i&/W`(aW'tQ!V$U'vq'}S&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![&.w![!c$e!c!}&.w!}#O$e#O#P&S#P#R$e#R#S&.w#S#T$e#T#o&.w#o~$e&i&0i`(aW'tQ!V$U'vq'}S&k!bOY$eZr$ers&1ksw$ewx&2Wx!Q$e!Q![&.w![!c$e!c!}&.w!}#O$e#O#P&S#P#R$e#R#S&.w#S#T$e#T#o&.w#o~$e&c&1tU(aW's$w&k!bOY%WZw%Wwx%qx#O%W#O#P&S#P~%W%k&2aU'tQ(`$V&k!bOY'SZr'Srs%qs#O'S#O#P&S#P~'S&i&3S`(aW'tQ!V$U'vq'}S&k!bOY$eZr$ers&1ksw$ewx&2Wx!Q$e!Q![&.w![!c$e!c!}&.w!}#O$e#O#P&S#P#R$e#R#S&.w#S#T$e#T#o&.w#o~$e%s&4aX!Y$V(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx!}$e!}#O&4|#O#P&S#P~$e!m&5XW(WP(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e%w&5v_&k!bOY&6uYZ&7YZ]&6u]^&8R^!Q&6u!Q![&8i![!w&6u!w!x&9m!x#O&6u#O#P&?q#P#i&6u#i#j&@_#j#l&6u#l#m&Ca#m~&6u!l&6|SWY&k!bOY%qZ#O%q#O#P&S#P~%q%w&7cYWY'r$Z&k!bOX%qXY+^YZ(vZ]%q]^+^^p%qpq+^q#O%q#O#P*r#P~%q%w&8YTWY&k!bOY%qYZ+^Z#O%q#O#P&S#P~%q!l&8pUWY&k!bOY%qZ!Q%q!Q![&9S![#O%q#O#P&S#P~%q!l&9ZUWY&k!bOY%qZ!Q%q!Q![&6u![#O%q#O#P&S#P~%q!l&9rY&k!bOY%qZ!Q%q!Q![&:b![!c%q!c!i&:b!i#O%q#O#P&S#P#T%q#T#Z&:b#Z~%q!l&:gY&k!bOY%qZ!Q%q!Q![&;V![!c%q!c!i&;V!i#O%q#O#P&S#P#T%q#T#Z&;V#Z~%q!l&;[Y&k!bOY%qZ!Q%q!Q![&;z![!c%q!c!i&;z!i#O%q#O#P&S#P#T%q#T#Z&;z#Z~%q!l&X![!c%q!c!i&>X!i#O%q#O#P&S#P#T%q#T#Z&>X#Z~%q!l&>^Y&k!bOY%qZ!Q%q!Q![&>|![!c%q!c!i&>|!i#O%q#O#P&S#P#T%q#T#Z&>|#Z~%q!l&?RY&k!bOY%qZ!Q%q!Q![&6u![!c%q!c!i&6u!i#O%q#O#P&S#P#T%q#T#Z&6u#Z~%q!l&?xVWY&k!bOY%qYZ%qZ]%q]^&n^#O%q#O#P&S#P~%q!l&@dY&k!bOY%qZ!Q%q!Q![&AS![!c%q!c!i&AS!i#O%q#O#P&S#P#T%q#T#Z&AS#Z~%q!l&AXY&k!bOY%qZ!Q%q!Q![&Aw![!c%q!c!i&Aw!i#O%q#O#P&S#P#T%q#T#Z&Aw#Z~%q!l&A|Y&k!bOY%qZ!Q%q!Q![&Bl![!c%q!c!i&Bl!i#O%q#O#P&S#P#T%q#T#Z&Bl#Z~%q!l&BqY&k!bOY%qZ!Q%q!Q![&6u![!c%q!c!i&6u!i#O%q#O#P&S#P#T%q#T#Z&6u#Z~%q!l&CfY&k!bOY%qZ!Q%q!Q![&DU![!c%q!c!i&DU!i#O%q#O#P&S#P#T%q#T#Z&DU#Z~%q!l&DZY&k!bOY%qZ!Q%q!Q![&Dy![!c%q!c!i&Dy!i#O%q#O#P&S#P#T%q#T#Z&Dy#Z~%q!l&EQYWY&k!bOY%qZ!Q%q!Q![&Dy![!c%q!c!i&Dy!i#O%q#O#P&S#P#T%q#T#Z&Dy#Z~%q%w&E{X!Z#u(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P#Q&Fh#Q~$e#Q&FsW(cd(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e%s&GhY(aW'tQ&k!b!b$VOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`!0r!`#O$e#O#P&S#P~$e&i&Hgb(aW'tQ!V$U'vq'}S&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![&.w![!c$e!c!}&.w!}#O$e#O#P&S#P#R$e#R#S&.w#S#T$e#T#d&.w#d#e&Io#e#o&.w#o~$e&i&JOb(aW'tQ!V$U'vq'}S&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![&.w![!c$e!c!}&.w!}#O$e#O#P&S#P#R$e#R#S&.w#S#T$e#T#X&.w#X#Y&KW#Y#o&.w#o~$e&i&Kgb(aW'tQ!V$U'vq'}S&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![&.w![!c$e!c!}&.w!}#O$e#O#P&S#P#R$e#R#S&.w#S#T$e#T#f&.w#f#g&Lo#g#o&.w#o~$e&i&MOa(aW'tQ!V$U'vq'}S&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![&.w![!c$e!c!}&.w!}#O$e#O#P&S#P#R$e#R#S&.w#S#T$e#T#U&NT#U#o&.w#o~$e&i&Ndb(aW'tQ!V$U'vq'}S&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![&.w![!c$e!c!}&.w!}#O$e#O#P&S#P#R$e#R#S&.w#S#T$e#T#h&.w#h#i' l#i#o&.w#o~$e&i' {b(aW'tQ!V$U'vq'}S&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![&.w![!c$e!c!}&.w!}#O$e#O#P&S#P#R$e#R#S&.w#S#T$e#T#c&.w#c#d'#T#d#o&.w#o~$e&i'#db(aW'tQ!V$U'vq'}S&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q![&.w![!c$e!c!}&.w!}#O$e#O#P&S#P#R$e#R#S&.w#S#T$e#T#f&.w#f#g'$l#g#o&.w#o~$e&i'${s(aW'tQ!V$U'vq'}S&k!bOY$eZq$eqr''Yrs%Wsu$euv'(xvw')swx'Sxy'*qyz$ez{'(x{|'(x|}$e}!O'+j!O!P$e!P!Q'(x!Q![&.w![!^$e!^!_',h!_!`''Y!`!a'-f!a!c$e!c!}&.w!}#O'.d#O#P&S#P#Q$e#Q#R'(x#R#S&.w#S#T$e#T#o&.w#o#p$e#p#q'/Y#q#r$e#r#s'(T#s~$e!q''eY(aW'tQ#`T&k!bOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`'(T!`#O$e#O#P&S#P~$e!q'(`W(aW'tQ#`T&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e!q')TY(aW'tQ#`T&k!bOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`'(T!`#O$e#O#P&S#P~$e!q'*OZ(aW'tQ#`T&k!bOY$eZr$ers%Wsv$evw'(Twx'Sx!_$e!_!`'(T!`#O$e#O#P&S#P~$e!q'*zY(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sxy$eyz'(Tz#O$e#O#P&S#P~$e!q'+uZ(aW'tQ#`T&k!bOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`'(T!`!a'(T!a#O$e#O#P&S#P~$e!q',sZ(aW'tQ#`T&k!bOY$eZr$ers%Wsw$ewx'Sx!^$e!^!_'(x!_!`'(T!`#O$e#O#P&S#P~$e!q'-qZ(aW'tQ#`T&k!bOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`'(T!`!a'(x!a#O$e#O#P&S#P~$e!q'.mX(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P#Q'(T#Q~$e!q'/e[(aW'tQ#`T&k!bOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`'(T!`#O$e#O#P&S#P#p$e#p#q'(T#q~$e&i'0jb(aW'tQ!V$U'vq'}S&k!bOY$eZr$ers&1ksw$ewx&2Wx!Q$e!Q!Y&.w!Y!Z'1r!Z![&.w![!c$e!c!}&.w!}#O$e#O#P&S#P#R$e#R#S&.w#S#T$e#T#o&.w#o~$e&i'2R`(aW'tQ!V$U'vq'}S&k!bOY$eZr$ers&1ksw$ewx&2Wx!Q$e!Q![&.w![!c$e!c!}&.w!}#O$e#O#P&S#P#R$e#R#S&.w#S#T$e#T#o&.w#o~$e%s'3`W!R$V(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e%s'4T[(aW'tQ!a$V&k!bOY$eZr$ers%Wsw$ewx'Sx!_$e!_!`!0r!`#O$e#O#P&S#P#p$e#p#q'4y#q~$e%s'5UW([$V(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e!}'5yW!Xa(aW'tQ&k!bOY$eZr$ers%Wsw$ewx'Sx#O$e#O#P&S#P~$e!q'6na(aW'tQ&UP&k!bOX$eXY'7sZp$epq'7sqr$ers%Wsw$ewx'Sx!c$e!c!}'9R!}#O$e#O#P&S#P#R$e#R#S'9R#S#T$e#T#o'9R#o~$e!q'7|a(aW'tQ&k!bOX$eXY'7sZp$epq'7sqr$ers%Wsw$ewx'Sx!c$e!c!}'9R!}#O$e#O#P&S#P#R$e#R#S'9R#S#T$e#T#o'9R#o~$e!q'9^`(aW'tQcT&k!bOY$eZr$ers%Wsw$ewx'Sx!Q$e!Q!['9R![!c$e!c!}'9R!}#O$e#O#P&S#P#R$e#R#S'9R#S#T$e#T#o'9R#o~$e",tokenizers:[rawString,rawStringContinue,fallback,0,1,2,3,4,5,6,7],topRules:{Program:[0,266]},dynamicPrecedences:{84:1,91:1,98:1,104:-10,105:1,110:-1,116:-10,117:1,172:1,175:-10,221:-1,225:2,226:2,265:-10,323:3,367:1,368:3,369:1,370:1},specialized:[{term:314,get:O=>spec_identifier[O]||-1},{term:31,get:O=>spec_[O]||-1},{term:69,get:O=>spec_templateArgsEnd[O]||-1},{term:321,get:O=>spec_scopedIdentifier[O]||-1}],tokenPrec:22015}),cppLanguage=LezerLanguage.define({parser:parser.configure({props:[indentNodeProp.add({IfStatement:continuedIndent({except:/^\s*({|else\b)/}),TryStatement:continuedIndent({except:/^\s*({|catch)\b/}),LabeledStatement:flatIndent,CaseStatement:O=>O.baseIndent+O.unit,BlockComment:()=>-1,Statement:continuedIndent({except:/^{/})}),foldNodeProp.add({"DeclarationList CompoundStatement EnumeratorList FieldDeclarationList InitializerList":foldInside,BlockComment(O){return{from:O.from+2,to:O.to-2}}}),styleTags({"typedef struct union enum class typename decltype auto template operator friend noexcept namespace using __attribute__ __declspec __based":tags.definitionKeyword,"extern MsCallModifier MsPointerModifier extern static register inline const volatile restrict _Atomic mutable constexpr virtual explicit VirtualSpecifier Access":tags.modifier,"if else switch for while do case default return break continue goto throw try catch":tags.controlKeyword,"new sizeof delete static_assert":tags.operatorKeyword,"NULL nullptr":tags.null,this:tags.self,"True False":tags.bool,"TypeSize PrimitiveType":tags.standard(tags.typeName),TypeIdentifier:tags.typeName,FieldIdentifier:tags.propertyName,"CallExpression/FieldExpression/FieldIdentifier":tags.function(tags.propertyName),StatementIdentifier:tags.labelName,Identifier:tags.variableName,"CallExpression/Identifier":tags.function(tags.variableName),"CallExpression/ScopedIdentifier/Identifier":tags.function(tags.variableName),DestructorName:tags.name,NamespaceIdentifier:tags.namespace,OperatorName:tags.operator,ArithOp:tags.arithmeticOperator,LogicOp:tags.logicOperator,BitOp:tags.bitwiseOperator,CompareOp:tags.compareOperator,AssignOp:tags.definitionOperator,UpdateOp:tags.updateOperator,LineComment:tags.lineComment,BlockComment:tags.blockComment,Number:tags.number,String:tags.string,"RawString SystemLibString":tags.special(tags.string),CharLiteral:tags.character,EscapeSequence:tags.escape,PreProcArg:tags.meta,"PreprocDirectiveName #include #ifdef #ifndef #if #define #else #endif #elif":tags.processingInstruction,MacroName:tags.special(tags.name),"( )":tags.paren,"[ ]":tags.squareBracket,"{ }":tags.brace,"< >":tags.angleBracket,". ->":tags.derefOperator,", ;":tags.separator})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/}});function cpp(){return new LanguageSupport(cppLanguage)}export{cpp,cppLanguage};
diff --git a/typecho/write/dist/index-5cf29f46.js b/typecho/write/dist/index-5cf29f46.js
new file mode 100644
index 0000000..4dd39db
--- /dev/null
+++ b/typecho/write/dist/index-5cf29f46.js
@@ -0,0 +1 @@
+import{E as ExternalTokenizer,C as ContextTracker,P as Parser,o as NodeProp,j as LezerLanguage,e as indentNodeProp,f as continuedIndent,h as foldNodeProp,q as foldInside,a as styleTags,t as tags,n as LanguageSupport}from"./index.js";const printKeyword=1,indent=162,dedent=163,newline=164,newlineBracketed=165,newlineEmpty=166,eof=167,ParenthesizedExpression=21,TupleExpression=47,ComprehensionExpression=48,ArrayExpression=52,ArrayComprehensionExpression=55,DictionaryExpression=56,DictionaryComprehensionExpression=59,SetExpression=60,SetComprehensionExpression=61,newline$1=10,carriageReturn=13,space=32,tab=9,hash=35,parenOpen=40,dot=46,bracketed=[ParenthesizedExpression,TupleExpression,ComprehensionExpression,ArrayExpression,ArrayComprehensionExpression,DictionaryExpression,DictionaryComprehensionExpression,SetExpression,SetComprehensionExpression];let cachedIndent=0,cachedInput=null,cachedPos=0;function getIndent(O,$){return $==cachedPos&&O==cachedInput?cachedIndent:(cachedInput=O,cachedPos=$,cachedIndent=getIndentInner(O,$))}function getIndentInner($,s){for(let O=0;;s++){var r=$.get(s);if(r==space)O++;else{if(r!=tab)return r==newline$1||r==carriageReturn||r==hash?-1:O;O+=8-O%8}}}const newlines=new ExternalTokenizer((O,$,s)=>{var r=O.get($.start);r<0?$.accept(eof,$.start):r!=newline$1&&r!=carriageReturn||(null!=s.startOf(bracketed)?$.accept(newlineBracketed,$.start+1):getIndent(O,$.start+1)<0?$.accept(newlineEmpty,$.start+1):$.accept(newline,$.start+1))},{contextual:!0,fallback:!0}),indentation=new ExternalTokenizer((O,$,s)=>{let r=O.get($.start-1),p;(r==newline$1||r==carriageReturn)&&0<=(p=getIndent(O,$.start))&&p!=s.context.depth&&null==s.startOf(bracketed)&&$.accept(p{let r=O.start;for(let O="print",$=0;$gQ$I[O,5mQ$IZO<TAN>TO#FVQ$IWO<aAN>aO/gQ$IWO1G1^O#FgQ$I[O1G1^P#FqQ$IWO'#FWOOQ$IS1G1d1G1dP#GOQ$IWO'#F^O#G]Q$IWO7+(lOOOO-E9]-E9]O#GsQ$IWO7+'qOOQ$ISAN?VAN?VO#H^Q$IWO,5j!Q!R&AY!R![&GW![!]'$S!]!^'&f!^!_''l!_!`'*[!`!a'+h!a!b$}!b!c'.T!c!d'/c!d!e'1T!e!h'/c!h!i'=R!i!t'/c!t!u'Fg!u!w'/c!w!x';a!x!}'/c!}#O'Hq#O#P'Iw#P#Q'Ji#Q#R'Ko#R#S'/c#S#T$}#T#U'/c#U#V'1T#V#Y'/c#Y#Z'=R#Z#f'/c#f#g'Fg#g#i'/c#i#j';a#j#o'/c#o#p'L{#p#q'Mq#q#r'N}#r#s( {#s$g$}$g~'/cv#p#q(y#q#r5T#r~(y8z)UZ%p7[%gS%jW%v!bOr(yrs)wsw(ywx(Px#O(y#O#PAU#P#o(y#o#p?p#p#q(y#q#r5T#r~(y8z*QZ%p7[%gS%v!bOr(yrs*ssw(ywx(Px#O(y#O#P@p#P#o(y#o#p?p#p#q(y#q#r5T#r~(y8z*|Z%p7[%gS%v!bOr(yrs+osw(ywx(Px#O(y#O#P4o#P#o(y#o#p?p#p#q(y#q#r5T#r~(y8r+xX%p7[%gS%v!bOw+owx,ex#O+o#O#P4Z#P#o+o#o#p3Z#p#q+o#q#r.k#r~+o8r,jX%p7[Ow+owx-Vx#O+o#O#P3u#P#o+o#o#p2i#p#q+o#q#r.k#r~+o8r-[X%p7[Ow+owx-wx#O+o#O#P.V#P#o+o#o#p0^#p#q+o#q#r.k#r~+o7[-|R%p7[O#o-w#p#q-w#r~-w8r.[T%p7[O#o+o#o#p.k#p#q+o#q#r.k#r~+o!f.rV%gS%v!bOw.kwx/Xx#O.k#O#P3T#P#o.k#o#p3Z#p~.k!f/[VOw.kwx/qx#O.k#O#P2c#P#o.k#o#p2i#p~.k!f/tUOw.kx#O.k#O#P0W#P#o.k#o#p0^#p~.k!f0ZPO~.k!f0cV%gSOw0xwx1^x#O0x#O#P2]#P#o0x#o#p.k#p~0xS0}T%gSOw0xwx1^x#O0x#O#P2]#P~0xS1aTOw0xwx1px#O0x#O#P2V#P~0xS1sSOw0xx#O0x#O#P2P#P~0xS2SPO~0xS2YPO~0xS2`PO~0x!f2fPO~.k!f2nV%gSOw0xwx1^x#O0x#O#P2]#P#o0x#o#p.k#p~0x!f3WPO~.k!f3`V%gSOw0xwx1^x#O0x#O#P2]#P#o0x#o#p.k#p~0x8r3zT%p7[O#o+o#o#p.k#p#q+o#q#r.k#r~+o8r4`T%p7[O#o+o#o#p.k#p#q+o#q#r.k#r~+o8z4tT%p7[O#o(y#o#p5T#p#q(y#q#r5T#r~(y!n5^X%gS%jW%v!bOr5Trs5ysw5Twx7ax#O5T#O#P@j#P#o5T#o#p?p#p~5T!n6QX%gS%v!bOr5Trs6msw5Twx7ax#O5T#O#P@d#P#o5T#o#p?p#p~5T!n6tX%gS%v!bOr5Trs.ksw5Twx7ax#O5T#O#P?j#P#o5T#o#p?p#p~5T!n7fX%jWOr5Trs5ysw5Twx8Rx#O5T#O#P>p#P#o5T#o#p>v#p~5T!n8WX%jWOr5Trs5ysw5Twx8sx#O5T#O#P:^#P#o5T#o#p:d#p~5TW8xT%jWOr8srs9Xs#O8s#O#P:W#P~8sW9[TOr8srs9ks#O8s#O#P:Q#P~8sW9nSOr8ss#O8s#O#P9z#P~8sW9}PO~8sW:TPO~8sW:ZPO~8s!n:aPO~5T!n:kX%gS%jWOr;Wrs;tsw;Wwxj#P#o;W#o#p5T#p~;W[;_V%gS%jWOr;Wrs;tsw;Wwxj#P~;W[;yV%gSOr;Wrs<`sw;Wwxd#P~;W[^#P~;W[=PV%jWOr;Wrs;tsw;Wwx=fx#O;W#O#P>W#P~;W[=kV%jWOr;Wrs;tsw;Wwx8sx#O;W#O#P>Q#P~;W[>TPO~;W[>ZPO~;W[>aPO~;W[>gPO~;W[>mPO~;W!n>sPO~5T!n>}X%gS%jWOr;Wrs;tsw;Wwxj#P#o;W#o#p5T#p~;W!n?mPO~5T!n?wX%gS%jWOr;Wrs;tsw;Wwxj#P#o;W#o#p5T#p~;W!n@gPO~5T!n@mPO~5T8z@uT%p7[O#o(y#o#p5T#p#q(y#q#r5T#r~(y8zAZT%p7[O#o(y#o#p5T#p#q(y#q#r5T#r~(y8zAqZ%p7[%jWOr(yrs)wsw(ywxBdx#O(y#O#PEx#P#o(y#o#p:d#p#q(y#q#r5T#r~(y7dBkX%p7[%jWOrBdrsCWs#OBd#O#PEd#P#oBd#o#p8s#p#qBd#q#r8s#r~Bd7dC]X%p7[OrBdrsCxs#OBd#O#PEO#P#oBd#o#p8s#p#qBd#q#r8s#r~Bd7dC}X%p7[OrBdrs-ws#OBd#O#PDj#P#oBd#o#p8s#p#qBd#q#r8s#r~Bd7dDoT%p7[O#oBd#o#p8s#p#qBd#q#r8s#r~Bd7dETT%p7[O#oBd#o#p8s#p#qBd#q#r8s#r~Bd7dEiT%p7[O#oBd#o#p8s#p#qBd#q#r8s#r~Bd8zE}T%p7[O#o(y#o#p5T#p#q(y#q#r5T#r~(y8zFcT%p7[O#o(y#o#p5T#p#q(y#q#r5T#r~(y9[FwT%p7[O#o'P#o#pGW#p#q'P#q#rGW#r~'P#OGcX%gS%jW%m`%v!bOrGWrsHOswGWwx7ax#OGW#O#PKz#P#oGW#o#pKQ#p~GW#OHXX%gS%m`%v!bOrGWrsHtswGWwx7ax#OGW#O#PKt#P#oGW#o#pKQ#p~GW#OH}X%gS%m`%v!bOrGWrsIjswGWwx7ax#OGW#O#PJz#P#oGW#o#pKQ#p~GW!vIsV%gS%m`%v!bOwIjwx/Xx#OIj#O#PJY#P#oIj#o#pJ`#p~Ij!vJ]PO~Ij!vJeV%gSOw0xwx1^x#O0x#O#P2]#P#o0x#o#pIj#p~0x#OJ}PO~GW#OKXX%gS%jWOr;Wrs;tsw;Wwxj#P#o;W#o#pGW#p~;W#OKwPO~GW#OK}PO~GW9[L]Z%p7[%gS%m`%v!bOr'PrsMOsw'Pwx(Px#O'P#O#PN[#P#o'P#o#pKQ#p#q'P#q#rGW#r~'P9SMZX%p7[%gS%m`%v!bOwMOwx,ex#OMO#O#PMv#P#oMO#o#pJ`#p#qMO#q#rIj#r~MO9SM{T%p7[O#oMO#o#pIj#p#qMO#q#rIj#r~MO9[NaT%p7[O#o'P#o#pGW#p#q'P#q#rGW#r~'P9[NuT%p7[O#o'P#o#pGW#p#q'P#q#rGW#r~'Pj#P#o;W#o#p!#j#p~;W&U!+aPO~!#j&U!+kX%gS%jWOr;Wrs;tsw;Wwxj#P#o;W#o#p!#j#p~;W&U!,ZPO~!#j&U!,eX%gS%jWOr;Wrs;tsw;Wwxj#P#o;W#o#p!#j#p~;Wj#P#o;W#o#p!3f#p~;WMg!5oa%p7[%gS%jW$o1s%m`%sp%v!b%x#tOX$}XY!5[Y[$}[]!5[]p$}pq!5[qr$}rs&Rsw$}wx! Ux#O$}#O#P!6t#P#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Mg!6yX%p7[OY$}YZ!5[Z]$}]^!5[^#o$}#o#p!3f#p#q$}#q#r!3f#r~$}yx#O!yx#O!WZ%p7[%gS%e,X%m`%v!bOr'PrsLQsw'Pwx(Px#O'P#O#PNp#P#o'P#o#pKQ#p#q'P#q#rGW#r~'PDT!?S_%p7[%jW%e,XOY!@RYZ(yZ]!@R]^(y^r!@Rrs!A_sw!@Rwx# Rx#O!@R#O#P#$y#P#o!@R#o#p!Lw#p#q!@R#q#r!Bq#r~!@RDT!@`_%p7[%gS%jW%e,X%v!bOY!@RYZ(yZ]!@R]^(y^r!@Rrs!A_sw!@Rwx!>yx#O!@R#O#P!B]#P#o!@R#o#p!NP#p#q!@R#q#r!Bq#r~!@RDT!AjZ%p7[%gS%e,X%v!bOr(yrs*ssw(ywx(Px#O(y#O#P@p#P#o(y#o#p?p#p#q(y#q#r5T#r~(yDT!BbT%p7[O#o!@R#o#p!Bq#p#q!@R#q#r!Bq#r~!@R-w!B|]%gS%jW%e,X%v!bOY!BqYZ5TZ]!Bq]^5T^r!Bqrs!Cusw!Bqwx!Dkx#O!Bq#O#P!My#P#o!Bq#o#p!NP#p~!Bq-w!DOX%gS%e,X%v!bOr5Trs6msw5Twx7ax#O5T#O#P@d#P#o5T#o#p?p#p~5T-w!Dr]%jW%e,XOY!BqYZ5TZ]!Bq]^5T^r!Bqrs!Cusw!Bqwx!Ekx#O!Bq#O#P!Lq#P#o!Bq#o#p!Lw#p~!Bq-w!Er]%jW%e,XOY!BqYZ5TZ]!Bq]^5T^r!Bqrs!Cusw!Bqwx!Fkx#O!Bq#O#P!Gy#P#o!Bq#o#p!HP#p~!Bq,a!FrX%jW%e,XOY!FkYZ8sZ]!Fk]^8s^r!Fkrs!G_s#O!Fk#O#P!Gs#P~!Fk,a!GdT%e,XOr8srs9ks#O8s#O#P:Q#P~8s,a!GvPO~!Fk-w!G|PO~!Bq-w!HY]%gS%jW%e,XOY!IRYZ;WZ]!IR]^;W^r!IRrs!I}sw!IRwx!Jkx#O!IR#O#P!Lk#P#o!IR#o#p!Bq#p~!IR,e!I[Z%gS%jW%e,XOY!IRYZ;WZ]!IR]^;W^r!IRrs!I}sw!IRwx!Jkx#O!IR#O#P!Lk#P~!IR,e!JUV%gS%e,XOr;Wrs<`sw;Wwxd#P~;W,e!JrZ%jW%e,XOY!IRYZ;WZ]!IR]^;W^r!IRrs!I}sw!IRwx!Kex#O!IR#O#P!Le#P~!IR,e!KlZ%jW%e,XOY!IRYZ;WZ]!IR]^;W^r!IRrs!I}sw!IRwx!Fkx#O!IR#O#P!L_#P~!IR,e!LbPO~!IR,e!LhPO~!IR,e!LnPO~!IR-w!LtPO~!Bq-w!MQ]%gS%jW%e,XOY!IRYZ;WZ]!IR]^;W^r!IRrs!I}sw!IRwx!Jkx#O!IR#O#P!Lk#P#o!IR#o#p!Bq#p~!IR-w!M|PO~!Bq-w!NY]%gS%jW%e,XOY!IRYZ;WZ]!IR]^;W^r!IRrs!I}sw!IRwx!Jkx#O!IR#O#P!Lk#P#o!IR#o#p!Bq#p~!IRDT# [_%p7[%jW%e,XOY!@RYZ(yZ]!@R]^(y^r!@Rrs!A_sw!@Rwx#!Zx#O!@R#O#P#$e#P#o!@R#o#p!HP#p#q!@R#q#r!Bq#r~!@RBm#!d]%p7[%jW%e,XOY#!ZYZBdZ]#!Z]^Bd^r#!Zrs##]s#O#!Z#O#P#$P#P#o#!Z#o#p!Fk#p#q#!Z#q#r!Fk#r~#!ZBm##dX%p7[%e,XOrBdrsCxs#OBd#O#PEO#P#oBd#o#p8s#p#qBd#q#r8s#r~BdBm#$UT%p7[O#o#!Z#o#p!Fk#p#q#!Z#q#r!Fk#r~#!ZDT#$jT%p7[O#o!@R#o#p!Bq#p#q!@R#q#r!Bq#r~!@RDT#%OT%p7[O#o!@R#o#p!Bq#p#q!@R#q#r!Bq#r~!@RDe#%dT%p7[O#o!Psw#._wx#/mx#O#._#O#P$Ay#P#o#._#o#p$SXQ1sOY#=ZYZ0xZ]#=Z]^0x^w#=Zwx#>ox#O#=Z#O#P#?u#P~#=Z1w#>tXQ1sOY#=ZYZ0xZ]#=Z]^0x^w#=Zwx#8_x#O#=Z#O#P#?a#P~#=Z1w#?fTQ1sOY#=ZYZ0xZ]#=Z]^0x^~#=Z1w#?zTQ1sOY#=ZYZ0xZ]#=Z]^0x^~#=Z1w#@`TQ1sOY#=ZYZ0xZ]#=Z]^0x^~#=Z3Z#@tTQ1sOY#9aYZ.kZ]#9a]^.k^~#9a3Z#A[ZQ1s%gSOY#=ZYZ0xZ]#=Z]^0x^w#=Zwx#=}x#O#=Z#O#P#@Z#P#o#=Z#o#p#9a#p~#=Z3Z#BSTQ1sOY#9aYZ.kZ]#9a]^.k^~#9a3Z#BjZQ1s%gSOY#=ZYZ0xZ]#=Z]^0x^w#=Zwx#=}x#O#=Z#O#P#@Z#P#o#=Z#o#p#9a#p~#=ZIg#CdXQ1s%p7[OY#4gYZ+oZ]#4g]^+o^#o#4g#o#p#9a#p#q#4g#q#r#9a#r~#4gIg#DWXQ1s%p7[OY#4gYZ+oZ]#4g]^+o^#o#4g#o#p#9a#p#q#4g#q#r#9a#r~#4gIo#DzXQ1s%p7[OY#0uYZ(yZ]#0u]^(y^#o#0u#o#p#Eg#p#q#0u#q#r#Eg#r~#0u3c#Er]Q1s%gS%jW%v!bOY#EgYZ5TZ]#Eg]^5T^r#Egrs#Fksw#Egwx#Hox#O#Eg#O#P$+i#P#o#Eg#o#p$*R#p~#Eg3c#Ft]Q1s%gS%v!bOY#EgYZ5TZ]#Eg]^5T^r#Egrs#Gmsw#Egwx#Hox#O#Eg#O#P$+T#P#o#Eg#o#p$*R#p~#Eg3c#Gv]Q1s%gS%v!bOY#EgYZ5TZ]#Eg]^5T^r#Egrs#9asw#Egwx#Hox#O#Eg#O#P$)m#P#o#Eg#o#p$*R#p~#Eg3c#Hv]Q1s%jWOY#EgYZ5TZ]#Eg]^5T^r#Egrs#Fksw#Egwx#Iox#O#Eg#O#P$(V#P#o#Eg#o#p$(k#p~#Eg3c#Iv]Q1s%jWOY#EgYZ5TZ]#Eg]^5T^r#Egrs#Fksw#Egwx#Jox#O#Eg#O#P#NT#P#o#Eg#o#p#Ni#p~#Eg1{#JvXQ1s%jWOY#JoYZ8sZ]#Jo]^8s^r#Jors#Kcs#O#Jo#O#P#Mo#P~#Jo1{#KhXQ1sOY#JoYZ8sZ]#Jo]^8s^r#Jors#LTs#O#Jo#O#P#MZ#P~#Jo1{#LYXQ1sOY#JoYZ8sZ]#Jo]^8s^r#Jors#8_s#O#Jo#O#P#Lu#P~#Jo1{#LzTQ1sOY#JoYZ8sZ]#Jo]^8s^~#Jo1{#M`TQ1sOY#JoYZ8sZ]#Jo]^8s^~#Jo1{#MtTQ1sOY#JoYZ8sZ]#Jo]^8s^~#Jo3c#NYTQ1sOY#EgYZ5TZ]#Eg]^5T^~#Eg3c#Nr]Q1s%gS%jWOY$ kYZ;WZ]$ k]^;W^r$ krs$!gsw$ kwx$$Zx#O$ k#O#P$'q#P#o$ k#o#p#Eg#p~$ k2P$ tZQ1s%gS%jWOY$ kYZ;WZ]$ k]^;W^r$ krs$!gsw$ kwx$$Zx#O$ k#O#P$'q#P~$ k2P$!nZQ1s%gSOY$ kYZ;WZ]$ k]^;W^r$ krs$#asw$ kwx$$Zx#O$ k#O#P$']#P~$ k2P$#hZQ1s%gSOY$ kYZ;WZ]$ k]^;W^r$ krs#=Zsw$ kwx$$Zx#O$ k#O#P$&w#P~$ k2P$$bZQ1s%jWOY$ kYZ;WZ]$ k]^;W^r$ krs$!gsw$ kwx$%Tx#O$ k#O#P$&c#P~$ k2P$%[ZQ1s%jWOY$ kYZ;WZ]$ k]^;W^r$ krs$!gsw$ kwx#Jox#O$ k#O#P$%}#P~$ k2P$&STQ1sOY$ kYZ;WZ]$ k]^;W^~$ k2P$&hTQ1sOY$ kYZ;WZ]$ k]^;W^~$ k2P$&|TQ1sOY$ kYZ;WZ]$ k]^;W^~$ k2P$'bTQ1sOY$ kYZ;WZ]$ k]^;W^~$ k2P$'vTQ1sOY$ kYZ;WZ]$ k]^;W^~$ k3c$([TQ1sOY#EgYZ5TZ]#Eg]^5T^~#Eg3c$(t]Q1s%gS%jWOY$ kYZ;WZ]$ k]^;W^r$ krs$!gsw$ kwx$$Zx#O$ k#O#P$'q#P#o$ k#o#p#Eg#p~$ k3c$)rTQ1sOY#EgYZ5TZ]#Eg]^5T^~#Eg3c$*[]Q1s%gS%jWOY$ kYZ;WZ]$ k]^;W^r$ krs$!gsw$ kwx$$Zx#O$ k#O#P$'q#P#o$ k#o#p#Eg#p~$ k3c$+YTQ1sOY#EgYZ5TZ]#Eg]^5T^~#Eg3c$+nTQ1sOY#EgYZ5TZ]#Eg]^5T^~#EgIo$,UXQ1s%p7[OY#0uYZ(yZ]#0u]^(y^#o#0u#o#p#Eg#p#q#0u#q#r#Eg#r~#0uIo$,xXQ1s%p7[OY#0uYZ(yZ]#0u]^(y^#o#0u#o#p#Eg#p#q#0u#q#r#Eg#r~#0uIo$-n_Q1s%p7[%jWOY#0uYZ(yZ]#0u]^(y^r#0urs#2Rsw#0uwx$.mx#O#0u#O#P$3y#P#o#0u#o#p#Ni#p#q#0u#q#r#Eg#r~#0uHX$.v]Q1s%p7[%jWOY$.mYZBdZ]$.m]^Bd^r$.mrs$/os#O$.m#O#P$3V#P#o$.m#o#p#Jo#p#q$.m#q#r#Jo#r~$.mHX$/v]Q1s%p7[OY$.mYZBdZ]$.m]^Bd^r$.mrs$0os#O$.m#O#P$2c#P#o$.m#o#p#Jo#p#q$.m#q#r#Jo#r~$.mHX$0v]Q1s%p7[OY$.mYZBdZ]$.m]^Bd^r$.mrs#7ks#O$.m#O#P$1o#P#o$.m#o#p#Jo#p#q$.m#q#r#Jo#r~$.mHX$1vXQ1s%p7[OY$.mYZBdZ]$.m]^Bd^#o$.m#o#p#Jo#p#q$.m#q#r#Jo#r~$.mHX$2jXQ1s%p7[OY$.mYZBdZ]$.m]^Bd^#o$.m#o#p#Jo#p#q$.m#q#r#Jo#r~$.mHX$3^XQ1s%p7[OY$.mYZBdZ]$.m]^Bd^#o$.m#o#p#Jo#p#q$.m#q#r#Jo#r~$.mIo$4QXQ1s%p7[OY#0uYZ(yZ]#0u]^(y^#o#0u#o#p#Eg#p#q#0u#q#r#Eg#r~#0uIo$4tXQ1s%p7[OY#0uYZ(yZ]#0u]^(y^#o#0u#o#p#Eg#p#q#0u#q#r#Eg#r~#0uJP$5hXQ1s%p7[OY#._YZ'PZ]#._]^'P^#o#._#o#p$6T#p#q#._#q#r$6T#r~#._3s$6b]Q1s%gS%jW%m`%v!bOY$6TYZGWZ]$6T]^GW^r$6Trs$7Zsw$6Twx#Hox#O$6T#O#P$=k#P#o$6T#o#p$^_Q1s%p7[%gS%m`%v!bOY#._YZ'PZ]#._]^'P^r#._rs$?]sw#._wx#/mx#O#._#O#P$AV#P#o#._#o#p$v#p#q(y#q#r5T#r~(yDT%_sw%=Zwx%DXx#O%=Z#O#P%Iy#P#o%=Z#o#p%ER#p~%=Z-w%>h]%gS%e,X%v!bOY%=ZYZ5TZ]%=Z]^5T^r%=Zrs%?asw%=Zwx%DXx#O%=Z#O#P%Is#P#o%=Z#o#p%ER#p~%=Z-w%?j]%gS%e,X%v!bOY%=ZYZ5TZ]%=Z]^5T^r%=Zrs%@csw%=Zwx%DXx#O%=Z#O#P%D{#P#o%=Z#o#p%ER#p~%=Z-o%@lZ%gS%e,X%v!bOY%@cYZ.kZ]%@c]^.k^w%@cwx%A_x#O%@c#O#P%Ay#P#o%@c#o#p%BP#p~%@c-o%AdV%e,XOw.kwx/qx#O.k#O#P2c#P#o.k#o#p2i#p~.k-o%A|PO~%@c-o%BWZ%gS%e,XOY%ByYZ0xZ]%By]^0x^w%Bywx%Cmx#O%By#O#P%DR#P#o%By#o#p%@c#p~%By,]%CQX%gS%e,XOY%ByYZ0xZ]%By]^0x^w%Bywx%Cmx#O%By#O#P%DR#P~%By,]%CrT%e,XOw0xwx1px#O0x#O#P2V#P~0x,]%DUPO~%By-w%D`X%jW%e,XOr5Trs5ysw5Twx8Rx#O5T#O#P>p#P#o5T#o#p>v#p~5T-w%EOPO~%=Z-w%E[]%gS%jW%e,XOY%FTYZ;WZ]%FT]^;W^r%FTrs%GPsw%FTwx%Hsx#O%FT#O#P%Im#P#o%FT#o#p%=Z#p~%FT,e%F^Z%gS%jW%e,XOY%FTYZ;WZ]%FT]^;W^r%FTrs%GPsw%FTwx%Hsx#O%FT#O#P%Im#P~%FT,e%GWZ%gS%e,XOY%FTYZ;WZ]%FT]^;W^r%FTrs%Gysw%FTwx%Hsx#O%FT#O#P%Ig#P~%FT,e%HQZ%gS%e,XOY%FTYZ;WZ]%FT]^;W^r%FTrs%Bysw%FTwx%Hsx#O%FT#O#P%Ia#P~%FT,e%HzV%jW%e,XOr;Wrs;tsw;Wwx=fx#O;W#O#P>W#P~;W,e%IdPO~%FT,e%IjPO~%FT,e%IpPO~%FT-w%IvPO~%=Z-w%I|PO~%=ZDT%J[_%p7[%gS%e,X%v!bOY%:mYZ(yZ]%:m]^(y^r%:mrs%KZsw%:mwx%;yx#O%:m#O#P%Mg#P#o%:m#o#p%ER#p#q%:m#q#r%=Z#r~%:mC{%Kf]%p7[%gS%e,X%v!bOY%KZYZ+oZ]%KZ]^+o^w%KZwx%L_x#O%KZ#O#P%MR#P#o%KZ#o#p%BP#p#q%KZ#q#r%@c#r~%KZC{%LfX%p7[%e,XOw+owx-Vx#O+o#O#P3u#P#o+o#o#p2i#p#q+o#q#r.k#r~+oC{%MWT%p7[O#o%KZ#o#p%@c#p#q%KZ#q#r%@c#r~%KZDT%MlT%p7[O#o%:m#o#p%=Z#p#q%:m#q#r%=Z#r~%:mDT%NQT%p7[O#o%:m#o#p%=Z#p#q%:m#q#r%=Z#r~%:mGk%NnZ%p7[%jW%e,X%sp%x#tOr!!Srs)wsw!!Swx!-Qx#O!!S#O#P!2l#P#o!!S#o#p!+d#p#q!!S#q#r!#j#r~!!SGk& fT%p7[O#o%8R#o#p& u#p#q%8R#q#r& u#r~%8R1_&!U]%gS%jW%e,X%sp%v!b%x#tOY& uYZ!#jZ]& u]^!#j^r& urs%>_sw& uwx&!}x#O& u#O#Pu#P#o& u#o#p{#p~& u1_YX%jW%e,X%sp%x#tOr!#jrs5ysw!#jwx!%Yx#O!#j#O#P!+^#P#o!#j#o#p!+d#p~!#j1_PO~& u1_&$U]%gS%jW%e,XOY%FTYZ;WZ]%FT]^;W^r%FTrs%GPsw%FTwx%Hsx#O%FT#O#P%Im#P#o%FT#o#p& u#p~%FTGk&%[Z%p7[%jW%e,X%sp%x#tOr!!Srs)wsw!!Swx&%}x#O!!S#O#P&'P#P#o!!S#o#p&'e#p#q!!S#q#r!#j#r~!!SGk&&^Z%h!f%p7[%jW%f,X%sp%x#tOr!.|rsCWsw!.|wx!.Ox#O!.|#O#P!1r#P#o!.|#o#p!)x#p#q!.|#q#r!&t#r~!.|j#P#o;W#o#p!#j#p~;WGk&(^T%p7[O#o%8R#o#p& u#p#q%8R#q#r& u#r~%8R1_&(v]%gS%jW%e,XOY%FTYZ;WZ]%FT]^;W^r%FTrs%GPsw%FTwx%Hsx#O%FT#O#P%Im#P#o%FT#o#p& u#p~%FTG{&*SZf,X%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux#O$}#O#P!3Q#P#o$}#o#p!4h#p#q$}#q#r!3f#r~$}}_$|R%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!P$}!P!Q&?|!Q!_$}!_!`%4a!`#O$}#O#P!3Q#P#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Gz&@a]%OQ%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!_$}!_!`%4a!`#O$}#O#P!3Q#P#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Gy&Amu!f,V%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!O$}!O!P&DQ!P!Q$}!Q![&GW![!d$}!d!e&IY!e!g$}!g!h&9S!h!l$}!l!m&=d!m!q$}!q!r&LS!r!z$}!z!{&Nv!{#O$}#O#P!3Q#P#R$}#R#S&GW#S#U$}#U#V&IY#V#X$}#X#Y&9S#Y#^$}#^#_&=d#_#c$}#c#d&LS#d#l$}#l#m&Nv#m#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Gy&Dc]%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!Q$}!Q![&E[![#O$}#O#P!3Q#P#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Gy&Eog!f,V%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!Q$}!Q![&E[![!g$}!g!h&9S!h!l$}!l!m&=d!m#O$}#O#P!3Q#P#R$}#R#S&E[#S#X$}#X#Y&9S#Y#^$}#^#_&=d#_#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Gy&Gki!f,V%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!O$}!O!P&DQ!P!Q$}!Q![&GW![!g$}!g!h&9S!h!l$}!l!m&=d!m#O$}#O#P!3Q#P#R$}#R#S&GW#S#X$}#X#Y&9S#Y#^$}#^#_&=d#_#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Gy&Ik`%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!Q$}!Q!R&Jm!R!S&Jm!S#O$}#O#P!3Q#P#R$}#R#S&Jm#S#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Gy&KQ`!f,V%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!Q$}!Q!R&Jm!R!S&Jm!S#O$}#O#P!3Q#P#R$}#R#S&Jm#S#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Gy&Le_%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!Q$}!Q!Y&Md!Y#O$}#O#P!3Q#P#R$}#R#S&Md#S#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Gy&Mw_!f,V%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!Q$}!Q!Y&Md!Y#O$}#O#P!3Q#P#R$}#R#S&Md#S#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Gy' Xc%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!Q$}!Q!['!d![!c$}!c!i'!d!i#O$}#O#P!3Q#P#R$}#R#S'!d#S#T$}#T#Z'!d#Z#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Gy'!wc!f,V%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!Q$}!Q!['!d![!c$}!c!i'!d!i#O$}#O#P!3Q#P#R$}#R#S'!d#S#T$}#T#Z'!d#Z#o$}#o#p!4h#p#q$}#q#r!3f#r~$}Mg'$g]x1s%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!_$}!_!`'%`!`#O$}#O#P!3Q#P#o$}#o#p!4h#p#q$}#q#r!3f#r~$}yx#O!j#P#o;W#o#p!3f#p~;WGz'NU]$uQ%p7[%gS%jW%m`%sp%v!b%x#tOr$}rs&Rsw$}wx! Ux!_$}!_!`%4a!`#O$}#O#P!3Q#P#o$}#o#p!4h#p#q$}#q#r!3f#r~$}spec_identifier[O]||-1}],tokenPrec:6594}),pythonLanguage=LezerLanguage.define({parser:parser.configure({props:[indentNodeProp.add({Body:continuedIndent()}),foldNodeProp.add({"Body ArrayExpression DictionaryExpression":foldInside}),styleTags({"async '*' '**' FormatConversion":tags.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield":tags.controlKeyword,"in not and or is del":tags.operatorKeyword,"import from def class global nonlocal lambda":tags.definitionKeyword,"with as print":tags.keyword,self:tags.self,Boolean:tags.bool,None:tags.null,VariableName:tags.variableName,"CallExpression/VariableName":tags.function(tags.variableName),"FunctionDefinition/VariableName":tags.function(tags.definition(tags.variableName)),"ClassDefinition/VariableName":tags.definition(tags.className),PropertyName:tags.propertyName,"CallExpression/MemberExpression/ProperyName":tags.function(tags.propertyName),Comment:tags.lineComment,Number:tags.number,String:tags.string,FormatString:tags.special(tags.string),UpdateOp:tags.updateOperator,ArithOp:tags.arithmeticOperator,BitOp:tags.bitwiseOperator,CompareOp:tags.compareOperator,AssignOp:tags.definitionOperator,Ellipsis:tags.punctuation,At:tags.meta,"( )":tags.paren,"[ ]":tags.squareBracket,"{ }":tags.brace,".":tags.derefOperator,", ;":tags.separator})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""']},commentTokens:{line:"#"},indentOnInput:/^\s*[\}\]\)]$/}});function python(){return new LanguageSupport(pythonLanguage)}export{python,pythonLanguage};
diff --git a/typecho/write/dist/index-7bc70213.js b/typecho/write/dist/index-7bc70213.js
new file mode 100644
index 0000000..628c8e0
--- /dev/null
+++ b/typecho/write/dist/index-7bc70213.js
@@ -0,0 +1 @@
+import{c as countColumn,L as Language,d as defineLanguageFacet,i as indentService,s as syntaxTree,T as Tree,N as NodeType,a as styleTags,l as languageDataProp,g as getIndentUnit,b as NodeSet,t as tags}from"./index.js";function countCol(t,e,s,n=0,r=0){return null==e&&-1==(e=t.search(/[^\s\u00a0]/))&&(e=t.length),countColumn(t.slice(n,e),r,s)}class StringStream{constructor(t,e,s){this.string=t,this.tabSize=e,this.indentUnit=s,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return 0==this.pos}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pose}eatSpace(){for(var t=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>t}skipToEnd(){this.pos=this.string.length}skipTo(t){t=this.string.indexOf(t,this.pos);if(-1s?t.toLowerCase():t;return n(this.string.substr(this.pos,t.length))==n(t)?(!1!==e&&(this.pos+=t.length),!0):null}t=this.string.slice(this.pos).match(t);return t&&0{}),startState:t.startState||(()=>!0),copyState:t.copyState||defaultCopyState,indent:t.indent||(()=>null),languageData:t.languageData||{}}}function defaultCopyState(e){if("object"!=typeof e)return e;let s={};for(var n in e){let t=e[n];s[n]=t instanceof Array?t.slice():t}return s}class StreamLanguage extends Language{constructor(t){var e=defineLanguageFacet(t.languageData),t=fullParser(t);super(e,{startParse:(t,e,s)=>new Parse(this,t,e,s)},docID(e),[indentService.of((t,e)=>this.getIndent(t,e))]),this.streamParser=t,this.stateAfter=new WeakMap}static define(t){return new StreamLanguage(t)}getIndent(t,e){let s=syntaxTree(t.state),n=s.resolve(e);for(;n&&n.type!=this.topNode;)n=n.parent;if(!n)return null;let r=findState(this,s,0,n.from,e),i,a;if(i=r?(a=r.state,r.pos+1):(a=this.streamParser.startState(t.unit),0),1e4=s.length)return s;i||s.type!=e.topNode||(i=!0);for(let t=s.children.length-1;0<=t;t--){var a=s.positions[t]+n,o=s.children[t];if(an&&findState(s,r.tree,0-r.offset,n,r.to),e;if(t&&(e=cutTree(s,r.tree,n+r.offset,t.pos+r.offset,!1)))return{state:t.state,tree:e}}return{state:s.streamParser.startState(getIndentUnit(e)),tree:Tree.empty}}class Parse{constructor(t,e,s,n){this.lang=t,this.input=e,this.startPos=s,this.context=n,this.chunks=[],this.chunkPos=[],this.chunk=[];var{state:e,tree:t}=findStartInFragments(t,n.fragments,s,n.state);this.state=e,this.pos=this.chunkStart=s+t.length,t.length&&(this.chunks.push(t),this.chunkPos.push(0)),this.poss.start)return r}throw new Error("Stream parser failed to advance stream.")}const tokenTable=Object.create(null),typeArray=[NodeType.none],nodeSet=new NodeSet(typeArray),warned=[];function tokenID(t){return t?tokenTable[t]||(tokenTable[t]=createTokenType(t)):0}for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","typeName"],["attribute","propertyName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])tokenTable[t]=tokenID(e);function warnForPart(t,e){-1t)]});return typeArray.push(e),e}export{StreamLanguage,StringStream};
diff --git a/typecho/write/dist/index-94295a51.js b/typecho/write/dist/index-94295a51.js
new file mode 100644
index 0000000..25ef2e4
--- /dev/null
+++ b/typecho/write/dist/index-94295a51.js
@@ -0,0 +1 @@
+import{E as ExternalTokenizer,P as Parser,o as NodeProp,j as LezerLanguage,e as indentNodeProp,f as continuedIndent,h as foldNodeProp,q as foldInside,a as styleTags,t as tags,n as LanguageSupport}from"./index.js";const closureParamDelim=1,tpOpen=2,tpClose=3,RawString=4,Float=5,_b=98,_e=101,_f=102,_r=114,_E=69,Dot=46,Plus=43,Minus=45,Hash=35,Quote=34,Pipe=124,LessThan=60,GreaterThan=62;function isNum(O){return 48<=O&&O<=57}function isNum_(O){return isNum(O)||95==O}const literalTokens=new ExternalTokenizer((P,$,O)=>{let X=$.start,i=P.get(X);if(isNum(i)){let O=!1;for(;i=P.get(++X),isNum_(i););if(i==Dot)if(O=!0,i=P.get(++X),isNum(i))for(;i=P.get(++X),isNum_(i););else if(i==Dot||127{O.get(Q.start)==Pipe&&Q.accept(closureParamDelim,Q.start+1)}),tpDelim=new ExternalTokenizer((O,Q)=>{var P=Q.start,O=O.get(P);O==LessThan?Q.accept(tpOpen,P+1):O==GreaterThan&&Q.accept(tpClose,P+1)}),spec_identifier={__proto__:null,self:28,super:32,crate:34,impl:46,true:72,false:72,pub:88,in:92,const:96,unsafe:104,async:108,move:110,if:114,let:118,ref:142,mut:144,_:198,else:200,match:204,as:248,return:252,await:262,break:270,continue:276,while:312,loop:316,for:320,macro_rules:327,mod:334,extern:342,struct:346,where:364,union:379,enum:382,type:390,default:395,fn:396,trait:412,use:420,static:438,dyn:476},parser=Parser.deserialize({version:13,states:"$3tQ]Q_OOP$wOWOOO&sQWO'#CnO)WQWO'#IaOOQP'#Ia'#IaOOQQ'#If'#IfO)hO`O'#C}OOQR'#Ii'#IiO)sQWO'#IvOOQO'#Hk'#HkO)xQWO'#DpOOQR'#Ix'#IxO)xQWO'#DpO*ZQWO'#DpOOQO'#Iw'#IwO,SQWO'#J`O,ZQWO'#EiOOQV'#Hp'#HpO,cQYO'#F{OOQV'#El'#ElOOQV'#Em'#EmOOQV'#En'#EnO.YQ_O'#EkO0_Q_O'#EoO2gQWOOO4QQ_O'#FPO7hQWO'#J`OOQV'#FY'#FYO7{Q_O'#F^O:WQ_O'#FaOOQO'#F`'#F`O=sQ_O'#FcO=}Q_O'#FbO@VQWO'#FgOOQO'#J`'#J`OOQV'#Ip'#IpOA]Q_O'#IoOEPQWO'#IoOOQV'#Fw'#FwOF[QWO'#JuOFcQWO'#F|OOQO'#IO'#IOOGrQWO'#GhOOQV'#In'#InOOQV'#Im'#ImOOQV'#Hj'#HjQGyQ_OOOKeQ_O'#DUOKlQYO'#CqOOQP'#I`'#I`OOQV'#Hg'#HgQ]Q_OOOLuQWO'#IaONsQYO'#DXO!!eQWO'#JuO!!lQWO'#JuO!!vQ_O'#DfO!%]Q_O'#E}O!(sQ_O'#FWO!,ZQWO'#FZO!.^QXO'#FbO!.cQ_O'#EeO!!vQ_O'#FmO!0uQWO'#FoO!0zQWO'#FoO!1PQ^O'#FqO!1WQWO'#JuO!1_QWO'#FtO!1dQWO'#FxO!2WQWO'#JjO!2_QWO'#GOO!2_QWO'#G`O!2_QWO'#GbO!2_QWO'#GsOOQO'#Ju'#JuO!2dQWO'#GhO!2lQYO'#GpO!2_QWO'#GqO!3uQ^O'#GtO!3|QWO'#GuO!4hQWO'#HOP!4sOpO'#CcPOOO)CDO)CDOOOOO'#Hi'#HiO!5OO`O,59iOOQV,59i,59iO!5ZQYO,5?bOOQO-E;i-E;iOOQO,5:[,5:[OOQP,59Z,59ZO)xQWO,5:[O)xQWO,5:[O!5oQWO,5?lO!5zQYO,5;qO!6PQYO,5;TO!6hQWO,59QO!7kQXO'#CnO!7rQXO'#IaO!8vQWO'#CoO,^QWO'#EiOOQV-E;n-E;nO!9XQWO'#FsOOQV,5PQYO,5ZQ_O'#HsO$>hQXO,5@QOOQV1G1i1G1iOOQP,5:e,5:eO$>pQXO,5PQYO,5=vO$KuQWO'#KRO$LQQWO,5=xOOQR,5=y,5=yO$LVQWO,5=zO$>PQYO,5>PO$>PQYO,5>POOQO1G.w1G.wO$>PQYO1G.wO$LbQYO,5=pO$LjQZO,59^OOQR,59^,59^O$>PQYO,5=wO$N|QZO,5=}OOQR,5=},5=}O%#`QWO1G/_O!6PQYO1G/_O#E|QYO1G2vO%#eQWO1G2vO%#sQYO1G2vOOQV1G/i1G/iO%$|QWO,5:SO%%UQ_O1G/lO%*_QWO1G1^O%*uQWO1G1hOOQO1G1h1G1hO$>PQYO1G1hO%+]Q^O'#EgOOQV1G0k1G0kOOQV1G1s1G1sO!!vQ_O1G1sO!0zQWO1G1uO!1PQ^O1G1wO!.cQ_O1G1wOOQP,5:j,5:jO$>PQYO1G/^OOQO'#Cn'#CnO%+jQWO1G1zOOQV1G2O1G2OO%+rQWO'#CnO%+zQWO1G3TO%,PQWO1G3TO%,UQYO'#GQO%,gQWO'#G]O%,xQYO'#G_O%.[QYO'#GXOOQV1G2U1G2UO%/kQWO1G2UO%/pQWO1G2UO$@uQWO1G2UOOQV1G2f1G2fO%/kQWO1G2fO#CdQWO1G2fO%/xQWO'#GdOOQV1G2h1G2hO%0ZQWO1G2hO#CoQWO1G2hO%0`QYO'#GSO$>PQYO1G2lO$AWQWO1G2lOOQV1G2y1G2yO%1lQWO1G2yO%3[Q^O'#GkO%3fQWO1G2nO#DYQWO1G2nO%3tQYO,5PQYO1G2vOOQV1G2w1G2wO%5hQWO1G2wO%5mQWO1G2wO#G{QWO1G2wOOQV1G2z1G2zO.YQ_O1G2zO$>PQYO1G2zO%5uQWO1G2zOOQO,5>l,5>lOOQO-EPQYO1G3UPOOO-E;d-E;dPOOO1G.i1G.iOOQO7+*h7+*hO%6yQYO'#IdO%7bQYO'#IgO%7mQYO'#IgO%7uQYO'#IgO%8QQYO,59eOOQO7+%b7+%bOOQP7+$a7+$aOOQV,5:p,5:pO%8VQ!fO,5:pO%8^Q!fO'#JTOOQS'#EZ'#EZOOQS'#E['#E[OOQS'#E]'#E]OOQS'#JT'#JTO%;PQWO'#EYOOQS'#Eb'#EbOOQS'#JR'#JROOQS'#Hn'#HnOOQV,5:q,5:qO%;UQ!fO,5:qO%;]Q!fO,5:oOOQV,5:o,5:oOOQV7+'e7+'eOOQV7+&Z7+&ZO%;dQ[O,59TO%;xQ^O,59TO%^OOQO-E;p-E;pO%?iQWO7+'OO%?pQ_O7+'OOOQO7+'O7+'OOOQO7+'P7+'PO%ArQWO7+'POOQO7+'W7+'WOOQP1G0V1G0VO%AzQXO1G/tO!MoQWO1G/tO%B{QXO1G0RO%CsQ^O'#HlO%DTQWO,5?fOOQP1G/u1G/uO%D`QWO1G/uO%DeQWO'#D_OOQO'#Dt'#DtO%DpQWO'#DtO%DuQWO'#I|OOQO'#I{'#I{O%D}QWO,5:_O%ESQWO'#DtO%EXQWO'#DtOOQP1G0Q1G0QOOQP1G0S1G0SOOQP1G0X1G0XO%EaQXO1G1jO%ElQXO'#FeOOQP,5>_,5>_O!1PQ^O'#FeOOQP-E;q-E;qO$>PQYO1G1jOOQO7+'S7+'SOOQO,5PQYO7+$xOOQV7+'j7+'jO%F{QWO7+(oO%GQQWO7+(oOOQV7+'p7+'pO%/kQWO7+'pO%GVQWO7+'pO%G_QWO7+'pOOQV7+(Q7+(QO%/kQWO7+(QO#CdQWO7+(QOOQV7+(S7+(SO%0ZQWO7+(SO#CoQWO7+(SO$>PQYO7+(WO%GmQWO7+(WO#GxQYO7+(cO%GrQWO7+(YO#DYQWO7+(YOOQV7+(c7+(cO%5hQWO7+(cO%5mQWO7+(cO#G{QWO7+(cOOQV7+(g7+(gO$>PQYO7+(pO%HQQWO7+(pO!1dQWO7+(pOOQV7+$v7+$vO%HVQWO7+$vO%H[QZO1G3ZO%JnQWO1G4kOOQO1G4k1G4kOOQR1G.}1G.}O#-zQWO1G.}O%JsQWO'#KQOOQO'#HW'#HWO%KUQWO'#HXO%KaQWO'#KQOOQO'#KP'#KPO%KiQWO,5=qO%KnQYO'#H[O%LzQWO'#GmO%MVQYO'#CtO%MaQWO'#GmO$>PQYO1G3ZOOQR1G3g1G3gO#7TQWO1G3ZO%MfQZO1G3bO$>PQYO1G3bO& uQYO'#IVO&!VQWO,5@mOOQR1G3d1G3dOOQR1G3f1G3fO%?pQ_O1G3fOOQR1G3k1G3kO&!_QYO7+$cO&!gQYO'#KOOOQQ'#J}'#J}O&!oQYO1G3[O&!tQZO1G3cOOQQ7+$y7+$yO&%TQWO7+$yO&%YQWO7+(bOOQV7+(b7+(bO%5hQWO7+(bO$>PQYO7+(bO#E|QYO7+(bO&%bQWO7+(bO!.cQ_O1G/nO&%pQWO7+%WO$?OQWO7+'SO&%xQWO'#EhO&&TQ^O'#EhOOQU'#Ho'#HoO&&TQ^O,5;ROOQV,5;R,5;RO&&_QWO,5;RO&&dQ^O,5;RO!0zQWO7+'_OOQV7+'a7+'aO&&qQWO7+'cO&&yQWO7+'cO&'QQWO7+$xO&)uQ!fO7+'fO&)|Q!fO7+'fOOQV7+(o7+(oO!1dQWO7+(oO&*TQYO,5PQYO'#JrOOQO'#Jq'#JqO&,zQWO,5PQYO'#GUO&.tQYO'#JkOOQQ,5PQYO7+(YO&3[QYO'#HxO&3pQYO1G2WOOQQ1G2W1G2WOOQQ,5PQYO,5PQYO7+(fO&4lQWO'#IRO&4vQWO,5@hOOQO1G3Q1G3QOOQO1G2}1G2}OOQO1G3P1G3POOQO1G3R1G3ROOQO1G3S1G3SOOQO1G3O1G3OO&5OQWO7+(pO$>PQYO,59fO&5ZQ^O'#ISO&6QQYO,5?ROOQR1G/P1G/POOQV1G0[1G0[OOQS-E;l-E;lO&6YQ!bO,5:rO&6_Q!fO,5:tOOQV1G0]1G0]OOQV1G0Z1G0ZOOQO1G.o1G.oO&6fQWO'#KTOOQO'#KS'#KSO&6nQWO1G.oOOQV<]O&9QQWO,5>]OOQO-E;o-E;oOOQO<WOOQO-E;j-E;jOOQP7+%a7+%aO!1PQ^O,5:`O&:rQWO'#HmO&;WQWO,5?hOOQP1G/y1G/yOOQO,5:`,5:`O&;`QWO,5:`O%ESQWO,5:`O$>PQYO,5`,5>`OOQO-E;r-E;rOOQV7+'l7+'lO&PQYO<PQYO<PQYO<PQYO7+(uOOQO7+*V7+*VOOQR7+$i7+$iO&=rQWO,5@lOOQO'#Gm'#GmO&=zQWO'#GmO&>VQYO'#IUO&=rQWO,5@lOOQR1G3]1G3]O&?rQYO,5=vO&ARQYO,5=XO&A]QWO,5=XOOQO,5=X,5=XOOQR7+(u7+(uO&AbQZO7+(uO&CtQZO7+(|O&FTQWO,5>qOOQO-EPQYO<PQYO,5PQYO,5@^O&IuQYO'#H|O&K[QWO,5@^OOQO1G2e1G2eO%,bQWO,5PQYO,5PO&NtQYO,5@VOOQV<PQYO,5=WO'!xQWO,5@cO'#QQWO,5@cO'#`Q^O'#IPO'!xQWO,5@cOOQO1G2q1G2qO'$rQWO,5=WO'$zQWO<oO'%eQYO,5>dO'%sQYO,5>dOOQQ,5>d,5>dOOQQ-E;v-E;vOOQQ7+'r7+'rO'&OQYO1G2]O$>PQYO1G2^OOQV<m,5>mOOQO-EnOOQQ,5>n,5>nO''TQYO,5>nOOQQ-EX,5>XOOQO-E;k-E;kO!1PQ^O1G/zOOQO1G/z1G/zO'+SQWO1G/zO'+XQXO1G1kO$>PQYO1G1kO'+dQWO7+'[OOQVANA`ANA`O'+nQWOANA`O$>PQYOANA`O'+vQWOANA`OOQVAN>OAN>OO%?pQ_OAN>OO',UQWOANAuOOQVAN@vAN@vO',ZQWOAN@vOOQVANAWANAWOOQVANAYANAYOOQVANA^ANA^O',`QWOANA^OOQVANAiANAiO%5hQWOANAiO%5mQWOANAiO',hQWOANA`OOQVANAvANAvO%?pQ_OANAvO',vQWOANAvO$>PQYOANAvOOQR<pOOQO'#HY'#HYO'-ZQWO'#HZOOQO,5>p,5>pOOQO-EPQYO<o,5>oOOQQ-EPQYOANAhO'-uQWO1G1rO'.iQ^O1G0nO%?pQ_O1G0nO'0_QWO,5;UO'0fQWO1G0nP'0kQWO'#ERP&&TQ^O'#HpOOQV7+&X7+&XO'0vQWO7+&XO&&yQWOAN@iO'0{QWOAN>OO!5oQWO,5a,5>aO'1SQWOAN@lO'1XQWOAN@lOOQS-E;s-E;sOOQVAN@lAN@lO'1aQWOAN@lOOQVANAuANAuO'1iQWO1G5vO'1qQWO1G2dO$>PQYO1G2dO&*nQWO,5>gOOQO,5>g,5>gOOQO-E;y-E;yO'1|QWO1G5xO'2UQWO1G5xO&+`QYO,5>hO'2aQWO,5>hO$>PQYO,5>hOOQO-E;z-E;zO'2lQWO'#JnOOQO1G2a1G2aOOQO,5>f,5>fOOQO-E;x-E;xO&*TQYO,5iOOQO,5>i,5>iOOQO-E;{-E;{OOQQ,5>c,5>cOOQQ-E;u-E;uO'4TQWO1G2sO'4eQWO1G2rO'4pQWO1G5}O'4xQ^O,5>kOOQO'#Go'#GoOOQO,5>k,5>kO'6UQWO,5>kOOQO-E;}-E;}O$>PQYO1G2rO'6dQYO7+'xO'6oQWOANAlOOQVANAlANAlO%?pQ_OANAlO'6vQWOANAvOOQS7+%z7+%zO'6}QWO7+%zO'7YQ!fO7+%zOOQO,5>r,5>rOOQO-EPQYOG26zO'8eQWOG23jOOQVG27aG27aOOQVG26bG26bOOQVG26xG26xOOQVG27TG27TO%5hQWOG27TO'8lQWOG27bOOQVG27bG27bO%?pQ_OG27bO'8sQWOG27bOOQO1G4[1G4[OOQO7+(_7+(_OOQRANA{ANA{OOQVG27SG27SO%5hQWOG27SO&3}QWOG27SO'9OQ^O7+&YO':iQWO7+'^O';]Q^O7+&YO%?pQ_O7+&YP%?pQ_O,5;SP'PQYO1G4SO%,bQWO'#HyO'=nQWO,5@YO'=|QWO7+(VO%?pQ_O7+(VOOQO1G4T1G4TOOQO1G4V1G4VO'>WQWO1G4VO'>fQWO7+(^OOQVG27WG27WO'>qQWOG27WOOQS<xQWO<e,5>eOOQO-E;w-E;wO'F[QWO<a#>m#>z#?Q#?Y#?a#?k#?qPPPPPPP#?w#CTP#GS#Kn#Mi$ h$'UP$'XPPP$*`$*i$*{$0V$2e$2n$4gP!)Y$5a$8u$;l$?W$?a$?f$?iPPP$?l$BcP$BsPPPPPPPPPP$CXP$Eg$Ej$Em$Es$Ev$Ey$E|$FP$FV$Ha$Hd$Hg$Hj$Hm$Hp$Hs$Hv$Hy$H|$IP$KV$KY$K]#*l$Ki$Ko$Kr$Ku$Ky$K}$LQ$LT$LW$LZQ!tPT'V!s'Wi!SOlm!P!T$T$W$y%b)T*e/fQ'h#QQ,l'kQ1d,kR7q5X(SSOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!q!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%X%_%b&U&Y&[&b&u&z&|'P'a'k'm'n'|(V(X(a(c(d(e(i(n(o(q({)R)T)h*Y*e*h*j*k+Y+m+y,k,o,r,y-Q-S-f-l-s.|/]/a/c/f0d0f0l0|1O1i1s1}3`3b3g3i3l4Y4e4j4x5O5X5a5l5y6b6f7X7c7l7t8S8_8`8r9T9]9o9z9{9|9}:O:P:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m:nS(y$v-nQ*o&eQ*s&hQ-j(xQ-x)YW0Y+P0X4]7ZR4[0Z&{!RObfgilmop!O!P!T!Y!Z![!_!`!c!p#Q#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r$y%_%b&U&Y&[&b&u'k'|(V(X(a(e(i(n(o(q({)R)T)h*Y*e*h*j*k+Y+m,k,r,y-S-f-l-s.|/]/a/c/f0d0f0l0|1i1s1}3`3b3g3i3l4Y4e4j4x5O5X5a5l5y6b6f7X7c7l7t8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m#r]Ofgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['|(V(X({)h+m,r,y-l.|0|1i1}3`3b3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9of#[b#Q$y'k(a)R)T*Y,k-s5X!h$bo!c!p$e$g$h$q$r&U&b&u(e(i(n(o(q*e*j+Y-S-f/a/c/f0d0f0l1s3g4e4j5a6f7c7t$b%k!Q!n$O$u%o%p%q%y%{&P&o&p&r'](p)r)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-u.T._.o.s.w.x/Y/Z/z/|0_0q0v0}1X1Y1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8n!W;Q!Y!_!`*h*k/]3i9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:mR;T%n$_%u!Q!n$O$u%o%p%q&P&o&p&r'](p)r)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-u.T._.o.s.w.x/Y/Z/z/|0_0q0v0}1X1Y1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8n$e%l!Q!n$O$u%n%o%p%q%y%{&P&o&p&r'](p)r)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-u.T._.o.s.w.x/Y/Z/z/|0_0q0v0}1X1Y1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8n'hZOY[fgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r%_%b%i%j&U&Y&[&b&u'a'|(V(X(c(d(e(i(n(o(q({)h)o)p*e*h*j*k+Y+m,r,y-Q-S-f-l.h.|/]/a/c/f0d0f0l0|1i1s1}3`3b3g3i3l4Y4e4j4x5O5a5l5y6b6f7X7c7l7t8S8_8`8r9T9]9o9z9{9|9}:O:P:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:g:h:l:m:n:{:|;P$^%l!Q!n$O$u%n%o%p%q%y%{&P&p&r(p)r)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-u.T._.o.s.w.x/Y/Z/z/|0_0q0v0}1X1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8nQ&j!hQ&k!iQ&l!jQ&m!kQ&s!oQ)Z%QQ)[%RQ)]%SQ)^%TQ)a%WQ+_&oS,Q']1YQ.V)_S/q*t4VR4p0r+}TOY[bfgilmop!O!P!Q!T!Y!Z![!_!`!c!n!p!q!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$O$T$W$`$a$e$g$h$q$r$u$y%X%_%b%i%j%n%o%p%q%y%{&P&U&Y&[&b&o&p&r&u&z&|'P']'a'k'm'n'|(V(X(a(c(d(e(i(n(o(p(q({)R)T)h)o)p)r)w)x)}*O*Q*U*Y*Z*]*d*e*h*j*k*m*v*w+T+U+Y+g+m+n+y+|,k,o,r,y-Q-S-f-h-l-s-u.T._.h.o.s.w.x.|/Y/Z/]/a/c/f/z/|0_0d0f0l0q0v0|0}1O1X1Y1i1s1z1}2b2i2k2n2t2w3W3`3b3g3i3l3w3}4O4T4W4Y4a4e4g4j4v4x5O5X5a5e5i5l5y5{6W6_6b6f6u6{6}7X7c7h7l7t7y8S8_8`8n8r9T9]9o9z9{9|9}:O:P:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:g:h:l:m:n:{:|;PQ'[!xQ'g#PQ)k%gU)q%m*S*VR.e)jQ,S']R5R1Y#t%s!Q!n$O$u%p%q&P&p&r(p)w)x)}*Q*U*Z*]*d*m*v+U+g+n+|-h-u.T._.s.w.x/Y/Z/z/|0_0q0v0}1X1z2b2i2k2n2w3W3w3}4O4W4g4v5e5i5{6W6_6u6{6}7h7y8nQ)w%oQ+^&oQ,T']l,_'b'c'd,Y,e,f/l/m1`3p3s5V5W7pS.p)r2tQ.}*OQ/P*RQ/p*tS0P*w4TQ0`+T[0n+Y.i0f4j6O7cQ2w.oS4f0d2sQ4o0rQ5S1YQ6Y3SQ7P4RQ7T4VQ7^4aR9a8o&pVOfgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u']'|(V(X(a(e(i(n(o(q({)h*e*h*j*k+Y+m,j,k,r,y-S-f-l.|/]/a/c/f0d0f0l0|1Y1i1s1}3`3b3g3i3l4Y4e4j4x5O5X5a5l5y6b6f7X7c7l7t8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:mU&g!g%P%[m,_'b'c'd,Y,e,f/l/m1`3p3s5V5W7p$nsOfgilm!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y'|(V(X({)h*h*k+m,r,y-l.|/]0|1i1}3`3b3i3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o9|9}:R:S:V:W:X:Y:Z:[:]:^:_:`:a:lS$tp:PS&O!W#bS&Q!X#cQ&`!bQ*^&RQ*`&VS*c&[:mQ*g&^Q,S']Q-i(vQ/h*iQ0o+ZS2g.W0pQ3^/^Q3_/_Q3h/gQ3j/jQ5R1YU5g2S2h4nU7v5h5j5wQ8d6iS8|7w7xS9f8}9OR9p9gi{Ob!O!P!T$y%_%b)R)T)h-shxOb!O!P!T$y%_%b)R)T)h-sW/u*u/s3y6vQ/|*vW0Z+P0X4]7ZQ3}/zQ6}4OR8n6{!h$do!c!p$e$g$h$q$r&U&b&u(e(i(n(o(q*e*j+Y-S-f/a/c/f0d0f0l1s3g4e4j5a6f7c7tQ&d!dQ&f!fQ&n!mW&x!q%X&|1OQ'S!rQ)W$}Q)X%OQ)`%VU)c%Y'T'UQ*r&hS+r&z'PS-X(j1tQ-t)VQ-w)YS.`)d)eS0w+b/rQ1R+yQ1V+zS1w-^-_Q2l.aQ3u/oQ5b1yR5m2W${sOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['|(V(X({)h*h*k+m,r,y-l.|/]0|1i1}3`3b3i3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m$zsOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['|(V(X({)h*h*k+m,r,y-l.|/]0|1i1}3`3b3i3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:mR3^/^V&T!Y!`*h!i$lo!c!p$e$g$h$q$r&U&b&u(e(i(n(o(q*e*j+Y-S-f/a/c/f0d0f0l1s3g4e4j5a6f7c7t!k$^o!c!p$e$g$h$q$r&U&b&u(a(e(i(n(o(q*e*j+Y-S-f/a/c/f0d0f0l1s3g4e4j5a6f7c7t!i$co!c!p$e$g$h$q$r&U&b&u(e(i(n(o(q*e*j+Y-S-f/a/c/f0d0f0l1s3g4e4j5a6f7c7t&e^Ofgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u'|(V(X(e(i(n(o(q({)h*e*h*j*k+Y+m,r,y-S-f-l.|/]/a/c/f0d0f0l0|1i1s1}3`3b3g3i3l4Y4e4j4x5O5a5l5y6b6f7X7c7l7t8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:mR(k$fQ-Z(jR5_1tQ(R#|S(z$v-nS-Y(j1tQ-k(xW/t*u/s3y6vS1x-^-_Q3x/uR5c1yQ'e#Oh,b'b'c'd,Y,e,f/l/m1`3p3s5WQ,m'lQ,p'oQ.t)tR8f6kQ'f#Oh,b'b'c'd,Y,e,f/l/m1`3p3s5WQ,n'lQ,p'oQ.t)tR8f6ki,b'b'c'd,Y,e,f/l/m1`3p3s5WR*f&]X/b*e/c/f3g!}aOb!O!P!T#z$v$y%_%b'|(x)R)T)h)r*e*u*v+P+Y,r-n-s.i/a/c/f/s/z0X0f1i2t3g3y4O4]4j6O6f6v6{7Z7cQ3a/`Q6d3cQ8a6eR9^8b${rOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['|(V(X({)h*h*k+m,r,y-l.|/]0|1i1}3`3b3i3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m#nfOfglmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#z#}$T$W%_%b&Y&['|(V(X({)h+m,r,y-l.|0|1i1}3`3b3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o!T9|!Y!_!`*h*k/]3i9|9}:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:l:m#rfOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['|(V(X({)h+m,r,y-l.|0|1i1}3`3b3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o!X9|!Y!_!`*h*k/]3i9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m$srOfglmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#z#}$T$W%_%b&Y&['|(V(X({)h*h*k+m,r,y-l.|/]0|1i1}3`3b3i3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o9|9}:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:l:m#U#oh#d$P$Q$V$s%^&W&X'p's't'u'v'w'x'y'z'{'}(T(Z(_*a*b,q,v,x-m0y1j1m2O3Q4y5[5f6c6j7W7j7m7z8Q8q8x9S9c9i}:W&S&]/j3]6i:c:d:j:k:o:q:r:s:t:u:v:w:x:y:};O;S#W#ph#d$P$Q$V$s%^&W&X'p'q's't'u'v'w'x'y'z'{'}(T(Z(_*a*b,q,v,x-m0y1j1m2O3Q4y5[5f6c6j7W7j7m7z8Q8q8x9S9c9i!P:X&S&]/j3]6i:c:d:j:k:o:p:q:r:s:t:u:v:w:x:y:};O;S#S#qh#d$P$Q$V$s%^&W&X'p't'u'v'w'x'y'z'{'}(T(Z(_*a*b,q,v,x-m0y1j1m2O3Q4y5[5f6c6j7W7j7m7z8Q8q8x9S9c9i{:Y&S&]/j3]6i:c:d:j:k:o:r:s:t:u:v:w:x:y:};O;S#Q#rh#d$P$Q$V$s%^&W&X'p'u'v'w'x'y'z'{'}(T(Z(_*a*b,q,v,x-m0y1j1m2O3Q4y5[5f6c6j7W7j7m7z8Q8q8x9S9c9iy:Z&S&]/j3]6i:c:d:j:k:o:s:t:u:v:w:x:y:};O;S#O#sh#d$P$Q$V$s%^&W&X'p'v'w'x'y'z'{'}(T(Z(_*a*b,q,v,x-m0y1j1m2O3Q4y5[5f6c6j7W7j7m7z8Q8q8x9S9c9iw:[&S&]/j3]6i:c:d:j:k:o:t:u:v:w:x:y:};O;S!|#th#d$P$Q$V$s%^&W&X'p'w'x'y'z'{'}(T(Z(_*a*b,q,v,x-m0y1j1m2O3Q4y5[5f6c6j7W7j7m7z8Q8q8x9S9c9iu:]&S&]/j3]6i:c:d:j:k:o:u:v:w:x:y:};O;S!x#vh#d$P$Q$V$s%^&W&X'p'y'z'{'}(T(Z(_*a*b,q,v,x-m0y1j1m2O3Q4y5[5f6c6j7W7j7m7z8Q8q8x9S9c9iq:_&S&]/j3]6i:c:d:j:k:o:w:x:y:};O;S!v#wh#d$P$Q$V$s%^&W&X'p'z'{'}(T(Z(_*a*b,q,v,x-m0y1j1m2O3Q4y5[5f6c6j7W7j7m7z8Q8q8x9S9c9io:`&S&]/j3]6i:c:d:j:k:o:x:y:};O;S$]#{h#`#d$P$Q$V$s%^&S&W&X&]'p'q'r's't'u'v'w'x'y'z'{'}(T(Z(_*a*b,q,v,x-m/j0y1j1m2O3Q3]4y5[5f6c6i6j7W7j7m7z8Q8q8x9S9c9i:c:d:j:k:o:p:q:r:s:t:u:v:w:x:y:};O;S${jOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['|(V(X({)h*h*k+m,r,y-l.|/]0|1i1}3`3b3i3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m$v!aOfgilmp!O!P!T!Y!Z!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['|(V(X({)h*h*k+m,r,y-l.|/]0|1i1}3`3b3i3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o9|9}:O:P:R:V:W:X:Y:Z:[:]:^:_:`:a:b:l:mQ&Y![Q&Z!]R:l:S#rpOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['|(V(X({)h+m,r,y-l.|0|1i1}3`3b3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9oQ&[!^!W:P!Y!_!`*h*k/]3i9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:mR:m;RR$moR-e(qR$wqT(|$v-nQ/e*eS3e/c/fR6h3gQ3o/lQ3r/mQ6n3pR6q3sQ$zwQ)U${Q*p&fQ+e&qQ+h&sQ-v)XW.Y)a+i+j+kS/W*[+fW2c.V.Z.[.]U3X/X/[0xU5t2d2e2fS6]3Y3[S8O5u5vS8X6[6^Q9Q8PS9U8Y8ZR9j9V^|O!O!P!T%_%b)hX)Q$y)R)T-sQ&r!nQ*]&PQ*{&jQ+O&kQ+S&lQ+V&mQ+[&nQ+k&sQ-|)ZQ.P)[Q.S)]Q.U)^Q.X)`Q.])aQ2T-tQ2f.VR4W0UU+`&o*t4VR4q0rQ+X&mQ+j&sS.[)a+k^0u+^+_/p/q4o4p7TS2e.V.]S4S0Q0RR5v2fS0Q*w4TQ0`+TR7^4aU+c&o*t4VR4r0rQ*y&jQ*}&kQ+R&lQ+f&qQ+i&sS-z)Z*{S.O)[+OS.R)]+SU.Z)a+j+kQ/X*[Q0W*zQ0p+ZQ2Y-{Q2Z-|Q2^.PQ2`.SU2d.V.[.]Q2h.WS3[/[0xS5h2S4nQ5o2[S5u2e2fQ6^3YS7x5j5wQ8P5vQ8Y6[Q8}7wQ9V8ZR9g9OQ0S*wR7R4TQ*x&jQ*|&kU-y)Z*y*{U-})[*}+OS2X-z-|S2].O.PQ4Z0YQ5n2ZQ5p2^R7Y4[Q/v*uQ3v/sQ6w3yR8k6vQ*z&jS-{)Z*{Q2[-|Q4Z0YR7Y4[Q+Q&lU.Q)]+R+SS2_.R.SR5q2`Q0[+PQ4X0XQ7[4]R8s7ZQ+Z&nS.W)`+[S2S-t.XR5j2TQ0h+YQ4h0fQ7e4jR8t7cQ.l)rQ0h+YQ2q.iQ4h0fQ6R2tQ7e4jQ8U6OR8t7cQ0h+YR4h0fX'O!q%X&|1OX&{!q%X&|1OW'O!q%X&|1OS+t&z'PR1T+y_|O!O!P!T%_%b)hQ%a!PS)g%_%bR.c)h$^%u!Q!n$O$u%o%p%q&P&o&p&r'](p)r)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-u.T._.o.s.w.x/Y/Z/z/|0_0q0v0}1X1Y1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8nQ*T%yR*W%{$c%n!Q!n$O$u%o%p%q%y%{&P&o&p&r'](p)r)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-u.T._.o.s.w.x/Y/Z/z/|0_0q0v0}1X1Y1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8nW)s%m%x*S*VQ.d)iR2|.uR.l)rR6R2tQ'W!sR+}'WQ!TOQ$TlQ$WmQ%b!P[%|!T$T$W%b)T/fQ)T$yR/f*e$b%i!Q!n$O$u%o%p%q%y%{&P&o&p&r'](p)r)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-u.T._.o.s.w.x/Y/Z/z/|0_0q0v0}1X1Y1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8n[)m%i)o.h:g:{;PQ)o%jQ.h)pQ:g%nQ:{:hR;P:|Q!vUR'Y!vS!OO!TU%]!O%_)hQ%_!PR)h%b#rYOfgilmp!O!P!T!Z![#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['|(V(X({)h+m,r,y-l.|0|1i1}3`3b3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9oh!yY!|#U$`'a'm(c,o-Q9z:T:nQ!|[f#Ub#Q$y'k(a)R)T*Y,k-s5X!h$`o!c!p$e$g$h$q$r&U&b&u(e(i(n(o(q*e*j+Y-S-f/a/c/f0d0f0l1s3g4e4j5a6f7c7tQ'a!}Q'm#ZQ(c$aQ,o'nQ-Q(d!W9z!Y!_!`*h*k/]3i9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:mQ:T9{R:n:UQ-T(fR1q-TQ1u-ZR5`1uQ,Y'bQ,e'cQ,f'dW1^,Y,e,f5WR5W1`Q/c*eS3d/c3gR3g/ffbO!O!P!T$y%_%b)R)T)h-sp#Wb'|(x.i/a/s/z0X0f1i6O6f6v6{7Z7cQ'|#zS(x$v-nQ.i)rW/a*e/c/f3gQ/s*uQ/z*vQ0X+PQ0f+YQ1i,rQ6O2tQ6v3yQ6{4OQ7Z4]R7c4jQ,s'}Q1h,qT1k,s1hS(W$Q(ZQ(]$VU,w(W(],|R,|(_Q(r$mR-g(rQ-o(}R2Q-oQ3p/lQ3s/mT6o3p3sQ)R$yS-q)R-sR-s)TQ4b0`R7_4b`0s+]+^+_+`+c/p/q7TR4s0sQ8p7PR9b8pQ4U0SR7S4UQ3z/vQ6s3vT6x3z6sQ4P/{Q6y3|U7O4P6y8lR8l6zQ4^0[Q7V4XT7]4^7VhzOb!O!P!T$y%_%b)R)T)h-sQ$|xW%Zz$|%f)u$b%f!Q!n$O$u%o%p%q%y%{&P&o&p&r'](p)r)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-u.T._.o.s.w.x/Y/Z/z/|0_0q0v0}1X1Y1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8nR)u%nS4k0h0mS7b4h4iT7g4k7bW&z!q%X&|1OS+q&z+yR+y'PQ1P+vR4|1PU1Z,R,S,TR5T1ZS3T/P7TR6Z3TQ2u.lQ5}2qT6S2u5}Q.y)yR3P.yQ5Y1dR7r5Y^_O!O!P!T%_%b)hY#Xb$y)R)T-s$l#_fgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['|(V(X({*h*k+m,r,y-l.|/]0|1i1}3`3b3i3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m!h$io!c!p$e$g$h$q$r&U&b&u(e(i(n(o(q*e*j+Y-S-f/a/c/f0d0f0l1s3g4e4j5a6f7c7tW'i#Q'k,k5XQ-O(aR/U*Y&z!RObfgilmop!O!P!T!Y!Z![!_!`!c!p#Q#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r$y%_%b&U&Y&[&b&u'k'|(V(X(a(e(i(n(o(q({)R)T)h*Y*e*h*j*k+Y+m,k,r,y-S-f-l-s.|/]/a/c/f0d0f0l0|1i1s1}3`3b3g3i3l4Y4e4j4x5O5X5a5l5y6b6f7X7c7l7t8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m[!{Y[#U#Z9z9{W&{!q%X&|1O['`!|!}'m'n:T:US(b$`$aS+s&z'PU,W'a,o:nS-P(c(dQ1S+yR1o-QS%t!Q&oQ&q!nQ(U$OQ(v$uS)v%o.oQ)y%pQ)|%qS*[&P&rQ+d&pQ,R']Q-c(pQ.k)rU.v)w)x2wS.})}*OQ/O*QQ/S*UQ/V*ZQ/[*]Q/_*dQ/k*mQ/{*vS0R*w4TQ0`+TQ0b+UQ0x+gQ0z+nQ1W+|Q1|-hQ2U-uQ2a.TQ2j._Q2{.sQ2}.wQ3O.xQ3Y/YQ3Z/ZS3|/z/|Q4`0_Q4n0qQ4u0vQ4z0}Q5P1XQ5Q1YQ5d1zQ5s2bQ5w2iQ5z2kQ5|2nQ6Q2tQ6[3WQ6t3wQ6z3}Q6|4OQ7U4WQ7^4aQ7a4gQ7i4vQ7u5eQ7w5iQ8T5{Q8W6WQ8Z6_Q8j6uS8m6{6}Q8v7hQ9O7yR9`8n$^%m!Q!n$O$u%o%p%q&P&o&p&r'](p)r)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-u.T._.o.s.w.x/Y/Z/z/|0_0q0v0}1X1Y1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8nQ)i%nQ*S%yR*V%{$y%h!Q!n$O$u%i%j%n%o%p%q%y%{&P&o&p&r'](p)o)p)r)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-u.T._.h.o.s.w.x/Y/Z/z/|0_0q0v0}1X1Y1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8n:g:h:{:|;P'tWOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%_%b&U&Y&[&b&u'a'k'm'n'|(V(X(a(c(d(e(i(n(o(q({)R)T)h*Y*e*h*j*k+Y+m,k,o,r,y-Q-S-f-l-s.|/]/a/c/f0d0f0l0|1i1s1}3`3b3g3i3l4Y4e4j4x5O5X5a5l5y6b6f7X7c7l7t8S8_8`8r9T9]9o9z9{9|9}:O:P:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m:n$x%g!Q!n$O$u%i%j%n%o%p%q%y%{&P&o&p&r'](p)o)p)r)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-u.T._.h.o.s.w.x/Y/Z/z/|0_0q0v0}1X1Y1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8n:g:h:{:|;P_&y!q%X&z&|'P+y1OR,U']$zrOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['|(V(X({)h*h*k+m,r,y-l.|/]0|1i1}3`3b3i3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m!j$]o!c!p$e$g$h$q$r&U&b&u(a(e(i(n(o(q*e*j+Y-S-f/a/c/f0d0f0l1s3g4e4j5a6f7c7tQ,S']Q1c,jQ1d,kQ5R1YR7q5X_}O!O!P!T%_%b)h^|O!O!P!T%_%b)hQ#YbX)Q$y)R)T-sbhO!O!T3`6b8_8`9]9oS#`f9|Q#dgQ$PiQ$QlQ$VmQ$spW%^!P%_%b)hU&S!Y!`*hQ&W!ZQ&X![Q&]!_Q'p#eQ'q#oS'r#p:XQ's#qQ't#rQ'u#sQ'v#tQ'w#uQ'x#vQ'y#wQ'z#xQ'{#yQ'}#zQ(T#}Q(Z$TQ(_$WQ*a&YQ*b&[Q,q'|Q,v(VQ,x(XQ-m({Q/j*kQ0y+mQ1j,rQ1m,yQ2O-lQ3Q.|Q3]/]Q4y0|Q5[1iQ5f1}Q6c3bQ6i3iQ6j3lQ7W4YQ7j4xQ7m5OQ7z5lQ8Q5yQ8q7XQ8x7lQ9S8SQ9c8rQ9i9TQ:c:OQ:d:PQ:j:RQ:k:SQ:o:VQ:p:WQ:q:YQ:r:ZQ:s:[Q:t:]Q:u:^Q:v:_Q:w:`Q:x:aQ:y:bQ:}:lQ;O:mR;S9}^tO!O!P!T%_%b)h$`#afgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['|(V(X({*h*k+m,r,y-l.|/]0|1i1}3b3i3l4Y4x5O5l5y7X7l8S8r9T9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:mQ6a3`Q8^6bQ9Y8_Q9[8`Q9n9]R9t9oQ&V!YQ&^!`R/g*hQ$joQ&a!cQ&t!pU(f$e$g(iS(m$h0dQ(t$qQ(u$rQ*_&UQ*l&bQ+o&uQ-R(eS-a(n4eQ-b(oQ-d(qW/`*e/c/f3gQ/i*jW0e+Y0f4j7cQ1p-SQ1{-fQ3c/aQ4m0lQ5^1sQ7s5aQ8b6fR8{7t!h$_o!c!p$e$g$h$q$r&U&b&u(e(i(n(o(q*e*j+Y-S-f/a/c/f0d0f0l1s3g4e4j5a6f7c7tR-O(a'uXOY[bfgilmop!O!P!T!Y!Z![!_!`!c!p!|!}#Q#U#Z#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$`$a$e$g$h$q$r$y%_%b&U&Y&[&b&u'a'k'm'n'|(V(X(a(c(d(e(i(n(o(q({)R)T)h*Y*e*h*j*k+Y+m,k,o,r,y-Q-S-f-l-s.|/]/a/c/f0d0f0l0|1i1s1}3`3b3g3i3l4Y4e4j4x5O5X5a5l5y6b6f7X7c7l7t8S8_8`8r9T9]9o9z9{9|9}:O:P:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m:n$zqOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['|(V(X({)h*h*k+m,r,y-l.|/]0|1i1}3`3b3i3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m!i$fo!c!p$e$g$h$q$r&U&b&u(e(i(n(o(q*e*j+Y-S-f/a/c/f0d0f0l1s3g4e4j5a6f7c7t&d^Ofgilmop!O!P!T!Y!Z![!_!`!c!p#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W$e$g$h$q$r%_%b&U&Y&[&b&u'|(V(X(e(i(n(o(q({)h*e*h*j*k+Y+m,r,y-S-f-l.|/]/a/c/f0d0f0l0|1i1s1}3`3b3g3i3l4Y4e4j4x5O5a5l5y6b6f7X7c7l7t8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m[!zY[$`$a9z9{['_!|!}(c(d:T:UW)n%i%j:g:hU,V'a-Q:nW.g)o)p:{:|T2p.h;PQ(h$eQ(l$gR-V(iV(g$e$g(iR-](jR-[(j$znOfgilmp!O!P!T!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W%_%b&Y&['|(V(X({)h*h*k+m,r,y-l.|/]0|1i1}3`3b3i3l4Y4x5O5l5y6b7X7l8S8_8`8r9T9]9o9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:m!i$ko!c!p$e$g$h$q$r&U&b&u(e(i(n(o(q*e*j+Y-S-f/a/c/f0d0f0l1s3g4e4j5a6f7c7t`,c'b'c'd,Y,e,f1`5WX3n/l/m3p3sh,b'b'c'd,Y,e,f/l/m1`3p3s5WQ7o5VR8z7p^uO!O!P!T%_%b)h$`#afgilmp!Y!Z![!_!`#e#o#p#q#r#s#t#u#v#w#x#y#z#}$T$W&Y&['|(V(X({*h*k+m,r,y-l.|/]0|1i1}3b3i3l4Y4x5O5l5y7X7l8S8r9T9|9}:O:P:R:S:V:W:X:Y:Z:[:]:^:_:`:a:b:l:mQ6`3`Q8]6bQ9X8_Q9Z8`Q9m9]R9s9oR(P#zR(O#zQ$SlR([$TR$ooR$noR)P$vR)O$vQ(}$vR2P-nhwOb!O!P!T$y%_%b)R)T)h-s$l!lz!Q!n$O$u$|%f%n%o%p%q%y%{&P&o&p&r'](p)r)u)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-u.T._.o.s.w.x/Y/Z/z/|0_0q0v0}1X1Y1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8nR${xR0a+TR0V*wR0T*wR7Q4RR/x*uR/w*uR0O*vR/}*vR0^+PR0]+P%XyObxz!O!P!Q!T!n$O$u$y$|%_%b%f%n%o%p%q%y%{&P&o&p&r'](p)R)T)h)r)u)w)x)}*O*Q*U*Z*]*d*m*v*w+T+U+g+n+|-h-s-u.T._.o.s.w.x/Y/Z/z/|0_0q0v0}1X1Y1z2b2i2k2n2t2w3W3w3}4O4T4W4a4g4v5e5i5{6W6_6u6{6}7h7y8nR0j+YR0i+YQ'R!qQ)b%XQ+v&|R4{1OX'Q!q%X&|1OR+x&|R+w&|T/R*R4VT/Q*R4VR.n)rR.m)rR)z%pR1f,kR1e,k",nodeNames:"⚠ | < > RawString Float LineComment BlockComment SourceFile ] InnerAttribute ! [ MetaItem self Metavariable super crate Identifier ScopedIdentifier :: QualifiedScope AbstractType impl SelfType MetaType TypeIdentifier ScopedTypeIdentifier ScopeIdentifier TypeArgList TypeBinding = Lifetime String Escape Char Boolean Integer } { Block ; ConstItem Vis pub ( in ) const BoundIdentifier : UnsafeBlock unsafe AsyncBlock async move IfExpression if LetDeclaration let LiteralPattern ArithOp MetaPattern SelfPattern ScopedIdentifier TuplePattern ScopedTypeIdentifier , StructPattern FieldPatternList FieldPattern ref mut FieldIdentifier .. RefPattern SlicePattern CapturedPattern ReferencePattern & MutPattern RangePattern ... OrPattern MacroPattern ParenthesizedTokens BracketedTokens BracedTokens TokenBinding Identifier TokenRepetition ArithOp BitOp LogicOp UpdateOp CompareOp -> => ArithOp _ else MatchExpression match MatchBlock MatchArm Attribute Guard UnaryExpression ArithOp DerefOp LogicOp ReferenceExpression TryExpression BinaryExpression ArithOp ArithOp BitOp BitOp BitOp BitOp LogicOp LogicOp AssignmentExpression TypeCastExpression as ReturnExpression return RangeExpression CallExpression ArgList AwaitExpression await FieldExpression GenericFunction BreakExpression break LoopLabel ContinueExpression continue IndexExpression ArrayExpression TupleExpression MacroInvocation UnitExpression ClosureExpression ParamList Parameter Parameter ParenthesizedExpression StructExpression FieldInitializerList ShorthandFieldInitializer FieldInitializer BaseFieldInitializer MatchArm WhileExpression while LoopExpression loop ForExpression for MacroInvocation MacroDefinition macro_rules MacroRule EmptyStatement ModItem mod DeclarationList AttributeItem ForeignModItem extern StructItem struct TypeParamList ConstrainedTypeParameter TraitBounds HigherRankedTraitBound RemovedTraitBound OptionalTypeParameter ConstParameter WhereClause where LifetimeClause TypeBoundClause FieldDeclarationList FieldDeclaration OrderedFieldDeclarationList UnionItem union EnumItem enum EnumVariantList EnumVariant TypeItem type FunctionItem default fn ParamList Parameter SelfParameter VariadicParameter VariadicParameter ImplItem TraitItem trait AssociatedType LetDeclaration UseDeclaration use ScopedIdentifier UseAsClause ScopedIdentifier UseList ScopedUseList UseWildcard ExternCrateDeclaration StaticItem static ExpressionStatement ExpressionStatement GenericType FunctionType ForLifetimes ParamList VariadicParameter Parameter VariadicParameter Parameter ReferenceType PointerType TupleType UnitType ArrayType MacroInvocation EmptyType DynamicType dyn BoundedType",maxTerm:361,nodeProps:[[NodeProp.group,-42,4,5,14,15,16,17,18,19,33,35,36,37,40,51,53,56,101,107,111,112,113,122,123,125,127,128,130,132,133,134,137,139,140,141,142,143,144,148,149,155,157,159,"Expression",-16,22,24,25,26,27,222,223,230,231,232,233,234,235,236,237,239,"Type",-20,42,161,162,165,166,169,170,172,188,190,194,196,204,205,207,208,209,217,218,220,"Statement",-17,49,60,62,63,64,65,68,74,75,76,77,78,80,81,83,84,99,"Pattern"],[NodeProp.openedBy,9,"[",38,"{",47,"("],[NodeProp.closedBy,12,"]",39,"}",45,")"]],skippedNodes:[0,6,7,240],repeatNodeCount:33,tokenData:"#CO_R!VOX$hXY1_YZ2ZZ]$h]^1_^p$hpq1_qr2srs4qst5Ztu6Vuv9lvw;jwx=nxy!#yyz!$uz{!%q{|!'k|}!(m}!O!)i!O!P!+j!P!Q!/f!Q!R!7q!R![!9f![!]!La!]!^!N_!^!_# Z!_!`##b!`!a#%c!a!b#'j!b!c#(f!c!}#)b!}#O#+X#O#P#,T#P#Q#4d#Q#R#5`#R#S#)b#S#T$h#T#U#)b#U#V#6b#V#f#)b#f#g#9u#g#o#)b#o#p#?S#p#q#@O#q#r#BS#r${$h${$|#)b$|4w$h4w5b#)b5b5i$h5i6S#)b6S~$hU$oZ'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$hU%iT'`Q'PSOz%xz{&^{!P%x!P!Q'S!Q~%xS%}T'PSOz%xz{&^{!P%x!P!Q'S!Q~%xS&aTOz&pz{&^{!P&p!P!Q({!Q~&pS&sTOz%xz{&^{!P%x!P!Q'S!Q~%xS'VSOz&p{!P&p!P!Q'c!Q~&pS'fSOz'r{!P'r!P!Q'c!Q~'rS'uTOz(Uz{(l{!P(U!P!Q'c!Q~(US(]T'QS'PSOz(Uz{(l{!P(U!P!Q'c!Q~(US(oSOz'rz{(l{!P'r!Q~'rS)QO'QSU)VZ'`QOY)xYZ+hZr)xrs&psz)xz{)Q{!P)x!P!Q0w!Q#O)x#O#P&p#P~)xU)}Z'`QOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$hU*uZ'`QOY)xYZ+hZr)xrs&psz)xz{+|{!P)x!P!Q,g!Q#O)x#O#P&p#P~)xU+mT'`QOz%xz{&^{!P%x!P!Q'S!Q~%xQ,RT'`QOY+|YZ,bZr+|s#O+|#P~+|Q,gO'`QU,lZ'`QOY-_YZ0cZr-_rs'rsz-_z{+|{!P-_!P!Q,g!Q#O-_#O#P'r#P~-_U-dZ'`QOY.VYZ/RZr.Vrs(Usz.Vz{/k{!P.V!P!Q,g!Q#O.V#O#P(U#P~.VU.`Z'`Q'QS'PSOY.VYZ/RZr.Vrs(Usz.Vz{/k{!P.V!P!Q,g!Q#O.V#O#P(U#P~.VU/[T'`Q'QS'PSOz(Uz{(l{!P(U!P!Q'c!Q~(UU/pZ'`QOY-_YZ0cZr-_rs'rsz-_z{/k{!P-_!P!Q+|!Q#O-_#O#P'r#P~-_U0hT'`QOz(Uz{(l{!P(U!P!Q'c!Q~(UU1OT'`Q'QSOY+|YZ,bZr+|s#O+|#P~+|_1hZ'`Q&}X'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h_2dT'`Q&}X'PSOz%xz{&^{!P%x!P!Q'S!Q~%x_2|]ZX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!_$h!_!`3u!`#O$h#O#P%x#P~$h_4OZ#RX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h_4zT'^Q'PS'_XOz%xz{&^{!P%x!P!Q'S!Q~%x_5dZ'RX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h_6`g'`Q'vW'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!c$h!c!}7w!}#O$h#O#P%x#P#R$h#R#S7w#S#T$h#T#o7w#o${$h${$|7w$|4w$h4w5b7w5b5i$h5i6S7w6S~$h_8Qh'`Q_X'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q![7w![!c$h!c!}7w!}#O$h#O#P%x#P#R$h#R#S7w#S#T$h#T#o7w#o${$h${$|7w$|4w$h4w5b7w5b5i$h5i6S7w6S~$h_9u](TP'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!_$h!_!`:n!`#O$h#O#P%x#P~$h_:wZ#QX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h_;s_!qX'`Q'PSOY$hYZ%bZr$hrs%xsv$hvwg!Z#O$h#O#P%x#P#g$h#g#h!Ac#h~$h_!g!X#O$h#O#P%x#P~$h_!=n]'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!Y$h!Y!Z!>g!Z#O$h#O#P%x#P~$h_!>pZuX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h_!?j]'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!S$h!S!T!>g!T#O$h#O#P%x#P~$h_!@j]'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!U$h!U!V!>g!V#O$h#O#P%x#P~$h_!Aj]'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P#]$h#]#^!Bc#^~$h_!Bj]'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P#n$h#n#o!Cc#o~$h_!Cj]'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P#X$h#X#Y!>g#Y~$h_!Dj_'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!R!Ei!R!S!Ei!S#O$h#O#P%x#P#R$h#R#S!Ei#S~$h_!ErcuX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!R!Ei!R!S!Ei!S#O$h#O#P%x#P#R$h#R#S!Ei#S#]$h#]#^!:w#^#i$h#i#j!:w#j~$h_!GU^'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!Y!HQ!Y#O$h#O#P%x#P#R$h#R#S!HQ#S~$h_!HZbuX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!Y!HQ!Y#O$h#O#P%x#P#R$h#R#S!HQ#S#]$h#]#^!:w#^#i$h#i#j!:w#j~$h_!Ijb'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q![!Jr![!c$h!c!i!Jr!i#O$h#O#P%x#P#R$h#R#S!Jr#S#T$h#T#Z!Jr#Z~$h_!J{fuX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q![!Jr![!c$h!c!i!Jr!i#O$h#O#P%x#P#R$h#R#S!Jr#S#T$h#T#Z!Jr#Z#]$h#]#^!:w#^#i$h#i#j!:w#j~$h_!Lj]!SX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q![$h![!]!Mc!]#O$h#O#P%x#P~$h_!MlZdX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h_!NhZyX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h_# d^#RX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!^$h!^!_#!`!_!`3u!`#O$h#O#P%x#P~$h_#!i]'yX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!_$h!_!`:n!`#O$h#O#P%x#P~$h_##k^oX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!_$h!_!`3u!`!a#$g!a#O$h#O#P%x#P~$h_#$pZ#TX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h_#%l^#RX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!_$h!_!`3u!`!a#&h!a#O$h#O#P%x#P~$h_#&q]'zX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!_$h!_!`:n!`#O$h#O#P%x#P~$h_#'sZ(RX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$hV#(oZ'qP'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h_#)mh'`Q'PS!{W'UPOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q![#)b![!c$h!c!}#)b!}#O$h#O#P%x#P#R$h#R#S#)b#S#T$h#T#o#)b#o${$h${$|#)b$|4w$h4w5b#)b5b5i$h5i6S#)b6S~$h_#+bZ[X'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$hU#,YX'PSOz#,uz{#-]{!P#,u!P!Q#-q!Q#i#,u#i#j#.S#j#l#,u#l#m#2z#m~#,uU#,|TrQ'PSOz%xz{&^{!P%x!P!Q'S!Q~%xU#-bTrQOz&pz{&^{!P&p!P!Q({!Q~&pU#-vSrQOz&p{!P&p!P!Q'c!Q~&pU#.X['PSOz%xz{&^{!P%x!P!Q'S!Q![#.}![!c%x!c!i#.}!i#T%x#T#Z#.}#Z#o%x#o#p#1[#p~%xU#/SY'PSOz%xz{&^{!P%x!P!Q'S!Q![#/r![!c%x!c!i#/r!i#T%x#T#Z#/r#Z~%xU#/wY'PSOz%xz{&^{!P%x!P!Q'S!Q![#0g![!c%x!c!i#0g!i#T%x#T#Z#0g#Z~%xU#0lY'PSOz%xz{&^{!P%x!P!Q'S!Q![#,u![!c%x!c!i#,u!i#T%x#T#Z#,u#Z~%xU#1aY'PSOz%xz{&^{!P%x!P!Q'S!Q![#2P![!c%x!c!i#2P!i#T%x#T#Z#2P#Z~%xU#2U['PSOz%xz{&^{!P%x!P!Q'S!Q![#2P![!c%x!c!i#2P!i#T%x#T#Z#2P#Z#q%x#q#r#,u#r~%xU#3PY'PSOz%xz{&^{!P%x!P!Q'S!Q![#3o![!c%x!c!i#3o!i#T%x#T#Z#3o#Z~%xU#3tY'PSOz%xz{&^{!P%x!P!Q'S!Q![#,u![!c%x!c!i#,u!i#T%x#T#Z#,u#Z~%x_#4mZXX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h_#5i]'{X'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!_$h!_!`:n!`#O$h#O#P%x#P~$h_#6mj'`Q'PS!{W'UPOY$hYZ%bZr$hrs#8_sw$hwx#8uxz$hz{)Q{!P$h!P!Q*p!Q![#)b![!c$h!c!}#)b!}#O$h#O#P%x#P#R$h#R#S#)b#S#T$h#T#o#)b#o${$h${$|#)b$|4w$h4w5b#)b5b5i$h5i6S#)b6S~$h]#8fT'PS'_XOz%xz{&^{!P%x!P!Q'S!Q~%x_#8|]'`Q'PSOY?dYZA`Zr?drsBdsw?dwx@dxz?dz{CO{!P?d!P!QDv!Q#O?d#O#PId#P~?d_#:Qi'`Q'PS!{W'UPOY$hYZ%bZr$hrs%xst#;otz$hz{)Q{!P$h!P!Q*p!Q![#)b![!c$h!c!}#)b!}#O$h#O#P%x#P#R$h#R#S#)b#S#T$h#T#o#)b#o${$h${$|#)b$|4w$h4w5b#)b5b5i$h5i6S#)b6S~$hV#;vg'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!c$h!c!}#=_!}#O$h#O#P%x#P#R$h#R#S#=_#S#T$h#T#o#=_#o${$h${$|#=_$|4w$h4w5b#=_5b5i$h5i6S#=_6S~$hV#=hh'`Q'PS'UPOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q![#=_![!c$h!c!}#=_!}#O$h#O#P%x#P#R$h#R#S#=_#S#T$h#T#o#=_#o${$h${$|#=_$|4w$h4w5b#=_5b5i$h5i6S#=_6S~$h_#?]ZwX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h_#@X_'sX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q!_$h!_!`:n!`#O$h#O#P%x#P#p$h#p#q#AW#q~$h_#AaZ'|X'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h_#B]ZvX'`Q'PSOY$hYZ%bZr$hrs%xsz$hz{)Q{!P$h!P!Q*p!Q#O$h#O#P%x#P~$h",tokenizers:[closureParam,tpDelim,literalTokens,0,1,2,3],topRules:{SourceFile:[0,8]},specialized:[{term:282,get:O=>spec_identifier[O]||-1}],tokenPrec:15890}),rustLanguage=LezerLanguage.define({parser:parser.configure({props:[indentNodeProp.add({IfExpression:continuedIndent({except:/^\s*({|else\b)/}),"String BlockComment":()=>-1,"Statement MatchArm":continuedIndent()}),foldNodeProp.add(O=>/(Block|edTokens|List)$/.test(O.name)?foldInside:"BlockComment"==O.name?O=>({from:O.from+2,to:O.to-2}):void 0),styleTags({"const macro_rules mod struct union enum type fn impl trait let use crate static":tags.definitionKeyword,"pub unsafe async mut extern default move":tags.modifier,"for if else loop while match continue break return await":tags.controlKeyword,"as in ref":tags.operatorKeyword,"where _ crate super dyn":tags.keyword,self:tags.self,String:tags.string,RawString:tags.special(tags.string),Boolean:tags.bool,Identifier:tags.variableName,"CallExpression/Identifier":tags.function(tags.variableName),BoundIdentifier:tags.definition(tags.variableName),LoopLabel:tags.labelName,FieldIdentifier:tags.propertyName,"CallExpression/FieldExpression/FieldIdentifier":tags.function(tags.propertyName),Lifetime:tags.special(tags.variableName),ScopeIdentifier:tags.namespace,TypeIdentifier:tags.typeName,"MacroInvocation/Identifier MacroInvocation/ScopedIdentifier/Identifier":tags.macroName,"MacroInvocation/TypeIdentifier MacroInvocation/ScopedIdentifier/TypeIdentifier":tags.macroName,'"!"':tags.macroName,UpdateOp:tags.updateOperator,LineComment:tags.lineComment,BlockComment:tags.blockComment,Integer:tags.integer,Float:tags.float,ArithOp:tags.arithmeticOperator,LogicOp:tags.logicOperator,BitOp:tags.bitwiseOperator,CompareOp:tags.compareOperator,"=":tags.definitionOperator,".. ... => ->":tags.punctuation,"( )":tags.paren,"[ ]":tags.squareBracket,"{ }":tags.brace,".":tags.derefOperator,"&":tags.operator,", ; ::":tags.separator})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:\{|\})$/}});function rust(){return new LanguageSupport(rustLanguage)}export{rust,rustLanguage};
diff --git a/typecho/write/dist/index-9567a91c.js b/typecho/write/dist/index-9567a91c.js
new file mode 100644
index 0000000..af562a0
--- /dev/null
+++ b/typecho/write/dist/index-9567a91c.js
@@ -0,0 +1 @@
+import{C as ContextTracker,E as ExternalTokenizer,P as Parser,o as NodeProp,j as LezerLanguage,e as indentNodeProp,h as foldNodeProp,a as styleTags,t as tags,n as LanguageSupport,s as syntaxTree}from"./index.js";const StartTag=1,StartCloseTag=2,mismatchedStartCloseTag=3,incompleteStartCloseTag=4,commentContent=35,piContent=36,cdataContent=37,Element$1=9,OpenTag=11;function nameChar(e){return 45==e||46==e||58==e||65<=e&&e<=90||95==e||97<=e&&e<=122||161<=e}function isSpace(e){return 9==e||10==e||13==e||32==e}let cachedName=null,cachedInput=null,cachedPos=0;function tagNameAfter(e,t){if(cachedPos==t&&cachedInput==e)return cachedName;let O=e.get(t);for(;isSpace(O);)O=e.get(++t);for(var a=t;nameChar(O);)O=e.get(++t);return cachedInput=e,cachedPos=t,cachedName=a{let a=t.start;if(60==e.get(a++)){var n=e.get(a);if(47==n){a++;var r=tagNameAfter(e,a);if(!r)return t.accept(incompleteStartCloseTag,a);if(O.context&&r==O.context.name)return t.accept(StartCloseTag,a);for(let e=O.context;e;e=e.parent)if(e.name==r)return;t.accept(mismatchedStartCloseTag,a)}else if(33!=n&&63!=n)return t.accept(StartTag,a)}});function scanTo(r,o){return new ExternalTokenizer((e,t)=>{let O=t.start,a=0;for(;;){var n=e.get(O);if(n<0)break;if(O++,n==o.charCodeAt(a)){if(a++,a==o.length){O-=o.length;break}}else a=0}O>t.start&&t.accept(r,O)})}const commentContent$1=scanTo(commentContent,"--\x3e"),piContent$1=scanTo(piContent,"?>"),cdataContent$1=scanTo(cdataContent,"?>"),parser=Parser.deserialize({version:13,states:"-OOQOaOOOcObO'#CbOkOdO'#CcOOOP'#Cu'#CuOsOaO'#DSO!XOaOOOOOQ'#Cv'#CvO!aObO,58|OOOP,58|,58|OOOS'#Cw'#CwO!iOdO,58}OOOP,58},58}OOOP-E6s-E6sO!qO`O'#CgO!yOqO'#CeOOOP'#Ce'#CeO#kOaO'#CxQ#|OPOOO$ROaOOOOOQ-E6t-E6tOOOP1G.h1G.hOOOS-E6u-E6uOOOP1G.i1G.iOOOO'#Cy'#CyO$aO`O,59RO$iO!bO,59RO$wOhO'#CpO%PO`O'#CqOOOP'#D['#D[OOOP'#C|'#C|O!yOqO,59PO%XO`O'#CrOOOP,59P,59POOOP,59d,59dOOOP-E6v-E6vO#|OPOOOOOO-E6w-E6wO%aO!bO1G.mO%aO!bO1G.mO%oO`O'#CiO%wO!bO'#CzO&VO!bO1G.mOOOP1G.m1G.mOOOP1G.z1G.zOOOW'#C}'#C}O&bOhO,59[OOOP,59[,59[O&jO`O,59]O&rO`O,59]OOOP-E6z-E6zOOOP1G.k1G.kO&zO`O,59^O'SO`O,59^O'[O!bO7+$XO'jO!bO7+$XOOOP7+$X7+$XOOOP7+$f7+$fO'uO`O,59TO'}O`O,59TO(VO!bO,59fOOOO-E6x-E6xOOOW-E6{-E6{OOOP1G.v1G.vO(eO`O1G.wO(eO`O1G.wOOOP1G.w1G.wO(mO`O1G.xO(mO`O1G.xOOOP1G.x1G.xO(uO!bO<U!a!b>q!b!c$k!c!}+z!}#P$k#P#Q?}#Q#R$k#R#S+z#S#T$k#T#o+z#o%W$k%W%o+z%o%p$k%p&a+z&a&b$k&b1p+z1p4U$k4U4d+z4d4e$k4e$IS+z$IS$I`$k$I`$Ib+z$Ib$Kh$k$Kh%#t+z%#t&/x$k&/x&Et+z&Et&FV$k&FV;'S+z;'S;:jAz;:j?&r$k?&r?Ah+z?Ah?BY$k?BY?Mn+z?Mn~$kY$rUcQ}WOr$krs%Usv$kw!^$k!^!_%d!_~$kQ%ZRcQOv%Uw!^%U!_~%UW%iR}WOr%dsv%dw~%d_%{]cQ}WyTOX$kXY%rYZ%rZ]$k]^%r^p$kpq%rqr$krs%Usv$kw!^$k!^!_%d!_~$kZ&{R|XcQOv%Uw!^%U!_~%U~'XTOp'hqs'hst(Pt!]'h!^~'h~'kTOp'hqs'ht!]'h!]!^'z!^~'h~(POa~~(SROp(]q!](]!^~(]~(`SOp(]q!](]!]!^(l!^~(]~(qOb~Z(xWcQ}WOr$krs%Usv$kw}$k}!O)b!O!^$k!^!_%d!_~$kZ)iWcQ}WOr$krs%Usv$kw!^$k!^!_%d!_!`$k!`!a*R!a~$kZ*[UwPcQ}WOr$krs%Usv$kw!^$k!^!_%d!_~$k^*uWcQ}WOr$krs%Usv$kw!^$k!^!_%d!_!`$k!`!a+_!a~$k^+hUgScQ}WOr$krs%Usv$kw!^$k!^!_%d!_~$k_,V}^S[PcQ}WOr$krs%Usv$kw}$k}!O+z!O!P+z!P!Q$k!Q![+z![!]+z!]!^$k!^!_%d!_!c$k!c!}+z!}#R$k#R#S+z#S#T$k#T#o+z#o$}$k$}%O+z%O%W$k%W%o+z%o%p$k%p&a+z&a&b$k&b1p+z1p4U+z4U4d+z4d4e$k4e$IS+z$IS$I`$k$I`$Ib+z$Ib$Je$k$Je$Jg+z$Jg$Kh$k$Kh%#t+z%#t&/x$k&/x&Et+z&Et&FV$k&FV;'S+z;'S;:j/S;:j?&r$k?&r?Ah+z?Ah?BY$k?BY?Mn+z?Mn~$k_/ZWcQ}WOr$krs%Usv$kw!^$k!^!_%d!_;=`$k;=`<%l+z<%l~$kZ/xU}WOq%dqr0[sv%dw!a%d!a!b=X!b~%dZ0aZ}WOr%dsv%dw}%d}!O1S!O!f%d!f!g1x!g!}%d!}#O5s#O#W%d#W#X:k#X~%dZ1XT}WOr%dsv%dw}%d}!O1h!O~%dZ1oRxR}WOr%dsv%dw~%dX1}T}WOr%dsv%dw!q%d!q!r2^!r~%dX2cT}WOr%dsv%dw!e%d!e!f2r!f~%dX2wT}WOr%dsv%dw!v%d!v!w3W!w~%dX3]T}WOr%dsv%dw!{%d!{!|3l!|~%dX3qT}WOr%dsv%dw!r%d!r!s4Q!s~%dX4VT}WOr%dsv%dw!g%d!g!h4f!h~%dX4kV}WOr4frs5Qsv4fvw5Qw!`4f!`!a5c!a~4fP5TRO!`5Q!`!a5^!a~5QP5cOWPX5jRWP}WOr%dsv%dw~%dY5xV}WOr%dsv%dw!e%d!e!f6_!f#V%d#V#W8w#W~%dY6dT}WOr%dsv%dw!f%d!f!g6s!g~%dY6xT}WOr%dsv%dw!c%d!c!d7X!d~%dY7^T}WOr%dsv%dw!v%d!v!w7m!w~%dY7rT}WOr%dsv%dw!c%d!c!d8R!d~%dY8WT}WOr%dsv%dw!}%d!}#O8g#O~%dY8nR}W!QQOr%dsv%dw~%dY8|T}WOr%dsv%dw#W%d#W#X9]#X~%dY9bT}WOr%dsv%dw#T%d#T#U9q#U~%dY9vT}WOr%dsv%dw#h%d#h#i:V#i~%dY:[T}WOr%dsv%dw#T%d#T#U8R#U~%dX:pT}WOr%dsv%dw#c%d#c#d;P#d~%dX;UT}WOr%dsv%dw#V%d#V#W;e#W~%dX;jT}WOr%dsv%dw#h%d#h#i;y#i~%dX_UYTcQ}WOr$krs%Usv$kw!^$k!^!_%d!_~$kZ>xWcQ}WOr$krs%Usv$kw!^$k!^!_%d!_!`$k!`!a?b!a~$kZ?kUzPcQ}WOr$krs%Usv$kw!^$k!^!_%d!_~$kZ@UWcQ}WOr$krs%Usv$kw!^$k!^!_%d!_#P$k#P#Q@n#Q~$kZ@uWcQ}WOr$krs%Usv$kw!^$k!^!_%d!_!`$k!`!aA_!a~$kZAhU!PPcQ}WOr$krs%Usv$kw!^$k!^!_%d!_~$k_BRWcQ}WOr$krs%Usv$kw!^$k!^!_%d!_;=`$k;=`<%l+z<%l~$k",tokenizers:[startTag,commentContent$1,piContent$1,cdataContent$1,0,1,2,3],topRules:{Document:[0,5]},tokenPrec:0});function tagName(e,t){t=t&&t.getChild("TagName");return t?e.sliceString(t.from,t.to):""}function elementName(e,t){t=t&&t.firstChild;return t&&"OpenTag"==t.name?tagName(e,t):""}function attrName(e,t,O){let a=t&&t.getChildren("Attribute").find(e=>e.from<=O&&e.to>=O);t=a&&a.getChild("AttributeName");return t?e.sliceString(t.from,t.to):""}function findParentElement(t){for(let e=t&&t.parent;e;e=e.parent)if("Element"==e.name)return e;return null}function findLocation(e,t){var O;let a=syntaxTree(e).resolve(t,-1),n=null;for(let e=a;!n&&e.parent;e=e.parent)"OpenTag"!=e.name&&"CloseTag"!=e.name&&"SelfClosingTag"!=e.name&&"MismatchedCloseTag"!=e.name||(n=e);if(n&&(n.to>t||n.lastChild.type.isError)){var r=n.parent;if("TagName"==a.name)return"CloseTag"==n.name||"MismatchedCloseTag"==n.name?{type:"closeTag",from:a.from,context:r}:{type:"openTag",from:a.from,context:findParentElement(r)};if("AttributeName"==a.name)return{type:"attrName",from:a.from,context:n};if("AttributeValue"==a.name)return{type:"attrValue",from:a.from,context:n};e=a==n||"Attribute"==a.name?a.childBefore(t):a;return"StartTag"==(null==e?void 0:e.name)?{type:"openTag",from:t,context:findParentElement(r)}:"StartCloseTag"==(null==e?void 0:e.name)&&e.to<=t?{type:"closeTag",from:t,context:r}:"Is"==(null==e?void 0:e.name)?{type:"attrValue",from:t,context:n}:e?{type:"attrName",from:t,context:n}:null}if("StartCloseTag"==a.name)return{type:"closeTag",from:t,context:a.parent};for(;a.parent&&a.to==t&&(null===(O=a.lastChild)||void 0===O||!O.type.isError);)a=a.parent;return"Element"==a.name||"Text"==a.name||"Document"==a.name?{type:"tag",from:t,context:"Element"==a.name?a:findParentElement(a)}:null}class Element{constructor(e,t,O){this.attrs=t,this.attrValues=O,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:""+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(e=>({label:e,type:"text"})):[]}}const Identifier=/^[:\-\.\w\u00b7-\uffff]*$/;function attrCompletion(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function valueCompletion(e){return"string"==typeof e?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function completeFromSchema(a,e){let n=[],i=[],c=Object.create(null);for(var t of e){var O=attrCompletion(t);n.push(O),t.global&&i.push(O),t.values&&(c[t.name]=t.values.map(valueCompletion))}let m=[],g=[],p=Object.create(null);for(var r of a){let e=i,O=c;r.attributes&&(e=e.concat(r.attributes.map(t=>"string"==typeof t?n.find(e=>e.label==t)||{label:t,type:"property"}:(t.values&&(O==c&&(O=Object.create(O)),O[t.name]=t.values.map(valueCompletion)),attrCompletion(t)))));var o=new Element(r,e,O);p[o.name]=o,m.push(o),r.top&&g.push(o)}g.length||(g=m);for(let O=0;O{let{doc:o}=r.state,e=findLocation(r.state,r.pos);if(!e||"tag"==e.type&&!r.explicit)return null;var{type:t,from:s,context:l}=e;if("openTag"==t){let e=g;var O,a=elementName(o,l);return a&&(O=p[a],e=(null==O?void 0:O.children)||m),{from:s,options:e.map(e=>e.completion),span:Identifier}}if("closeTag"==t){var n=elementName(o,l);return n?{from:s,to:r.pos+(">"==o.sliceString(r.pos,r.pos+1)?1:0),options:[(null===(O=p[n])||void 0===O?void 0:O.closeNameCompletion)||{label:n+">",type:"type"}],span:Identifier}:null}if("attrName"==t){var d=p[tagName(o,l)];return{from:s,options:(null==d?void 0:d.attrs)||i,span:Identifier}}if("attrValue"==t){n=attrName(o,l,s);if(!n)return null;d=p[tagName(o,l)],n=((null==d?void 0:d.attrValues)||c)[n];return n&&n.length?{from:s,to:r.pos+('"'==o.sliceString(r.pos,r.pos+1)?1:0),options:n,span:/^"[^"]*"?$/}:null}if("tag"!=t)return null;{let e=elementName(o,l),t=p[e],O=[],a=l&&l.lastChild;!e||a&&"CloseTag"==a.name&&tagName(o,a)==e||O.push(t?t.closeCompletion:{label:""+e+">",type:"type",boost:2});let n=O.concat(((null===t||void 0===t?void 0:t.children)||(l?m:g)).map(e=>e.openCompletion));return l&&null!==t&&void 0!==t&&t.text.length&&((l=l.firstChild).to>r.pos-20&&!/\S/.test(r.state.sliceDoc(l.to,r.pos))&&(n=n.concat(t.text))),{from:s,options:n,span:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}}}const xmlLanguage=LezerLanguage.define({parser:parser.configure({props:[indentNodeProp.add({Element(e){var t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.state.doc.lineAt(e.node.from))+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),foldNodeProp.add({Element(e){var t=e.firstChild,O=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==O.name?O.from:e.to}:null}}),styleTags({AttributeValue:tags.string,Text:tags.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":tags.angleBracket,TagName:tags.tagName,"MismatchedCloseTag/Tagname":[tags.tagName,tags.invalid],AttributeName:tags.propertyName,UnquotedAttributeValue:tags.string,Is:tags.definitionOperator,"EntityReference CharacterReference":tags.character,Comment:tags.blockComment,ProcessingInst:tags.processingInstruction,DoctypeDecl:tags.documentMeta,Cdata:tags.special(tags.string)})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/$/}});function xml(e={}){return new LanguageSupport(xmlLanguage,xmlLanguage.data.of({autocomplete:completeFromSchema(e.elements||[],e.attributes||[])}))}export{completeFromSchema,xml,xmlLanguage};
diff --git a/typecho/write/dist/index-a879143b.js b/typecho/write/dist/index-a879143b.js
new file mode 100644
index 0000000..5aee35d
--- /dev/null
+++ b/typecho/write/dist/index-a879143b.js
@@ -0,0 +1 @@
+import{P as Parser,j as LezerLanguage,e as indentNodeProp,f as continuedIndent,h as foldNodeProp,q as foldInside,a as styleTags,n as LanguageSupport,t as tags}from"./index.js";const parser=Parser.deserialize({version:13,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CcOvQPO'#CfOOQO'#Cl'#ClQOQPOOOOQO'#Ce'#CeO}QPO'#CdO!SQPO'#CpOOQO,58},58}O![QPO,58}O!aQPO'#CuOOQO,59Q,59QO!iQPO,59QOVQPO,59OO!nQPO'#CgO!sQPO,59[OOQO1G.i1G.iOVQPO'#ChO!{QPO,59aOOQO1G.l1G.lOOQO1G.j1G.jOOQO,59R,59ROOQO-E6e-E6eOOQO,59S,59SOOQO-E6f-E6f",stateData:"#T~O_OS~OQSORSOSSOTSOaPOcQOhRO~OaUObXO~Og[O~PVOe^O~Of_ObdX~ObaO~OfbOgiX~OgdO~OaUO~Of_Obda~OfbOgia~O",goto:"!kjPPPPPPkkqwk{!RPPP!XPPP!ePPPP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String Object Property PropertyName Array",maxTerm:25,skippedNodes:[0],repeatNodeCount:2,tokenData:"(p~RaXY!WYZ!W]^!Wpq!Wrs!]|}$i}!O$n!Q!R$w!R![&V![!]&h!}#O&m#P#Q&r#Y#Z&w#b#c'f#h#i'}#o#p(f#q#r(k~!]O_~~!`Upq!]qr!]rs!rs#O!]#O#P!w#P~!]~!wOa~~!zXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#g~#jR!Q![#s!c!i#s#T#Z#s~#vR!Q![$P!c!i$P#T#Z$P~$SR!Q![$]!c!i$]#T#Z$]~$`R!Q![!]!c!i!]#T#Z!]~$nOf~~$qQ!Q!R$w!R![&V~$|RT~!O!P%V!g!h%k#X#Y%k~%YP!Q![%]~%bRT~!Q![%]!g!h%k#X#Y%k~%nR{|%w}!O%w!Q![%}~%zP!Q![%}~&SPT~!Q![%}~&[ST~!O!P%V!Q![&V!g!h%k#X#Y%k~&mOe~~&rOh~~&wOg~~&zP#T#U&}~'QP#`#a'T~'WP#g#h'Z~'^P#X#Y'a~'fOR~~'iP#i#j'l~'oP#`#a'r~'uP#`#a'x~'}OS~~(QP#f#g(T~(WP#i#j(Z~(^P#X#Y(a~(fOQ~~(kOc~~(pOb~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),jsonParseLinter=()=>O=>{try{JSON.parse(O.state.doc.toString())}catch(e){if(!(e instanceof SyntaxError))throw e;O=getErrorPosition(e,O.state.doc);return[{from:O,message:e.message,severity:"error",to:O}]}return[]};function getErrorPosition(e,O){let a;return(a=e.message.match(/at position (\d+)/))?Math.min(+a[1],O.length):(a=e.message.match(/at line (\d+) column (\d+)/))?Math.min(O.line(+a[1]).from+ +a[2]-1,O.length):0}const jsonLanguage=LezerLanguage.define({parser:parser.configure({props:[indentNodeProp.add({Object:continuedIndent({except:/^\s*\}/}),Array:continuedIndent({except:/^\s*\]/})}),foldNodeProp.add({"Object Array":foldInside}),styleTags({String:tags.string,Number:tags.number,"True False":tags.bool,PropertyName:tags.propertyName,null:tags.null,",":tags.separator,"[ ]":tags.squareBracket,"{ }":tags.brace})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function json(){return new LanguageSupport(jsonLanguage)}export{json,jsonLanguage,jsonParseLinter};
diff --git a/typecho/write/dist/index-ec1dad61.js b/typecho/write/dist/index-ec1dad61.js
new file mode 100644
index 0000000..45deefa
--- /dev/null
+++ b/typecho/write/dist/index-ec1dad61.js
@@ -0,0 +1 @@
+import{E as ExternalTokenizer,P as Parser,e as indentNodeProp,f as continuedIndent,h as foldNodeProp,a as styleTags,t as tags,j as LezerLanguage,k as ifNotIn,m as completeFromList,n as LanguageSupport,s as syntaxTree}from"./index.js";const whitespace=34,LineComment=1,BlockComment=2,String=3,Number=4,Bool=5,Null=6,ParenL=7,ParenR=8,BraceL=9,BraceR=10,BracketL=11,BracketR=12,Semi=13,Dot=14,Operator=15,Punctuation=16,SpecialVar=17,Identifier=18,QuotedIdentifier=19,Keyword=20,Type=21,Builtin=22;function isAlpha(e){return 65<=e&&e<=90||97<=e&&e<=122||48<=e&&e<=57}function isHexDigit(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70}function readLiteral(t,r,a,i){for(let e=!1;;){var n=t.get(r++);if(n<0)return r-1;if(n==a&&!e)return r;e=i&&!e&&92==n}}function readWord(e,t){for(;;t++){var r=e.get(t);if(95!=r&&!isAlpha(r))break}return t}function readWordOrQuoted(e,t){var r=e.get(t);return 39==r||34==r||96==r?readLiteral(e,t+1,r,!1):readWord(e,t)}function readNumber(e,t,r){let a;for(;;t++)if(a=e.get(t),46==a){if(r)break;r=!0}else if(a<48||57!=&|~^/",specialVar:"?",identifierQuotes:'"',words:keywords(SQLKeywords,SQLTypes)};function dialect(e,t,r,a){let i={};for(var n in defaults)i[n]=(e.hasOwnProperty(n)?e:defaults)[n];return t&&(i.words=keywords(t,r||"",a)),i}function tokensFor(l){return new ExternalTokenizer((a,e)=>{let i=e.start,t=a.get(i++),r=a.get(i);if(inString(t,Space)){for(;inString(a.get(i),Space);)i++;e.accept(whitespace,i)}else if(39==t||34==t&&l.doubleQuotedStrings)e.accept(String,readLiteral(a,i,t,l.backslashEscapes));else if(35==t&&l.hashComments||47==t&&47==r&&l.slashComments)e.accept(LineComment,eol(a,i));else if(45!=t||45!=r||l.spaceAfterDashes&&32!=a.get(i+1))if(47==t&&42==r){i++;for(let t=-1,r=1;;){let e=a.get(i++);if(e<0){i--;break}if(42==t&&47==e){if(r--,!r)break;e=-1}else 47==t&&42==e&&(r++,e=-1);t=e}e.accept(BlockComment,i)}else if(101!=t&&69!=t||39!=r)if(110!=t&&78!=t||39!=r||!l.charSetCasts)if(95==t&&l.charSetCasts)for(;;){var n=a.get(i++);if(39==n&&i>e.start+2){e.accept(String,readLiteral(a,i,39,l.backslashEscapes));break}if(!isAlpha(n))break}else if(40==t)e.accept(ParenL,i);else if(41==t)e.accept(ParenR,i);else if(123==t)e.accept(BraceL,i);else if(125==t)e.accept(BraceR,i);else if(91==t)e.accept(BracketL,i);else if(93==t)e.accept(BracketR,i);else if(59==t)e.accept(Semi,i);else if(48==t&&(98==r||66==r)||(98==t||66==t)&&39==r){var o=39==r;for(i++;48==(t=a.get(i))||49==t;)i++;o&&39==t&&i++,e.accept(Number,i)}else if(48==t&&(120==r||88==r)||(120==t||88==t)&&39==r){var s=39==r;for(i++;isHexDigit(t=a.get(i));)i++;s&&39==t&&i++,e.accept(Number,i)}else if(46==t&&48<=r&&r<=57)e.accept(Number,readNumber(a,i+1,!0));else if(46==t)e.accept(Dot,i);else if(48<=t&&t<=57)e.accept(Number,readNumber(a,i,!1));else if(inString(t,l.operatorChars)){for(;inString(a.get(i),l.operatorChars);)i++;e.accept(Operator,i)}else inString(t,l.specialVar)?e.accept(SpecialVar,readWordOrQuoted(a,r==t?i+1:i)):inString(t,l.identifierQuotes)?e.accept(QuotedIdentifier,readLiteral(a,i,t,!1)):58==t||44==t?e.accept(Punctuation,i):isAlpha(t)&&(i=readWord(a,i),e.accept(null!==(s=l.words[a.read(e.start,i).toLowerCase()])&&void 0!==s?s:Identifier,i));else e.accept(String,readLiteral(a,i+1,39,l.backslashEscapes));else e.accept(String,readLiteral(a,i+1,39,!0));else e.accept(LineComment,eol(a,i+1))})}const tokens=tokensFor(defaults),parser=Parser.deserialize({version:13,states:"%dQ]QQOOO#kQRO'#DQO#rQQO'#CuO%RQQO'#CvO%YQQO'#CwO%aQQO'#CxOOQQ'#DQ'#DQOOQQ'#C{'#C{O&lQRO'#CyOOQQ'#Ct'#CtOOQQ'#Cz'#CzQ]QQOOQOQQOOO&vQQO,59aO'RQQO,59aO'WQQO'#DQOOQQ,59b,59bO'eQQO,59bOOQQ,59c,59cO'lQQO,59cOOQQ,59d,59dO'sQQO,59dOOQQ-E6y-E6yOOQQ,59`,59`OOQQ-E6x-E6xOOQQ'#C|'#C|OOQQ1G.{1G.{O&vQQO1G.{OOQQ1G.|1G.|OOQQ1G.}1G.}OOQQ1G/O1G/OP'zQQO'#C{POQQ-E6z-E6zOOQQ7+$g7+$g",stateData:"(R~OrOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUO~O^]ORtXStXTtXUtXVtXXtXZtX]tX_tX`tXatXbtXctXdtXetXftX~OqtX~P!dOa^Ob^Oc^O~ORUOSUOTUOUUOVROXSOZTO^QO_UO`UOa_Ob_Oc_OdUOeUOfUO~OW`O~P#}OYbO~P#}O[dO~P#}ORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUO~O]gOqmX~P%hOaiObiOciO~O^kO~OWtXYtX[tX~P!dOWlO~P#}OYmO~P#}O[nO~P#}O]gO~P#}O",goto:"#YuPPPPPPPPPPPPPPPPPPPPPPPPvzzzz!W![!b!vPPP!|TYOZeUORSTWZaceoT[OZQZORhZSWOZQaRQcSQeTZfWaceoQj]RqkeVORSTWZaceo",nodeNames:"⚠ LineComment BlockComment String Number Bool Null ( ) [ ] { } ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:36,skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,tokens],topRules:{Script:[0,23]},tokenPrec:0});function tokenBefore(e){let t=e.cursor.moveTo(e.from,-1);for(;/Comment/.test(t.name);)t.moveTo(t.from,-1);return t.node}function stripQuotes(e){var t=/^[`'"](.*)[`'"]$/.exec(e);return t?t[1]:e}function sourceContext(t,e){var r=syntaxTree(t).resolve(e,-1);let a=!1;if("Identifier"==r.name||"QuotedIdentifier"==r.name){a=!1;let e=null;var i=tokenBefore(r);return!i||"."!=i.name||((i=tokenBefore(i))&&"Identifier"==i.name||"QuotedIdentifier"==i.name)&&(e=stripQuotes(t.sliceDoc(i.from,i.to).toLowerCase())),{parent:e,from:r.from,quoted:"QuotedIdentifier"==r.name?t.sliceDoc(r.from,r.from+1):null}}if("."==r.name){r=tokenBefore(r);if(r&&"Identifier"==r.name||"QuotedIdentifier"==r.name)return{parent:stripQuotes(t.sliceDoc(r.from,r.to).toLowerCase()),from:e,quoted:null}}else a=!0;return{parent:null,from:e,quoted:null,empty:a}}function maybeQuoteCompletions(t,e){return t?e.map(e=>Object.assign(Object.assign({},e),{label:t+e.label+t,apply:void 0})):e}const Span=/^\w*$/,QuotedSpan=/^[`'"]?\w*[`'"]?$/;function completeFromSchema(e,t,r){let o=Object.create(null);for(var a in e)o[a]=e[a].map(e=>"string"==typeof e?{label:e,type:"property"}:e);let s=(t||Object.keys(o).map(e=>({label:e,type:"type"}))).concat(r&&o[r]||[]);return e=>{var{parent:t,from:r,quoted:a,empty:i}=sourceContext(e.state,e.pos);if(i&&!e.explicit)return null;let n=s;if(t){t=o[t];if(!t)return null;n=t}return{from:r,to:a&&e.state.sliceDoc(e.pos,e.pos+1)==a?e.pos+1:void 0,options:maybeQuoteCompletions(a,n),span:a?QuotedSpan:Span}}}function completeKeywords(t,r){var e=Object.keys(t).map(e=>({label:r?e.toUpperCase():e,type:t[e]==Type?"type":t[e]==Keyword?"keyword":"variable",boost:-1}));return ifNotIn(["QuotedIdentifier","SpecialVar","String","LineComment","BlockComment","."],completeFromList(e))}let parser$1=parser.configure({props:[indentNodeProp.add({Statement:continuedIndent()}),foldNodeProp.add({Statement(e){return{from:e.firstChild.to,to:e.to}},BlockComment(e){return{from:e.from+2,to:e.to-2}}}),styleTags({Keyword:tags.keyword,Type:tags.typeName,Builtin:tags.standard(tags.name),Bool:tags.bool,Null:tags.null,Number:tags.number,String:tags.string,Identifier:tags.name,QuotedIdentifier:tags.special(tags.string),SpecialVar:tags.special(tags.name),LineComment:tags.lineComment,BlockComment:tags.blockComment,Operator:tags.operator,"Semi Punctuation":tags.punctuation,"( )":tags.paren,"{ }":tags.brace,"[ ]":tags.squareBracket})]});class SQLDialect{constructor(e,t){this.dialect=e,this.language=t}get extension(){return this.language.extension}static define(e){var t=dialect(e,e.keywords,e.types,e.builtin),e=LezerLanguage.define({parser:parser$1.configure({tokenizers:[{from:tokens,to:tokensFor(t)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new SQLDialect(t,e)}}function keywordCompletion(e,t=!1){return e.language.data.of({autocomplete:completeKeywords(e.dialect.words,t)})}function schemaCompletion(e){return e.schema?(e.dialect||StandardSQL).language.data.of({autocomplete:completeFromSchema(e.schema,e.tables,e.defaultTable)}):[]}function sql(e={}){var t=e.dialect||StandardSQL;return new LanguageSupport(t.language,[schemaCompletion(e),keywordCompletion(t,!!e.upperCaseKeywords)])}const StandardSQL=SQLDialect.define({}),PostgreSQL=SQLDialect.define({charSetCasts:!0,operatorChars:"+-*/<>=~!@#%^&|`?",specialVar:"",keywords:SQLKeywords+"a abort abs absent access according ada admin aggregate alias also always analyse analyze array_agg array_max_cardinality asensitive assert assignment asymmetric atomic attach attribute attributes avg backward base64 begin_frame begin_partition bernoulli bit_length blocked bom c cache called cardinality catalog_name ceil ceiling chain char_length character_length character_set_catalog character_set_name character_set_schema characteristics characters checkpoint class class_origin cluster coalesce cobol collation_catalog collation_name collation_schema collect column_name columns command_function command_function_code comment comments committed concurrently condition_number configuration conflict connection_name constant constraint_catalog constraint_name constraint_schema contains content control conversion convert copy corr cost covar_pop covar_samp csv cume_dist current_catalog current_row current_schema cursor_name database datalink datatype datetime_interval_code datetime_interval_precision db debug defaults defined definer degree delimiter delimiters dense_rank depends derived detach detail dictionary disable discard dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue document dump dynamic_function dynamic_function_code element elsif empty enable encoding encrypted end_frame end_partition endexec enforced enum errcode error event every exclude excluding exclusive exp explain expression extension extract family file filter final first_value flag floor following force foreach fortran forward frame_row freeze fs functions fusion g generated granted greatest groups handler header hex hierarchy hint id ignore ilike immediately immutable implementation implicit import include including increment indent index indexes info inherit inherits inline insensitive instance instantiable instead integrity intersection invoker isnull k key_member key_type label lag last_value lead leakproof least length library like_regex link listen ln load location lock locked log logged lower m mapping matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text min minvalue mod mode more move multiset mumps name namespace nfc nfd nfkc nfkd nil normalize normalized nothing notice notify notnull nowait nth_value ntile nullable nullif nulls number occurrences_regex octet_length octets off offset oids operator options ordering others over overlay overriding owned owner p parallel parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partition pascal passing passthrough password percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding prepared print_strict_params procedural procedures program publication query quote raise range rank reassign recheck recovery refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex rename repeatable replace replica requiring reset respect restart restore result_oid returned_cardinality returned_length returned_octet_length returned_sqlstate returning reverse routine_catalog routine_name routine_schema routines row_count row_number rowtype rule scale schema_name schemas scope scope_catalog scope_name scope_schema security selective self sensitive sequence sequences serializable server server_name setof share show simple skip slice snapshot source specific_name sqlcode sqlerror sqrt stable stacked standalone statement statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time t table_name tables tablesample tablespace temp template ties token top_level_count transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex trigger_catalog trigger_name trigger_schema trim trim_array truncate trusted type types uescape unbounded uncommitted unencrypted unlink unlisten unlogged unnamed untyped upper uri use_column use_variable user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema vacuum valid validate validator value_of var_pop var_samp varbinary variable_conflict variadic verbose version versioning views volatile warning whitespace width_bucket window within wrapper xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate yes",types:SQLTypes+"bigint int8 bigserial serial8 varbit bool box bytea cidr circle precision float8 inet int4 json jsonb line lseg macaddr macaddr8 money numeric path pg_lsn point polygon float4 int2 smallserial serial2 serial serial4 text without zone with timetz timestamptz tsquery tsvector txid_snapshot uuid xml"}),MySQLKeywords="accessible algorithm analyze asensitive authors auto_increment autocommit avg avg_row_length binlog btree cache catalog_name chain change changed checkpoint checksum class_origin client_statistics coalesce code collations columns comment committed completion concurrent consistent contains contributors convert database databases day_hour day_microsecond day_minute day_second delay_key_write delayed delimiter des_key_file dev_pop dev_samp deviance directory disable discard distinctrow div dual dumpfile enable enclosed ends engine engines enum errors escaped even event events every explain extended fast field fields flush force found_rows fulltext grants handler hash high_priority hosts hour_microsecond hour_minute hour_second ignore ignore_server_ids import index index_statistics infile innodb insensitive insert_method install invoker iterate keys kill linear lines list load lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modify mutex mysql_errno no_write_to_binlog offline offset one online optimize optionally outfile pack_keys parser partition partitions password phase plugin plugins prev processlist profile profiles purge query quick range read_write rebuild recover regexp relaylog remove rename reorganize repair repeatable replace require resume rlike row_format rtree schedule schema_name schemas second_microsecond security sensitive separator serializable server share show slave slow snapshot soname spatial sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result ssl starting starts std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace terminated triggers truncate uncommitted uninstall unlock upgrade use use_frm user_resources user_statistics utc_date utc_time utc_timestamp variables views warnings xa xor year_month zerofill",MySQLTypes=SQLTypes+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int1 int2 int3 int4 int8 float4 float8 varbinary varcharacter precision datetime year unsigned signed",MySQLBuiltin="charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee",MySQL=SQLDialect.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:SQLKeywords+"group_concat "+MySQLKeywords,types:MySQLTypes,builtin:MySQLBuiltin}),MariaSQL=SQLDialect.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:SQLKeywords+"always generated groupby_concat hard persistent shutdown soft virtual "+MySQLKeywords,types:MySQLTypes,builtin:MySQLBuiltin}),MSSQL=SQLDialect.define({keywords:SQLKeywords+"trigger proc view index for add constraint key primary foreign collate clustered nonclustered declare exec go if use index holdlock nolock nowait paglock pivot readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot tablock tablockx unpivot updlock with",types:SQLTypes+"bigint smallint smallmoney tinyint money real text nvarchar ntext varbinary image cursor hierarchyid uniqueidentifier sql_variant xml table",builtin:"binary_checksum checksum connectionproperty context_info current_request_id error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big xact_state object_id",operatorChars:"*+-%<>!=^&|/",specialVar:"@"}),SQLite=SQLDialect.define({keywords:SQLKeywords+"abort analyze attach autoincrement conflict database detach exclusive fail glob ignore index indexed instead isnull notnull offset plan pragma query raise regexp reindex rename replace temp vacuum virtual",types:SQLTypes+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int2 int8 year unsigned signed real",builtin:"auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width",operatorChars:"*+-%<>!=&|/~",identifierQuotes:'`"',specialVar:"@:?$"}),Cassandra=SQLDialect.define({keywords:"add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime infinity NaN",types:SQLTypes+"ascii bigint blob counter frozen inet list map static text timeuuid tuple uuid varint",slashComments:!0}),PLSQL=SQLDialect.define({keywords:SQLKeywords+"abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work",builtin:"appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap",types:SQLTypes+"ascii bfile bfilename bigserial bit blob dec number nvarchar nvarchar2 serial smallint string text uid varchar2 xml",operatorChars:"*/+-%<>!=~",doubleQuotedStrings:!0,charSetCasts:!0});export{Cassandra,MSSQL,MariaSQL,MySQL,PLSQL,PostgreSQL,SQLDialect,SQLite,StandardSQL,keywordCompletion,schemaCompletion,sql};
diff --git a/typecho/write/dist/index-eddd0dfb.js b/typecho/write/dist/index-eddd0dfb.js
new file mode 100644
index 0000000..342870c
--- /dev/null
+++ b/typecho/write/dist/index-eddd0dfb.js
@@ -0,0 +1 @@
+import{P as Parser,o as NodeProp,j as LezerLanguage,e as indentNodeProp,f as continuedIndent,p as flatIndent,h as foldNodeProp,q as foldInside,a as styleTags,t as tags,n as LanguageSupport}from"./index.js";const spec_identifier={__proto__:null,true:34,false:34,null:40,void:44,byte:46,short:46,int:46,long:46,char:46,float:46,double:46,boolean:46,extends:60,super:62,class:74,this:76,new:82,public:98,protected:100,private:102,abstract:104,static:106,final:108,strictfp:110,default:112,synchronized:114,native:116,transient:118,volatile:120,throws:148,implements:158,interface:164,enum:174,instanceof:234,open:263,module:265,requires:270,transitive:272,exports:274,to:276,opens:278,uses:280,provides:282,with:284,package:288,import:292,if:304,else:306,while:310,for:314,assert:326,switch:330,case:336,do:340,break:344,continue:350,return:356,throw:362,try:366,catch:370,finally:378},parser=Parser.deserialize({version:13,states:"#'fQ]QPOOO&nQQO'#H[O)OQQO'#CbOOQO'#Cb'#CbO)VQPO'#CaOOQO'#Ha'#HaOOQO'#Ct'#CtO*oQPO'#D^O+YQQO'#HhOOQO'#Hh'#HhO-nQQO'#HcO-uQQO'#HcOOQO'#Hc'#HcOOQO'#Hb'#HbO-|QPO'#DTO0PQPO'#GlO1dQPO'#D^O2tQPO'#DyO)VQPO'#EZO2{QPO'#EZOOQO'#DU'#DUO4nQQO'#H_O6rQQO'#EdO6yQPO'#EcO7OQPO'#EeOOQO'#H`'#H`O5UQQO'#H`O8RQQO'#FfO8YQPO'#EvO8_QPO'#E{O8_QPO'#E}OOQO'#H_'#H_OOQO'#HW'#HWOOQO'#Gf'#GfOOQO'#HV'#HVO9lQPO'#FgOOQO'#HU'#HUOOQO'#Ge'#GeQ]QPOOOOQO'#Hn'#HnO9qQPO'#HnO9vQPO'#DzO9vQPO'#EUO9vQPO'#EPO:OQPO'#HkO:aQQO'#EeO)VQPO'#C`O:iQPO'#C`O)VQPO'#FaO:nQPO'#FcO:yQPO'#FiO:yQPO'#FlO;OQPO'#FnO8_QPO'#FtO:yQPO'#FvO]QPO'#F{O;TQPO'#F}O;]QPO'#GQO;eQPO'#GTO:yQPO'#GVO8_QPO'#GWO;lQPO'#GYOOQO'#H['#H[O<]QQO,58{OOQO'#HY'#HYOOQO'#Hd'#HdO>aQPO,59dO?fQPO,59xOOQO-E:d-E:dO)VQPO,58zO@VQPO,58zO)VQPO,5;{O@[QPO'#DOO@aQPO'#DOOOQO'#Gh'#GhOAjQQO,59iOOQO'#Dl'#DlOBuQPO'#HpOCPQPO'#DkOC_QPO'#HoOCgQPO,5<]OClQPO,59]ODVQPO'#CwOOQO,59b,59bOD^QPO,59aOFfQQO'#CbO)_QPO'#D^OG_QQO'#HhOGrQQO,59oOGyQPO'#DuOHXQPO'#HwOHaQPO,5:_OHfQPO,5:_OH|QPO,5;lOIXQPO'#IOOIdQPO,5;cOIiQPO,5=WOOQO-E:j-E:jOOQO,5:e,5:eOJ|QPO,5:eOKTQPO,5:uOKYQPO,5<]O)VQPO,5:uO9vQPO,5:fO9vQPO,5:pO9vQPO,5:kOKyQPO,59pOLQQPO,5:|OM_QPO,5;PO8_QPO,59TOMmQPO'#DWOOQO,5:},5:}OOQO'#Ek'#EkOOQO'#Em'#EmO8_QPO,5;TO8_QPO,5;TO8_QPO,5;TO8_QPO,5;TO8_QPO,5;TO8_QPO,5;TO8_QPO,5;dOOQO,5;g,5;gOOQO,5Y,5>YO! |QPO,5:fO!![QPO,5:pO!!dQPO,5:kO!!oQPO,5>VOGyQPO,5>VOKhQPO,59UO!!zQQO,58zO!#SQQO,5;{O!#[QQO,5;}O)VQPO,5;}O8_QPO'#DTO]QPO,5[O!.PQPO,5:VO9vQPO'#GnO!.WQPO,5>ZOOQO1G1w1G1wOOQO1G.w1G.wO!.qQPO'#CxO!/^QPO'#HhO!/kQPO'#CyO!/yQPO'#HgO!0RQPO,59cOOQO1G.{1G.{OD^QPO1G.{O!0iQPO,59dO!0vQQO'#H[O!1XQQO'#CbOOQO,5:a,5:aO9vQPO,5:bOOQO,5:`,5:`O!1jQQO,5:`OOQO1G/Z1G/ZO!1oQPO,5:aO!2QQPO'#GqO!2eQPO,5>cOOQO1G/y1G/yO!2mQPO'#DuO!3OQPO'#D^O!3VQPO1G/yOMtQPO'#GoO!3[QPO1G1WO8_QPO1G1WO9vQPO'#GwO!3dQPO,5>jOOQO1G0}1G0}OOQO1G0P1G0PO!3lQPO'#E[OOQO1G0a1G0aO!4]QPO1G1wOKTQPO1G0aO! |QPO1G0QO!![QPO1G0[O!!dQPO1G0VOOQO1G/[1G/[O!4bQQO1G.pO6yQPO1G0iO)VQPO1G0iO:OQPO'#HkO!6UQQO1G.pOOQO1G.p1G.pO!7XQQO1G0hOOQO1G0k1G0kO!7`QPO1G0kO!7kQQO1G.oO!8OQQO'#HlO!8]QPO,59rO!9iQQO1G0oO!:}QQO1G0oO!PQQO1G0oO!>^QQO1G1OO!>eQQO'#HhOOQO1G0z1G0zO!?hQQO1G0|OOQO1G0|1G0|OOQO1G1m1G1mOK]QPO'#DpO!AfQPO'#DZOMtQPO'#D{OMtQPO'#D|OOQO1G0Q1G0QO!AmQPO1G0QO!ArQPO1G0QO!AzQPO1G0QO!BVQPO'#EWOOQO1G0[1G0[O!BjQPO1G0[O!BoQPO'#ESOMtQPO'#EROOQO1G0V1G0VO!CiQPO1G0VO!CnQPO1G0VO!CvQPO'#EgO!C}QPO'#EgOOQO'#Gv'#GvO!DVQQO1G0lO!EvQQO1G3qO6yQPO1G3qO!GuQPO'#FVOOQO1G.f1G.fOOQO1G1g1G1gO!G|QPO1G1iOOQO1G1i1G1iO!HXQQO1G1iO!HaQPO1G1oOOQO1G1r1G1rO)_QPO'#D^O+YQQO,5<_OGyQPO,5<_O!LRQPO,5<[O!LYQPO,5<[OOQO1G1t1G1tOOQO1G1x1G1xOOQO1G1z1G1zO8_QPO1G1zO# vQPO'#FxOOQO1G1|1G1|O:yQPO1G2ROOQO1G2T1G2TOOQO1G2W1G2WOOQO1G2Z1G2ZOOQO1G2]1G2]OOQO1G2^1G2^O#!uQQO'#H[O#!|QQO'#CbO+YQQO'#HhO##wQQOOO#$eQQO'#EdO#$SQQO'#H`OGyQPO'#GdO#$lQPO,5<}OOQO'#HO'#HOO#$tQPO1G2`O#(lQPO'#G[O;oQPO'#G`OOQO1G2`1G2`O#(qQPO1G2hOOQO1G.i1G.iO#-sQQO'#EdO#.QQQO'#H^O#.bQPO'#FROOQO'#H^'#H^O#.lQPO'#H^O#/ZQPO'#IRO#/cQPO,59SO#/hQPO,59jOOQO7+$Q7+$QO!!zQQO7+$QOOQO7+'R7+'ROOQO-E:g-E:gO#0|QQO1G/UO#1|QPO'#DnO#2WQQO'#HqOOQO'#Hq'#HqOOQO1G/q1G/qOOQO,5=Y,5=YOOQO-E:l-E:lO#2hQSO,58{O#2oQPO,59eOOQO,59e,59eOMtQPO'#HjOCqQPO'#GgO#2}QPO,5>ROOQO1G.}1G.}OOQO7+$g7+$gOOQO1G/z1G/zO#3VQQO1G/zOOQO1G/|1G/|O#3[QPO1G/zOOQO1G/{1G/{O9vQPO1G/|OOQO,5=],5=]OOQO-E:o-E:oOOQO7+%e7+%eOOQO,5=Z,5=ZOOQO-E:m-E:mO8_QPO7+&rOOQO7+&r7+&rOOQO,5=c,5=cOOQO-E:u-E:uO#3aQPO'#ETO#3oQPO'#ETOOQO'#Gu'#GuO#4WQPO,5:vOOQO,5:v,5:vOOQO7+'c7+'cOOQO7+%{7+%{OOQO7+%l7+%lO!AmQPO7+%lO!ArQPO7+%lO!AzQPO7+%lOOQO7+%v7+%vO!BjQPO7+%vOOQO7+%q7+%qO!CiQPO7+%qO!CnQPO7+%qOOQO7+&T7+&TOOQO'#Ed'#EdO6yQPO7+&TO6yQPO,5>VO#4wQPO7+$[OOQO7+&S7+&SOOQO7+&V7+&VO8_QPO'#GjO#5VQPO,5>WOOQO1G/^1G/^O8_QPO7+&jO#5bQQO,59dO#6eQPO'#DqOK]QPO'#DqO#6pQPO'#HtO#6xQPO,5:[O#7cQQO'#HdO#8OQQO'#CtOKYQPO'#HsO#8nQPO'#DoO#8xQPO'#HsO#9ZQPO'#DoO#9cQPO'#H|O#9hQPO'#E_OOQO'#Hm'#HmOOQO'#Gk'#GkO#9pQPO,59uOOQO,59u,59uO#9wQPO'#HnOOQO,5:g,5:gO#;_QPO'#HyOOQO'#EO'#EOOOQO,5:h,5:hO#;jQPO'#EXO9vQPO'#EXO#;{QPO'#HzO#mOOQO1G.n1G.nO#GUQPO1G/UOOQO<U,5>UOOQO,5=R,5=ROOQO-E:e-E:eO#GyQPO7+%fOOQO7+%f7+%fOOQO7+%h7+%hOOQO<`OOQO1G/v1G/vO#KrQPO'#HpO#KyQPO,59wO#LOQPO,5>_OKYQPO,59wO#LZQPO,5:ZO#9hQPO,5:yOKYQPO,5>_OMtQPO,5>_O#9cQPO,5>hOOQO,5:Z,5:ZOHfQPO'#DsOOQO,5>h,5>hO#LcQPO'#E`OOQO,5:y,5:yO$ ^QPO,5:yOMtQPO'#DwOOQO-E:i-E:iOOQO1G/a1G/aOOQO,5:x,5:xOMtQPO'#GrO$ cQPO,5>eOOQO,5:s,5:sO$ nQPO,5:sO$ |QPO,5:sO$!_QPO'#GtO$!uQPO,5>fO$#QQPO'#EYOOQO1G0^1G0^O$#XQPO1G0^OKYQPO,5:oOOQO-E:q-E:qOOQO1G0Y1G0YOOQO1G0m1G0mO$#^QQO1G0mOOQO<lOOQO1G1X1G1XO$'xQPO'#FSOOQO,5=e,5=eOOQO-E:w-E:wO$'}QPO'#GmO$([QPO,5>^OOQO1G/t1G/tOOQO<rAN>rO!AmQPOAN>rOOQOAN>wAN>wOOQOAN?ZAN?ZO6yQPOAN?ZO$(sQPO,5:^OOQO1G/w1G/wOOQO,5=[,5=[OOQO-E:n-E:nO$)OQPO,5>bOOQO1G/c1G/cOOQO1G3y1G3yO$)aQPO1G/cOOQO1G/u1G/uOOQO1G0e1G0eO$ ^QPO1G0eO#9cQPO'#HvO$)fQPO1G3yOKYQPO1G3yOOQO1G4S1G4SO$)qQPO'#DuO)_QPO'#D^OOQO,5:z,5:zO$)xQPO,5:zO$)xQPO,5:zO$*PQQO'#H_O$+_QQO'#H`O$+iQQO'#EaO$+tQPO'#EaOOQO,5:c,5:cOOQO,5=^,5=^OOQO-E:p-E:pOOQO1G0_1G0_O$+|QPO1G0_OOQO,5=`,5=`OOQO-E:r-E:rO$,[QPO,5:tOOQO7+%x7+%xOOQO7+&X7+&XOOQO1G1^1G1^O$,cQQO1G1^OOQO-E:y-E:yO$,kQQO'#ITO$,fQPO1G1^O$#sQPO1G1^O)VQPO1G1^OOQOAN@ZAN@ZO$,vQQO<oO$/tQPO7+&xO$/yQQO'#IUOOQOAN@kAN@kO$0UQQOAN@kOOQOAN@hAN@hO$0]QPOAN@hO$0bQQO<pOOQOG26VG26VOOQOG26SG26SOOQO<qO#x$nO~Ot$pO~Os$rO%{SO~O%{qa&iqa#^qa#`qa#bqa#cqa#dqa#eqa#fqa#gqa#iqa#mqa#pqa&Xqa&Yqa~Os!jOWqa%}qa&Pqa&qqaYqavqa&lqa!Oqa#nqapqa{qa~P@iOs0gO%{SOp&dX!O&dX!a&dX~OY&dX#n&dX~PBdO!a$uOp!_X!O!_XY!_X~Op$vO!O&cX~O!O$xO~Ou$yO~Of[Og[O%{0fO%}!cO&PUO&]$|O~O&X&ZP~PCqO%{SO%}!cO&PUO~OWUXW&WXYUXZUXsUXs&WX!aUX#[UX#^UX#`UX#bUX#cUX#dUX#eUX#fUX#gUX#iUX#mUX#pUX%{&WX%}&WX&P&WX&XUX&YUX&Y&WX&iUX&qUX&q&WX&s!`X~OY!`XY&WXp!`Xv&WX&i&WX&l&WX~PDiOv%WO%{SO%}%TO&P%SO&l%VO~OW!sOs!jOY&[X&i&[X&q&[X~PF|OY%YO~P7TOf[Og[O%}!cO&PUO~Op%[OY&kX~OY%^O~Of[Og[O%{SO%}!cO&PUOY&kP~P>qOY%dO&i%bO&q#`O~Op%eO&s#pOY&rX~OY%gO~O%{SOf%`ag%`au%`a!R%`a!S%`a!T%`a!U%`a!V%`a!W%`a!X%`a!Y%`a![%`a!]%`a!^%`a!t%`a!y%`a%}%`a&P%`a&o%`a&Y%`a~O{%hO~P]O|%iO~Os0gO%{SO%}!nO&P!nO~Oo%uOv%vO%}RO&P!`O&Y!tO~Oy%tO~PKhOZ1bO_TO`TOaTObTOcTOdTOf[Og[Oo}OviOy|O#d1WO#p1VO#r1WO#s1WO%{SO%}0jO&PPO~Oy%xO%}RO&P!`O&Y!tO~OY&`P~P8_Of[Og[O%{SO%}!cO&PUO~O|aO~P8_OW!sOs!jO%{SO&q&[X~O#p#mO!O#qa#^#qa#`#qa#b#qa#c#qa#d#qa#e#qa#f#qa#g#qa#i#qa#m#qa&X#qa&Y#qa&i#qaY#qa#n#qat#qap#qa{#qa~On&]O|&[O!q&^O&Y&ZO~O|&cO!q&^O~On&gO|&fO&Y&ZO~OZ#bOs&kO%{SO~OW$iO|&qO~OW$iO!O&sO~OW&tO!O&uO~O!RwO!SwO!TwO!UwO!VwO!WwO!XwO!YxO![wO!]wO!^wO!O&`P~P8_O!O'QO#n'RO~P7TO|'SO~O$a'UO~O!O'VO~O!O'WO~O!O'XO~P7TO!O'ZO~P7TOZ$RO_TO`TOaTObTOcTOdTOf[Og[Oo}OviOy|O%{SO%}']O&P'[O~P>qO%P'fO%T'gOZ$|a_$|a`$|aa$|ab$|ac$|ad$|af$|ag$|ao$|au$|av$|ay$|a|$|a!O$|a!R$|a!S$|a!T$|a!U$|a!V$|a!W$|a!X$|a!Y$|a!Z$|a![$|a!]$|a!^$|a!t$|a!y$|a#d$|a#p$|a#r$|a#s$|a#w$|a#x$|a$U$|a$W$|a$^$|a$a$|a$c$|a$i$|a$k$|a$p$|a$r$|a$u$|a$x$|a${$|a$}$|a%u$|a%{$|a%}$|a&P$|a&o$|a{$|a$_$|a$n$|a~O|'mOY&uP~P8_Os0gO%{qa&qqa%}qa&Pqapqa&XqaYqavqa&iqa&lqa|qa!qqa&yqa!Oqa~OW$iO!O'uO~Ot$pOsra%{ra%}ra&Pra&qraYravra&ira&lra!Ora&Xra#nrapra~OWra#^ra#`ra#bra#cra#dra#era#fra#gra#ira#mra#pra&Yra{ra~P!+jOs0gO%{SOp&da!O&da!a&daY&da#n&da~O|'xO~P8_Op$vO!O&ca~Of[Og[O%{0fO%}!cO&PUO~O&](PO~P!.`O%{SOp&[X&X&[XY&[X&i&[X!O&[X~Os0gO|&[X!q&[X~P!.xOn(ROo(ROpmX&XmX~Op(SO&X&ZX~O&X(UO~Os0gOv(WO%{SO%}RO&P!`O~OYla&ila&qla~P!0WOW&OXY!`Xp!`Xs!`X%{!`X~OWUXY!`Xp!`Xs!`X%{!`X~OW(ZO~Os0gO%{SO%}!nO&P!nO&l(]O~Of[Og[O%{SO%}!cO&PUO~P>qOp%[OY&ka~Os0gO%{SO%}!nO&P!nO&l%VO~O%{SO~P1dOY(`O~OY(cO&i%bO~Op%eOY&ra~Of[Og[OuyO{(kO!t{O%{SO%}!cO&PUO&obO~P>qO!O(lO~OW^iZ#WXs^i!O^i!a^i#[^i#^^i#`^i#b^i#c^i#d^i#e^i#f^i#g^i#i^i#m^i#p^i&X^i&Y^i&i^i&q^iY^i#n^it^ip^i{^i~OW({O~O#^1XO#`0|O#b0}O#c0}O#d1OO#e1PO#f1YO#g1YO#i0rO#m1`O#p#mO&X#dO&Y#dO&i#eO~Ot(|O~P!6ZOy(}O%}RO&P!`O~O!O]iY]i#n]ip]i{]i~P7TOp)OOY&`X!O&`X~P7TOY)QO~O#p#mO!O#]i#^#]i#`#]i#b#]i#c#]i#d#]i#e#]i#i#]i#m#]i&X#]i&Y#]i&i#]iY#]i#n#]ip#]i{#]i~O#f#kO#g#kO~P!8bO#^#fO#e#jO#f#kO#g#kO#i#oO#p#mO&X#dO&Y#dO!O#]i#`#]i#b#]i#c#]i#m#]i&i#]iY#]i#n#]ip#]i{#]i~O#d#iO~P!9sO#^#fO#e#jO#f#kO#g#kO#i#oO#p#mO&X#dO&Y#dO!O#]i#b#]i#c#]i#m#]iY#]i#n#]ip#]i{#]i~O#`#gO#d#iO&i#eO~P!;UO#d#]i~P!9sO#p#mO!O#]i#`#]i#b#]i#c#]i#d#]i#e#]i#m#]i&i#]iY#]i#n#]ip#]i{#]i~O#^#fO#f#kO#g#kO#i#oO&X#dO&Y#dO~P!qO|&cO~Of[Og[OuyO{)sO!O)qO!t{O!yzO%{SO%}!cO&PUO&Y&ZO&obO~P>qO|&fO~On&gO|&fO~Ot)uO~PLQOs)wO%{SO~Os&kO|'xO%{SOW#Yi!O#Yi#^#Yi#`#Yi#b#Yi#c#Yi#d#Yi#e#Yi#f#Yi#g#Yi#i#Yi#m#Yi#p#Yi&X#Yi&Y#Yi&i#Yi&q#YiY#Yi#n#Yit#Yip#Yi{#Yi~O|&[OW&_is&_i!O&_i#^&_i#`&_i#b&_i#c&_i#d&_i#e&_i#f&_i#g&_i#i&_i#m&_i#p&_i&X&_i&Y&_i&i&_i&q&_iY&_i#n&_it&_ip&_i{&_i~O#{*PO#}*QO$P*QO$Q*RO$R*SO~O{*OO~P!GdO$X*TO%}RO&P!`O~OW*UO!O*VO~O$_*WOZ$]i_$]i`$]ia$]ib$]ic$]id$]if$]ig$]io$]iu$]iv$]iy$]i|$]i!O$]i!R$]i!S$]i!T$]i!U$]i!V$]i!W$]i!X$]i!Y$]i!Z$]i![$]i!]$]i!^$]i!t$]i!y$]i#d$]i#p$]i#r$]i#s$]i#w$]i#x$]i$U$]i$W$]i$^$]i$a$]i$c$]i$i$]i$k$]i$p$]i$r$]i$u$]i$x$]i${$]i$}$]i%u$]i%{$]i%}$]i&P$]i&o$]i{$]i$n$]i~O!O*[O~P8_O!O*]O~OZ^O_TO`TOaTObTOcTOdTOf[Og[Oo}OuyOviOy|O|aO!OtO!RwO!SwO!TwO!UwO!VwO!WwO!XwO!Y*bO!Z!]O![wO!]wO!^wO!t{O!yzO#dnO#pmO#rnO#snO#w!PO#x!OO$U!QO$W!RO$^!SO$a!TO$c!UO$i!VO$k!WO$n*cO$p!XO$r!YO$u!ZO$x![O${!^O$}!_O%{SO%}QO&PPO&obO~O{*aO~P!L_OWhXW&OXY&OXZ&OXshXs&OX%{hX%}hX&PhX&YhX&qhX&q&OX~O!O&OX~P# }OWUXW&WXYUXZUXsUXs&WX!OUX%{&WX%}&WX&P&WX&Y&WX&qUX&q&WX~OW#^Os#_O&q#`O~OW&SXY%WXs&SX!O%WX&q&SX~OZ#WX~P#$SOY*iO!O*gO~O%P'fO%T'gOZ$|i_$|i`$|ia$|ib$|ic$|id$|if$|ig$|io$|iu$|iv$|iy$|i|$|i!O$|i!R$|i!S$|i!T$|i!U$|i!V$|i!W$|i!X$|i!Y$|i!Z$|i![$|i!]$|i!^$|i!t$|i!y$|i#d$|i#p$|i#r$|i#s$|i#w$|i#x$|i$U$|i$W$|i$^$|i$a$|i$c$|i$i$|i$k$|i$p$|i$r$|i$u$|i$x$|i${$|i$}$|i%u$|i%{$|i%}$|i&P$|i&o$|i{$|i$_$|i$n$|i~OZ*lO~O%P'fO%T'gOZ%Ui_%Ui`%Uia%Uib%Uic%Uid%Uif%Uig%Uio%Uiu%Uiv%Uiy%Ui|%Ui!O%Ui!R%Ui!S%Ui!T%Ui!U%Ui!V%Ui!W%Ui!X%Ui!Y%Ui!Z%Ui![%Ui!]%Ui!^%Ui!t%Ui!y%Ui#d%Ui#p%Ui#r%Ui#s%Ui#w%Ui#x%Ui$U%Ui$W%Ui$^%Ui$a%Ui$c%Ui$i%Ui$k%Ui$p%Ui$r%Ui$u%Ui$x%Ui${%Ui$}%Ui%u%Ui%{%Ui%}%Ui&P%Ui&o%Ui{%Ui$_%Ui$n%Ui~OW&SXZ#WXs&SX#^&SX#`&SX#b&SX#c&SX#d&SX#e&SX#f&SX#g&SX#i&SX#m&SX#p&SX&X&SX&Y&SX&i&SX&q&SX~O!a*qO#[#aOY&SX~P#,iOY&QXp&QX{&QX!O&QX~P7TO|'mO{&tP~P8_OY&QXf%YXg%YX%{%YX%}%YX&P%YXp&QX{&QX!O&QX~Op*tOY&uX~OY*vO~O!ara|ra!qra&yra!lra!Yra~P!+jOt$pOsri%{ri%}ri&Pri&qriYrivri&iri&lri!Ori&Xri#nripri~OWri#^ri#`ri#bri#cri#dri#eri#fri#gri#iri#mri#pri&Yri{ri~P#0OO|'xO{&fP~P8_Op&eX!O&eX{&eXY&eX~P7TO&]Ta~P;tOn(ROo(ROpma&Xma~Op(SO&X&Za~OW+PO~Ov+QO~Os0gO%{SO%}+UO&P+TO~Of[Og[Ou#ZO!t#]O%}!cO&PUO&o#YO~Of[Og[OuyO{+ZO!t{O%{SO%}!cO&PUO&obO~P>qOv+fO%}RO&P!`O&Y!tO~Op)OOY&`a!O&`a~Os!jO#^la#`la#bla#cla#dla#ela#fla#gla#ila#mla#pla&Yla#nla{la~P={On+kOp!eX&X!eX~Op+mO&X&hX~O&X+oO~OW&WXs&WX%{&WX%}&WX&P&WX&Y&WX~OZ!`X~P#6}OWhXshX%{hX%}hX&PhX&YhX~OZ!`X~P#7jOf[Og[Ou#ZO!t#]O!y#[O&Y&ZO&o#YO~O%})XO&P)YO~P#8VOf[Og[O%{SO%})XO&P)YO~O|aO!O+yO~OZ+zO~O|+|O!l,PO~O{,RO~P!?{O|aOf&bXg&bXu&bX!R&bX!S&bX!T&bX!U&bX!V&bX!W&bX!X&bX!Y&bX![&bX!]&bX!^&bX!t&bX!y&bX%{&bX%}&bX&P&bX&Y&bX&o&bX~Op,TO|&mX!O&mX~OZ#bO|&[Op!{X{!{X!O!{X~Op,YO{&nX!O&nX~O{,]O!O,[O~O&Y&ZO~P2{Of[Og[OuyO{,aO!O)qO!t{O!yzO%{SO%}!cO&PUO&Y&ZO&obO~P>qOt,bO~P!6ZOt,bO~PLQO|&[OW&_qs&_q!O&_q#^&_q#`&_q#b&_q#c&_q#d&_q#e&_q#f&_q#g&_q#i&_q#m&_q#p&_q&X&_q&Y&_q&i&_q&q&_qY&_q#n&_qt&_qp&_q{&_q~O{,fO~P!GdO!V,jO#|,jO%}RO&P!`O~O!O,mO~O$X,nO%}RO&P!`O~O!a$uO#n,pOp!_X!O!_X~O!O,rO~P7TO!O,rO~P8_O!O,uO~P7TO{,wO~P!L_O!Z#vO#n,xO~O!O,zO~O!a,{O~OY-OOZ$RO_TO`TOaTObTOcTOdTOf[Og[Oo}OviOy|O%{SO%}']O&P'[O~P>qOY-OO!O-PO~O%P'fO%T'gOZ%Uq_%Uq`%Uqa%Uqb%Uqc%Uqd%Uqf%Uqg%Uqo%Uqu%Uqv%Uqy%Uq|%Uq!O%Uq!R%Uq!S%Uq!T%Uq!U%Uq!V%Uq!W%Uq!X%Uq!Y%Uq!Z%Uq![%Uq!]%Uq!^%Uq!t%Uq!y%Uq#d%Uq#p%Uq#r%Uq#s%Uq#w%Uq#x%Uq$U%Uq$W%Uq$^%Uq$a%Uq$c%Uq$i%Uq$k%Uq$p%Uq$r%Uq$u%Uq$x%Uq${%Uq$}%Uq%u%Uq%{%Uq%}%Uq&P%Uq&o%Uq{%Uq$_%Uq$n%Uq~O|'mO~P8_Op-[O{&tX~O{-^O~Op*tOY&ua~O!ari|ri!qri&yri!lri!Yri~P#0OOp-bO{&fX~O{-dO~Ov-eO~Op!`Xs!`X!O!`X!a!`X%{!`X~OZ&OX~P#HOOZUX~P#HOO!O-fO~OZ-gO~OW^yZ#WXs^y!O^y!a^y#[^y#^^y#`^y#b^y#c^y#d^y#e^y#f^y#g^y#i^y#m^y#p^y&X^y&Y^y&i^y&q^yY^y#n^yt^yp^y{^y~OY%^ap%^a!O%^a~P7TO!O#lyY#ly#n#lyp#ly{#ly~P7TOn+kOp!ea&X!ea~Op+mO&X&ha~OZ+zO~PBdO!O-tO~O!l,PO|&ga!O&ga~O|aO!O-wO~OZ^O_TO`TOaTObTOcTOdTOf[Og[Oo.VOuyOv.UOy|O{.QO|aO!OtO!Z!]O!t{O!yzO#dnO#pmO#rnO#snO#w!PO#x!OO$U!QO$W!RO$^!SO$a!TO$c!UO$i!VO$k!WO$p!XO$r!YO$u!ZO$x![O${!^O$}!_O%{SO%}QO&PPO&Y!tO&obO~P>qO|+|O~Op,TO|&ma!O&ma~O|&[Op!{a{!{a!O!{a~OZ#bO|&[Op!{a{!{a!O!{a~O%{SO%}!nO&P!nOp%hX{%hX!O%hX~P>qOp,YO{&na!O&na~O{!|X~P!?{O{.aO~Ot.bO~P!6ZOW$iO!O.cO~OW$iO$O.hO%}RO&P!`O!O&wP~OW$iO$S.iO~O!O.jO~O!a$uO#n.lOp!_X!O!_X~OY.nO~O!O.oO~P7TO#n.pO~P7TO!a.rO~OY.sOZ$RO_TO`TOaTObTOcTOdTOf[Og[Oo}OviOy|O%{SO%}']O&P'[O~P>qOW!vOs&VX%{&VX%}&VX&P&VX&y&VX~O&Y!tO~P$&ZOs0gO%{SO&y.uO%}%RX&P%RX~OY&QXp&QX~P7TO|'mOp%lX{%lX~P8_Op-[O{&ta~O!a.{O~O|'xOp%aX{%aX~P8_Op-bO{&fa~OY/OO~O!O/PO~OZ/QO~O&i%bOp!fa&X!fa~Os0gO%{SO|&ja!O&ja!l&ja~O!O/WO~O!l,PO|&gi!O&gi~Os0gO~PF|O{/]O~P]OW/_O~P3gOW&SXs&SX#^&SX#`&SX#b&SX#c&SX#d&SX#e&SX#f&SX#g&SX#i&SX#m&SX#p&SX&X&SX&Y&SX&i&SX&q&SX~OZ#bO!O&SX~P$*WOW#|OZ#bO&q#`O~Oo/aOv/aO~O|&[Op!{i{!{i!O!{i~O{!|a~P!?{OW$iO!O/cO~OW$iOp/dO!O&wX~OY/hO~P7TOY/jO~OY%Wq!O%Wq~P7TO&y.uO%}%Ra&P%Ra~OY/oO~Os0gO!O/rO!Y/sO%{SO~OY/tO~O&i%bOp!fi&X!fi~Os0gO%{SO|&ji!O&ji!l&ji~O!l,PO|&gq!O&gq~O{/wO~P]Oo/yOv%vOy%tO%}RO&P!`O&Y!tO~O!O/zO~Op/dO!O&wa~O!O0OO~OW$iOp/dO!O&xX~OY0QO~P7TOY0RO~OY%Wy!O%Wy~P7TOs0gO%{SO%}%sa&P%sa&y%sa~OY0SO~Os0gO!O0TO!Y0UO%{SO~Oo0XO%}RO&P!`O~OW({OZ#bO~O!O0ZO~OW$iOp%pa!O%pa~Op/dO!O&xa~O!O0]O~Os0gO!O0]O!Y0^O%{SO~O!O0`O~O!O0aO~O!O0cO~O!O0dO~OYhXY!`Xp!`XvhX&ihX&lhX~P$qOs0hOtqa~P@iO#nUXYUXtUXpUX{UX~P'ROs0hO%{SOt&[X#^&[X#`&[X#b&[X#c&[X#d&[X#e&[X#f&[X#g&[X#i&[X#m&[X#p&[X&X&[X&Y&[X&i&[X~Os0hO%{SOtla#^la#`la#bla#cla#dla#ela#fla#gla#ila#mla#pla&Xla&Yla&ila~Os0lO%{SO~Os0mO%{SO~Ot]i~P!6ZO#^1XO#e1PO#f1YO#g1YO#i0rO#p#mO&X#dO&Y#dOt#]i#`#]i#b#]i#c#]i#m#]i&i#]i~O#d1OO~P$7SO#^1XO#e1PO#f1YO#g1YO#i0rO#p#mO&X#dO&Y#dOt#]i#b#]i#c#]i#m#]i~O#`0|O#d1OO&i#eO~P$8XO#d#]i~P$7SO#f1YO#g1YO#p#mOt#]i#`#]i#b#]i#c#]i#d#]i#e#]i#m#]i&i#]i~O#^1XO#i0rO&X#dO&Y#dO~P$9eOt#ji~P!6ZOt#ly~P!6ZO|aO~PLQO!a0{O#[0{Ot&SX~P#,iO!a0{O#[0{Ot&SX~P$*WO&s1QO~O#^#]i#i#]i&X#]i&Y#]i~P$9eO#n1RO~P7TOY1ZO&i%bO&q#`O~OY1^O&i%bO~O`#e~",goto:"#1q&yPPPP&z'_+T.iP'_PP.}/R0vPPPPPP2sPP4l7n:j=f>O@TPPP@ZCQPPPPC}2sPFVPPGQPGwG}PPPPPPPPPPPPIXInPMTM]MgNPNVN]!!^!!c!!c!!lP!!{!$S!$u!%PP!%f!$SP!%l!%v!&V!&_P!&|!'W!'^!$S!'a!'gGwGw!'k!'u!'x2s!)u2s2s!+}P/RP!,RP!,|PPPPPP/RP/R!-q/RPP/RP/RPP/R!/h!/rPP!/x!0RPPPPPPPP&zP&zPP!0V!0V!0j!0VPP!0VP!0VP!0}!1Q!0V!1h!0VP!0VP!1k!1nP!0VP!0VP!1r!0VP!1u!0VP!0V!0VP!0VP!1xP!2O!2R!2XP!0V!2e!2h!2p!3S!7l!7r!8}!9g!9m!9w!:|!;S!;Y!;h!;n!;t!;z!oP!BgP!CkP!F]!Fs!Jb2s!L_#!`#%`PP#([#(_P#*z#+Q#,}#-^#-d#.e#.{#/t#/}#0Q#0^P#0a#0mP#0u#0|P#1PP#1YP#1^#1a#1d#1h#1nsrOav!X#V#t$S$T$V$W'S*W*`+|.R.S/^(gpOVW^_amnv!V!X![!^!d!k!o!t!v!x!y#O#S#V#X#_#a#b#f#g#h#i#j#k#l#o#p#q#r#t#z$R$S$T$U$V$W$f$j$t$u$z${%Q%R%Z%[%_%`%b%d%i&U&Z&[&]&^&c&f&g&k&l&n&y&z&|'R'S'^'m'x(R(S(c(g(j)O)R)S)U)Z)])c)n)o)r)w*W*Y*[*]*`*c*f*g*l*q+X+k+m+p+s+v+w+z+|,P,T,Y,[,_,p,r,{-P-T-[-b-s-|.O.P.R.S.`.l.o.r.t.{/O/V/[/^/m/q/s/t0U0W0^0k0n0o0p0q0r0z0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1b#pfO^amnv!V!X![!^#V#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$u%d&|'R'S'm'x(c)O)R*W*[*]*`*c*q+|,p,r,{-[-b.R.S.l.o.r.{/^/s0U0^1`1bt!bS!O!Q!R!g!i$Q$n*P*Q*R*S,i,k.h.i/d0fQ#WbS%X!y.OQ%l#YU%q#^#|/_Q%x#`W'`$f*g-P.tU'j$i&t*UQ'k$jS(X%R/[U(x%s+e/xQ(}%yQ+W(gQ+c({Q-_*tQ-i+Xq1S#_&k)w0{0|0}1O1P1Q1R1V1W1X1Y1Z1^u!bS!O!Q!R!g!i$Q$n*P*Q*R*S,i,k.h.i/d0fT$k!a(O$eoO^amnv!V!X![!^#V#_#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$j$u%d&k&|'R'S'm'x(c)O)R)w*W*[*]*`*c*q+|,p,r,{-[-b.R.S.l.o.r.{/^/s0U0^0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1b#rjO^amnv!V!X![!^#V#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$j$u%d&|'R'S'm'x(c)O)R*W*[*]*`*c*q+|,p,r,{-[-b.R.S.l.o.r.{/^/s0U0^1`1bW'a$f*g-P.tq1T#_&k)w0{0|0}1O1P1Q1R1V1W1X1Y1Z1^$miO^amnv!V!X![!^#V#_#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$f$j$u%d&k&|'R'S'm'x(c)O)R)w*W*[*]*`*c*g*q+|,p,r,{-P-[-b.R.S.l.o.r.t.{/^/s0U0^0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1b&hYOV^acmnv|!V!X![!^!t!x!{#O#V#_#a#b#f#g#h#i#j#k#l#o#p#q#t#{$R$S$T$U$V$W$f$j$u$z%[%b%d%i%t&[&]&^&f&g&k&y&{&|'R'S'b'm'x(R(S(c(h(j)O)R)[)])c)o)p)r)w*W*[*]*`*c*g*q+k+w+z+|,P,T,[,p,r,{-P-[-b.P.R.S.`.l.o.r.t.{/^/s0U0^0k0r0z0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1bQ%P!vQ(V%QV-R*l-V.u&hYOV^acmnv|!V!X![!^!t!x!{#O#V#_#a#b#f#g#h#i#j#k#l#o#p#q#t#{$R$S$T$U$V$W$f$j$u$z%[%b%d%i%t&[&]&^&f&g&k&y&{&|'R'S'b'm'x(R(S(c(h(j)O)R)[)])c)o)p)r)w*W*[*]*`*c*g*q+k+w+z+|,P,T,[,p,r,{-P-[-b.P.R.S.`.l.o.r.t.{/^/s0U0^0k0r0z0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1bV-R*l-V.u&hZOV^acmnv|!V!X![!^!t!x!{#O#V#_#a#b#f#g#h#i#j#k#l#o#p#q#t#{$R$S$T$U$V$W$f$j$u$z%[%b%d%i%t&[&]&^&f&g&k&y&{&|'R'S'b'm'x(R(S(c(h(j)O)R)[)])c)o)p)r)w*W*[*]*`*c*g*q+k+w+z+|,P,T,[,p,r,{-P-[-b.P.R.S.`.l.o.r.t.{/^/s0U0^0k0r0z0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1bV-S*l-V.uS!uY-RS#{|%tS%s#^#|Q%y#`Q+e({Q.W+|R/x/_%VXO^amnv!V!X![!^!t#V#_#a#b#f#g#h#i#j#k#l#o#p#t$R$S$T$U$V$W$f$j$u%b%d&]&^&g&k&|'R'S'm'x(R(S(c)O)R)w*W*[*]*`*c*g*q+k+|,P,T,p,r,{-P-[-b.R.S.l.o.r.t.{/^/s0U0^0r0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1bQ$}!tR*}(S&i]OV^acmnv!V!X![!^!t!x!{#O#V#_#a#b#f#g#h#i#j#k#l#o#p#q#t$R$S$T$U$V$W$f$j$u$z%[%b%d%i&[&]&^&f&g&k&y&{&|'R'S'b'm'x(R(S(c(h(j)O)R)[)])c)o)p)r)w*W*[*]*`*c*g*l*q+k+w+z+|,P,T,[,p,r,{-P-V-[-b.P.R.S.`.l.o.r.t.u.{/^/s0U0^0k0r0z0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1b!u!lW!d!m!o!y#X#r$l$t${%R%Z%_&U&z'^(g)S)Z)n*Y*f+X+p+s+v,_-T-s-|.O/O/V/[/m/q/t0W0i0n0o$liO^amnv!V!X![!^#V#_#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$f$j$u%d&k&|'R'S'm'x(c)O)R)w*W*[*]*`*c*g*q+|,p,r,{-P-[-b.R.S.l.o.r.t.{/^/s0U0^0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1bQ$S!SQ$T!TQ$Y!WQ$d!]R*d'UQ#cgS&o#z(zQ(w%rQ){&pQ+b(yQ,W)jQ-m+dQ.],XQ/S-nS/`.U.VQ/{/aQ0Y/yR0_0XQ&_#wW(n%m&`&a&bQ)z&oU+[(o(p(qQ,V)jQ,d){S-j+]+^S.[,W,XQ/R-kR/b.]X)a&[)c,[.`rcOav!X#V#t$S$T$V$W'S*W*`+|.R.S/^Y!{^#O%[+z1bQ&{$UW'b$f*g-P.tS(h%i(jW)[&[)c,[.`S)k&c,YS)p&f)rR-V*ld!qW#X&z(g)Z)n*Y+X+s,_Q'|$vQ(Y%VR+R(]#nlOamnv!V!X![!^#V#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$j$u%d&|'R'S'm'x(c)O)R*W*[*]*`*c*q+|,p,r,{-[-b.R.S.l.o.r.{/^/s0U0^1`r!oW!y#X$v%V%Z%_&z'^(](g*Y*f+X-U.O.xS#Q^1bQ#wyQ#xzQ#y{Q%m#ZQ%n#[Q%o#]Q(e%eS)T&Z+mY)_&[)[)c,[.`S)j&c,YQ+l)UW+p)Z)n+s,_Q+x)]Q,X)kS-z+v-|q1U#_&k)w0{0|0}1O1P1Q1R1V1W1X1Y1Z1^U'z$u'x-bR)y&nW)a&[)c,[.`T)q&f)rQ&b#wQ&j#yQ(q%mQ(v%oY)]&[)[)c,[.`V)o&f)p)rQ)V&ZR-q+mQ+j)TR-p+l#rlO^amnv!V!X![!^#V#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$j$u%d&|'R'S'm'x(c)O)R*W*[*]*`*c*q+|,p,r,{-[-b.R.S.l.o.r.{/^/s0U0^1`1bQ+{)_S-s+p-zQ-}+xq1U#_&k)w0{0|0}1O1P1Q1R1V1W1X1Y1Z1^V#O^+z1bW!|^#O+z1bR(^%[Q,O)`Q-u+rQ-y+uQ/Y-{R/v/ZrtOav!X#V#t$S$T$V$W'S*W*`+|.R.S/^Q$g!_S&X#p1QQ'Y$dQ'i$hW)a&[)c,[.`Q*n'gQ+y)^Q,S)eQ-W*mR-w+trrOav!X#V#t$S$T$V$W'S*W*`+|.R.S/^S(i%i(jW)a&[)c,[.`T)q&f)rQ&a#wS(p%m&bR+^(qQ&`#wQ&e#xU(o%m&a&bQ(s%nS+](p(qR-k+^Q)i&^R)t&gQ&i#yS(u%o&jR+a(vQ&h#yU(t%o&i&jS+`(u(vR-l+aS(i%i(jT)q&f)rrrOav!X#V#t$S$T$V$W'S*W*`+|.R.S/^W)a&[)c,[.`T)q&f)rQ&d#xS(r%n&eR+_(sQ)l&cR.^,YR,^)mQ%j#WR(m%lT(i%i(jQ+})`S-x+u,OR/X-yR.S+|Wi$f*g-P.t#rjO^amnv!V!X![!^#V#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$j$u%d&|'R'S'm'x(c)O)R*W*[*]*`*c*q+|,p,r,{-[-b.R.S.l.o.r.{/^/s0U0^1`1bq1T#_&k)w0{0|0}1O1P1Q1R1V1W1X1Y1Z1^$lgO^amnv!V!X![!^#V#_#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$f$j$u%d&k&|'R'S'm'x(c)O)R)w*W*[*]*`*c*g*q+|,p,r,{-P-[-b.R.S.l.o.r.t.{/^/s0U0^0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1bU%r#^#|/_S(y%s/xQ+d({R-n+eT&m#z&n!W#fk!z$X$b$e%z%{&O&P&Q&R&T&W'l'y*Z*^+g+i,t,y-Y.k.q/i/l1]e1X%w)v,c0s0t0u0v0w0x0y!Q#gk!z$X$b$e%z%{&P&T&W'l'y*Z*^+g+i,t,y-Y.k.q/i/l1]_0|%w)v,c0s0u0x0y#rlO^amnv!V!X![!^#V#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$j$u%d&|'R'S'm'x(c)O)R*W*[*]*`*c*q+|,p,r,{-[-b.R.S.l.o.r.{/^/s0U0^1`1bq1U#_&k)w0{0|0}1O1P1Q1R1V1W1X1Y1Z1^a'n$j'm*q-[.{/s0U0^Q'p$jR-`*tQ&r#}Q's$mR*x'tT)|&q)}stOav!X#V#t$S$T$V$W'S*W*`+|.R.S/^ssOav!X#V#t$S$T$V$W'S*W*`+|.R.S/^R$V!UrtOav!X#V#t$S$T$V$W'S*W*`+|.R.S/^R&|$UR$W!UR'T$YT*_'S*`R$^!YR$a!ZX'd$g'e'i*oR*m'fQ-U*lR.x-VQ'h$gQ*k'eQ*p'iR-X*oR$h!_Q'c$fV,}*g-P.tQvOQ#VaW#uv#V.R/^Q.R+|R/^.SrVOav!X#V#t$S$T$V$W'S*W*`+|.R.S/^r!fV!k!x#S#q$z%Q%`&l&y)U+w.P0k0p0q0z^!kW!y#r&U&z'^)SS!x^1bQ#S_#z#qmn!V![!^#_#a#b#f#g#h#i#j#k#l#p$R$j$u%b%d&]&^&g&k&|'R'm'x(R(c)O)R)w*[*]*c*q+k,P,T,p,r,{-[-b.l.o.r.{/s0U0^0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`S$z!t(SQ%Q!vj%`#O%[%i&[&c&f(j)c)r*l,Y,[.`S&l#z&nY&y$U$f*g-P.tS)U&Z+mS+w)])oQ.P+zQ0k#o![0p!d!o#X$t${%R%Z%_(g)Z)n*Y*f+X+p+s+v,_-T-s-|.O/O/V/[/m/q/t0WS0q0n0oR0z0rQ(T$}R+O(T^!mW!y#r&U&z'^)Sx$l!d#X${%R%Z%_(g)Z)n*Y*f+X+s+v,_-T-|.O/[/m^$s!m$l$t/V/q0W0iS$t!o+pQ/V-sQ/q/OQ0W/tT0i0n0oQ$q!jQ'r0gW'v$q'r'w*wQ'w$rQ*w0lQ/T0hR/u0mQ)P%{R+h)PQ)c&[S,Q)c.`R.`,[!n`O^av!X#O#V#t$S$T$U$V$W$f%[%i&[&c&f'S(j)c)r*W*`*g*l+z+|,Y,[-P.R.S.`.t/^1bY!eV!x%`&y.PT#T`!eQ-c*yR.}-cQ$w!qR'}$wQ%c#PU(b%c/U1aQ/U-oR1a1_Q+n)VR-r+nQ%]!|R(_%]Q,U)gR.Z,UQ)r&fR,`)rQ,Z)lR._,ZQ(j%iR+Y(jQ&n#zR)x&nQ%f#QR(f%fQ-]*rR.z-]Q*u'pR-a*uQ)}&qR,e)}Q,i*PR.e,iQ/e.fS/}/e0PR0P/gQ*`'SR,v*`Q'e$gS*j'e*oR*o'iQ.v-TR/n.vQ*h'cR-Q*h`uOav#V+|.R.S/^Q$Z!XQ&Y#tQ&w$SQ&x$TQ'O$VQ'P$WS*_'S*`R,o*W(UqOVW^_amnv!V!X![!^!d!k!o!t!v!x!y#O#S#V#X#_#a#b#f#g#h#i#j#k#l#o#p#q#r#t#z$R$S$T$U$V$W$f$t$u$z${%Q%R%Z%[%_%`%b%d%i&U&Z&[&]&^&c&f&g&k&l&n&y&z&|'R'S'^'x(R(S(c(g(j)O)R)S)U)Z)])c)n)o)r)w*W*Y*[*]*`*c*f*g*l+X+k+m+p+s+v+w+z+|,P,T,Y,[,_,p,r,{-P-T-b-s-|.O.P.R.S.`.l.o.r.t/O/V/[/^/m/q/t0W0k0n0o0p0q0r0z0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1ba'o$j'm*q-[.{/s0U0^Q!aSQ#}!OQ$O!QQ$P!RQ$m!gQ$o!iQ&v$QQ't$nQ(O0fS,g*P*RQ,k*QQ,l*SQ.d,iS.f,k.hQ/g.iR/|/d&_ROS^abmnv!O!Q!R!V!X![!^!g!i!y#V#Y#^#_#`#a#b#f#g#h#i#j#k#l#p#t#|$Q$R$S$T$U$V$W$f$i$j$n$u%R%d%s%y&k&t&|'R'S'm'x(c(g({)O)R)w*P*Q*R*S*U*W*[*]*`*c*g*q*t+X+e+|,i,k,p,r,{-P-[-b.O.R.S.h.i.l.o.r.t.{/[/^/_/d/s/x0U0^0f0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1bQ'q$jQ*r'mS-Z*q.{Q.y-[Q0V/sQ0[0UR0b0^rkOav!X#V#t$S$T$V$W'S*W*`+|.R.S/^U!z^$R1bS#mm1VS#sn1WQ$X!VQ$b![Q$e!^Q%w#_Q%z#aY%{#b$U*[,r.oQ%}#fQ&O#gQ&P#hQ&Q#iQ&R#jS&S#k1YQ&T#lQ&W#p^'l$j'm-[.{/s0U0^U'y$u'x-bS(d%d1ZQ)v&kQ*Z&|Q*^'RS+S(c1^Q+g)OQ+i)RQ,c)wQ,t*]Q,y*cQ-Y*qQ.k,pQ.q,{Q/i.lQ/l.rQ0s0{Q0t0|Q0u0}Q0v1OQ0w1PQ0x1QQ0y1RQ1[1XR1]1`$beO^amnv!V!X![!^#V#_#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$j$u%d&k&|'R'S'm'x(c)O)R)w*W*[*]*`*c*q,p,r,{-[-b.R.S.l.o.r.{/^/s0U0^0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1bW'_$f*g-P.tR.T+|rWOav!X#V#t$S$T$V$W'S*W*`+|.R.S/^W!dV#q$z&yS!y^1bQ#Xc#j#rmn!V![!^#_#a#b#f#g#h#i#j#k#l#p$R$j$u%d&k&|'R'm'x(c)O)R)w*[*]*c*q,p,r,{-[-b.l.o.r.{/s0U0^0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`d${!t%b&]&^&g(R(S+k,P,TQ%R!xQ%Z!{S%_#O%[Q&U#oQ&z$UW'^$f*g-P.tS(g%i(jQ)S0kW)Z&[)c,[.`S)n&f)rQ*Y&{Q*f'bQ+X(hQ+s)[S+v)])oQ,_)pS-T*l-VQ-|+wQ.O+zQ/[.PQ/m.uQ0n0rR0o0z&h]OV^acmnv!V!X![!^!t!x!{#O#V#_#a#b#f#g#h#i#j#k#l#o#p#q#t$R$S$T$U$V$W$f$j$u$z%[%b%d%i&[&]&^&f&g&k&y&{&|'R'S'b'm'x(R(S(c(h(j)O)R)[)])c)o)p)r)w*W*[*]*`*c*g*l*q+k+w+z+|,P,T,[,p,r,{-P-V-[-b.P.R.S.`.l.o.r.t.u.{/^/s0U0^0k0r0z0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1bQ#z|Q&p#{R(z%t&sUOV^acmnv|!V!X![!^!t!v!x!{#O#V#_#a#b#f#g#h#i#j#k#l#o#p#q#t#{$R$S$T$U$V$W$f$j$u$z%Q%[%b%d%i%t&[&]&^&f&g&k&y&{&|'R'S'b'm'x(R(S(c(h(j)O)R)[)])c)o)p)r)w*W*[*]*`*c*g*l*q+k+w+z+|,P,T,[,p,r,{-P-V-[-b.P.R.S.`.l.o.r.t.u.{/^/s0U0^0k0r0z0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1bR%O!t$hhOamnv!V!X![!^#V#_#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$f$j$u%d&k&|'R'S'm'x(c)O)R)w*W*[*]*`*c*g*q+|,p,r,{-P-[-b.R.S.l.o.r.t.{/^/s0U0^0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`Q#P^Q$}!tS&V#o0rQ(a%bQ)f&]U)g&^&g,PQ*|(RQ*}(SQ-o+kQ.Y,TR1_1bQ(Q$|R*{(P$ldO^amnv!V!X![!^#V#_#a#b#f#g#h#i#j#k#l#p#t$R$S$T$U$V$W$f$j$u%d&k&|'R'S'm'x(c)O)R)w*W*[*]*`*c*g*q+|,p,r,{-P-[-b.R.S.l.o.r.t.{/^/s0U0^0{0|0}1O1P1Q1R1V1W1X1Y1Z1^1`1bT%p#^/_Q%|#bQ&}$UQ,s*[Q.m,rR/k.oX)b&[)c,[.`!}_OV^`av!X!e!x#O#V#t$S$T$U$V$W$f%[%`%i&[&c&f&y'S(j)c)r*W*`*g*l+z+|,Y,[-P.P.R.S.`.t/^1bS!rW&zS%k#X*YS+V(g)nQ+q)ZS-h+X,_R-v+sf!pW#X$v%V(](g)Z)n+X+s,_U%U!y%_.OQ([%ZQ*X&zQ*e'^Q,q*YQ,|*fQ.w-UR/p.xQ'{$uQ*y'xR.|-bR*z'x[)^&[&f)c)r,[.`T+t)[)pR)W&ZW+r)Z)n+s,_Q-{+vR/Z-|U!}^+z1bR%a#OS)h&^&gR.X,PR)m&cW)`&[)c,[.`R+u)[T#R^1bR*s'mR'q$jT,h*P,iQ.g,kR/f.hR/f.i",nodeNames:"⚠ LineComment BlockComment Program ModuleDeclaration MarkerAnnotation Identifier ScopedIdentifier . Annotation ) ( AnnotationArgumentList AssignmentExpression FieldAccess IntegerLiteral FloatingPointLiteral BooleanLiteral CharacterLiteral StringLiteral null ClassLiteral void PrimitiveType TypeName ScopedTypeName GenericType TypeArguments AnnotatedType Wildcard extends super , ArrayType Dimension [ ] class this ParenthesizedExpression ObjectCreationExpression new ArgumentList } { ClassBody ; FieldDeclaration Modifiers public protected private abstract static final strictfp default synchronized native transient volatile VariableDeclarator Definition AssignOp ArrayInitializer MethodDeclaration TypeParameters TypeParameter TypeBound FormalParameters ReceiverParameter FormalParameter SpreadParameter Throws throws Block ClassDeclaration Superclass SuperInterfaces implements InterfaceTypeList InterfaceDeclaration interface ExtendsInterfaces InterfaceBody ConstantDeclaration EnumDeclaration enum EnumBody EnumConstant EnumBodyDeclarations AnnotationTypeDeclaration AnnotationTypeBody AnnotationTypeElementDeclaration StaticInitializer ConstructorDeclaration ConstructorBody ExplicitConstructorInvocation ArrayAccess MethodInvocation MethodName MethodReference ArrayCreationExpression Dimension AssignOp BinaryExpression CompareOp CompareOp LogicOp BitOp BitOp LogicOp ArithOp ArithOp ArithOp BitOp InstanceofExpression instanceof LambdaExpression InferredParameters TernaryExpression LogicOp : UpdateExpression UpdateOp UnaryExpression LogicOp BitOp CastExpression ElementValueArrayInitializer ElementValuePair open module ModuleBody ModuleDirective requires transitive exports to opens uses provides with PackageDeclaration package ImportDeclaration import Asterisk ExpressionStatement LabeledStatement Label IfStatement if else WhileStatement while ForStatement for ForSpec LocalVariableDeclaration EnhancedForStatement ForSpec AssertStatement assert SwitchStatement switch SwitchBlock SwitchLabel case DoStatement do BreakStatement break Label ContinueStatement continue Label ReturnStatement return SynchronizedStatement ThrowStatement throw TryStatement try CatchClause catch CatchFormalParameter CatchType FinallyClause finally TryWithResourcesStatement ResourceSpecification Resource",maxTerm:271,nodeProps:[[NodeProp.group,-26,4,46,75,76,81,86,91,143,145,148,149,151,154,156,159,160,162,164,169,171,174,177,179,180,182,190,"Statement",-24,6,13,14,15,16,17,18,19,20,21,38,39,40,98,99,101,102,105,116,118,120,123,125,128,"Expression",-7,22,23,24,25,26,28,33,"Type"],[NodeProp.openedBy,10,"(",43,"{"],[NodeProp.closedBy,11,")",44,"}"]],skippedNodes:[0,1,2],repeatNodeCount:28,tokenData:"Cr~R{X^#xpq#xqr$mrs$ztu%ruv&Wvw&ewx&uxy(]yz(bz{(g{|(q|})R}!O)W!O!P)k!P!Q-S!Q!R.b!R![3S![!]?[!]!^?i!^!_?n!_!`@R!`!a@Z!a!b@q!b!c@x!c!}BX!}#OBm#P#QBr#Q#RBw#R#S%r#T#o%r#o#pCP#p#qCU#q#rCh#r#sCm#y#z#x$f$g#x#BY#BZ#x$IS$I_#x$I|$JO#x$JT$JU#x$KV$KW#x&FU&FV#x~#}Y%w~X^#xpq#x#y#z#x$f$g#x#BY#BZ#x$IS$I_#x$I|$JO#x$JT$JU#x$KV$KW#x&FU&FV#xR$rP#rP!_!`$uQ$zO#^Q~$}UOY$zZr$zrs%as#O$z#O#P%f#P~$z~%fOc~~%iROY$zYZ$zZ~$z~%wT%}~tu%r!Q![%r!c!}%r#R#S%r#T#o%r~&]P#f~!_!`&`Q&eO#[Q~&jQ&i~vw&p!_!`&`~&uO#`~~&xTOY'XZw'Xx#O'X#O#P(P#P~'X~'[UOY'XZw'Xwx'nx#O'X#O#P's#P~'X~'sOb~~'vROY'XYZ'XZ~'X~(SROY'XYZ'XZ~'X~(bOZ~~(gOY~R(nP$XP#eQ!_!`&`~(vQ#d~{|(|!_!`&`~)RO#p~~)WOp~~)]R#d~}!O(|!_!`&`!`!a)f~)kO&s~~)pQWU!O!P)v!Q![*R~)yP!O!P)|~*RO&l~P*WW`P!Q![*R!f!g*p!g!h*u!h!i*p#R#S,_#W#X*p#X#Y*u#Y#Z*pP*uO`PP*xR{|+R}!O+R!Q![+XP+UP!Q![+XP+^U`P!Q![+X!f!g*p!h!i*p#R#S+p#W#X*p#Y#Z*pP+sP!Q![+vP+{U`P!Q![+v!f!g*p!h!i*p#R#S+p#W#X*p#Y#Z*pP,bP!Q![,eP,jW`P!Q![,e!f!g*p!g!h*u!h!i*p#R#S,_#W#X*p#X#Y*u#Y#Z*p~-XR#eQz{-b!P!Q.V!_!`&`~-eROz-bz{-n{~-b~-qTOz-bz{-n{!P-b!P!Q.Q!Q~-b~.VOQ~~.[QP~OY.VZ~.V~.ga_~!O!P/l!Q![3S!d!e6g!f!g*p!g!h3z!h!i*p!n!o5d!q!r7s!z!{8s#R#S5i#U#V6g#W#X*p#X#Y3z#Y#Z*p#`#a5d#c#d7s#l#m8sP/qV`P!Q![0W!f!g*p!g!h0u!h!i*p#W#X*p#X#Y0u#Y#Z*pP0]W`P!Q![0W!f!g*p!g!h0u!h!i*p#R#S2_#W#X*p#X#Y0u#Y#Z*pP0xR{|1R}!O1R!Q![1XP1UP!Q![1XP1^U`P!Q![1X!f!g*p!h!i*p#R#S1p#W#X*p#Y#Z*pP1sP!Q![1vP1{U`P!Q![1v!f!g*p!h!i*p#R#S1p#W#X*p#Y#Z*pP2bP!Q![2eP2jW`P!Q![2e!f!g*p!g!h0u!h!i*p#R#S2_#W#X*p#X#Y0u#Y#Z*p~3XZ_~!O!P/l!Q![3S!f!g*p!g!h3z!h!i*p!n!o5d#R#S5i#W#X*p#X#Y3z#Y#Z*p#`#a5dP3}R{|4W}!O4W!Q![4^P4ZP!Q![4^P4cU`P!Q![4^!f!g*p!h!i*p#R#S4u#W#X*p#Y#Z*pP4xP!Q![4{P5QU`P!Q![4{!f!g*p!h!i*p#R#S4u#W#X*p#Y#Z*p~5iO_~~5lP!Q![5o~5tZ_~!O!P/l!Q![5o!f!g*p!g!h3z!h!i*p!n!o5d#R#S5i#W#X*p#X#Y3z#Y#Z*p#`#a5d~6jQ!Q!R6p!R!S6p~6uT_~!Q!R6p!R!S6p!n!o5d#R#S7U#`#a5d~7XQ!Q!R7_!R!S7_~7dT_~!Q!R7_!R!S7_!n!o5d#R#S7U#`#a5d~7vP!Q!Y7y~8OS_~!Q!Y7y!n!o5d#R#S8[#`#a5d~8_P!Q!Y8b~8gS_~!Q!Y8b!n!o5d#R#S8[#`#a5d~8vS!O!P9S!Q![^#T#ZaR!Q![>j!c!i>j#T#Z>j~>oX_~!O!Pj!c!i>j!n!o5d!r!s9u#R#S>^#T#Z>j#`#a5d#d#e9u~?aP#n~![!]?d~?iO&q~~?nO!O~~?sQ&Y~!^!_?y!_!`$u~@OP#g~!_!`&`~@WP!a~!_!`$u~@`Q&X~!_!`$u!`!a@f~@kQ#g~!_!`&`!`!a?yV@xO&]T#mQ~@}P%{~#]#^AQ~ATP#b#cAW~AZP#h#iA^~AaP#X#YAd~AgP#f#gAj~AmP#Y#ZAp~AsP#T#UAv~AyP#V#WA|~BPP#X#YBS~BXO&o~~B^T&P~tuBX!Q![BX!c!}BX#R#SBX#T#oBX~BrOs~~BwOt~QB|P#bQ!_!`&`~CUO|~VC]Q&yT#bQ!_!`&`#p#qCcQChO#cQ~CmO{~~CrO#s~",tokenizers:[0,1,2],topRules:{Program:[0,3]},dynamicPrecedences:{26:1,230:-1,238:-1},specialized:[{term:229,get:O=>spec_identifier[O]||-1}],tokenPrec:7618}),javaLanguage=LezerLanguage.define({parser:parser.configure({props:[indentNodeProp.add({IfStatement:continuedIndent({except:/^\s*({|else\b)/}),TryStatement:continuedIndent({except:/^\s*({|catch|finally)\b/}),LabeledStatement:flatIndent,SwitchBlock:O=>{var Q=O.textAfter,P=/^\s*\}/.test(Q),Q=/^\s*(case|default)\b/.test(Q);return O.baseIndent+(P?0:Q?1:2)*O.unit},BlockComment:()=>-1,Statement:continuedIndent({except:/^{/})}),foldNodeProp.add({"Block SwitchBlock ClassBody ElementValueArrayInitializer ModuleBody EnumBody ConstructorBody InterfaceBody ArrayInitializer":foldInside,BlockComment(O){return{from:O.from+2,to:O.to-2}}}),styleTags({null:tags.null,instanceof:tags.operatorKeyword,this:tags.self,"new super assert open to with void":tags.keyword,"class interface extends implements module package import enum":tags.definitionKeyword,"switch while for if else case default do break continue return try catch finally throw":tags.controlKeyword,"requires exports opens uses provides public private protected static transitive abstract final strictfp synchronized native transient volatile throws":tags.modifier,IntegerLiteral:tags.integer,FloatLiteral:tags.float,StringLiteral:tags.string,CharacterLiteral:tags.character,LineComment:tags.lineComment,BlockComment:tags.blockComment,BooleanLiteral:tags.bool,PrimitiveType:tags.standard(tags.typeName),TypeName:tags.typeName,Identifier:tags.variableName,"MethodName/Identifier":tags.function(tags.variableName),Definition:tags.definition(tags.variableName),ArithOp:tags.arithmeticOperator,LogicOp:tags.logicOperator,BitOp:tags.bitwiseOperator,CompareOp:tags.compareOperator,AssignOp:tags.definitionOperator,UpdateOp:tags.updateOperator,Asterisk:tags.punctuation,Label:tags.labelName,"( )":tags.paren,"[ ]":tags.squareBracket,"{ }":tags.brace,".":tags.derefOperator,", ;":tags.separator})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/}});function java(){return new LanguageSupport(javaLanguage)}export{java,javaLanguage};
diff --git a/typecho/write/dist/index.js b/typecho/write/dist/index.js
new file mode 100644
index 0000000..2ea1fc5
--- /dev/null
+++ b/typecho/write/dist/index.js
@@ -0,0 +1,288 @@
+let extend="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=1;et)return extend[e-1]<=t;return!1}function isRegionalIndicator(e){return 127462<=e&&e<=127487}const ZWJ=8205;function findClusterBreak(e,t,i=!0){return(i?nextClusterBreak:prevClusterBreak)(e,t)}function nextClusterBreak(i,n){if(n==i.length)return n;n&&surrogateLow(i.charCodeAt(n))&&surrogateHigh(i.charCodeAt(n-1))&&n--;let e=codePointAt(i,n);for(n+=codePointSize(e);n>10),56320+(1023&e)))}function codePointSize(e){return e<65536?1:2}function countColumn(t,i,n){for(let e=0;ethis.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){var n=[];return this.decompose(0,e,n,2),i.length&&i.decompose(0,i.length,n,3),this.decompose(t,this.length,n,1),TextNode.from(n,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){var i=[];return this.decompose(e,t,i,0),TextNode.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=new RawTextCursor(this),i=new RawTextCursor(e);for(;;){if(t.next(),i.next(),t.lineBreak!=i.lineBreak||t.done!=i.done||t.value!=i.value)return!1;if(t.done)return!0}}iter(e=1){return new RawTextCursor(this,e)}iterRange(e,t=this.length){return new PartialTextCursor(this,e,t)}toString(){return this.sliceString(0)}toJSON(){var e=[];return this.flatten(e),e}static of(e){if(0==e.length)throw new RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new TextLeaf(e):TextNode.from(TextLeaf.split(e,[])):Text.empty}}"undefined"!=typeof Symbol&&(Text.prototype[Symbol.iterator]=function(){return this.iter()});class TextLeaf extends Text{constructor(e,t=textLength(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(t,i,n,r){for(let e=0;;e++){var s=this.text[e],a=r+s.length;if(t<=(i?n:a))return new Line$1(r,a,n,s);r=a+1,n++}}decompose(i,e,n,r){i=i<=0&&e>=this.length?this:new TextLeaf(sliceText(this.text,i,e),Math.min(e,this.length)-Math.max(0,i));if(1&r){let e=n.pop(),t=appendText(i.text,e.text.slice(),0,i.length);t.length<=32?n.push(new TextLeaf(t,e.length+i.length)):(r=t.length>>1,n.push(new TextLeaf(t.slice(0,r)),new TextLeaf(t.slice(r))))}else n.push(i)}replace(e,t,i){if(!(i instanceof TextLeaf))return super.replace(e,t,i);var n=appendText(this.text,appendText(i.text,sliceText(this.text,0,e)),t),e=this.length+i.length-(t-e);return n.length<=32?new TextLeaf(n,e):TextNode.from(TextLeaf.split(n,[]),e)}sliceString(r,s=this.length,a="\n"){let o="";for(let i=0,n=0;i<=s&&nr&&n&&(o+=a),ri&&(o+=e.slice(Math.max(0,r-i),s-i)),i=t+1}return o}flatten(e){for(var t of this.text)e.push(t)}static split(e,t){let i=[],n=-1;for(var r of e)i.push(r),n+=r.length+1,32==i.length&&(t.push(new TextLeaf(i,n)),i=[],n=-1);return-1=n&&(l=o&((n<=r?1:0)|(s<=t?2:0)),n>=r&&t<=s&&!l?a.push(e):e.decompose(r-n,s-n,a,l)),n=t+1}}replace(r,s,a){if(a.lines=n&&s<=t){var o=e.replace(r-n,s-n,a),l=this.lines-e.lines+o.lines;if(o.lines>4&&o.lines>l>>6){let e=this.children.slice();return e[i]=o,new TextNode(e,this.length-(s-r)+a.length)}return super.replace(n,t,o)}n=t+1}return super.replace(r,s,a)}sliceString(r,s=this.length,a="\n"){let o="";for(let i=0,n=0;ir&&i&&(o+=a),rn&&(o+=e.sliceString(r-n,s-n,a)),n=t+1}return o}flatten(e){for(var t of this.children)t.flatten(e)}static from(e,t=e.reduce((e,t)=>e+t.length+1,-1)){let i=0;for(var n of e)i+=n.lines;if(i<32){var r,s=[];for(r of e)r.flatten(s);return new TextLeaf(s,t)}let a=Math.max(32,i>>5),o=a<<1,l=a>>1,c=[],h=0,d=-1,u=[];function p(){0!=h&&(c.push(1==u.length?u[0]:TextNode.from(u,d)),d=-1,h=u.length=0)}for(var O of e)!function e(t){let i;if(t.lines>o&&t instanceof TextNode)for(var n of t.children)e(n);else t.lines>l&&(h>l||!h)?(p(),c.push(t)):t instanceof TextLeaf&&h&&(i=u[u.length-1])instanceof TextLeaf&&t.lines+i.lines<=32?(h+=t.lines,d+=t.length+1,u[u.length-1]=new TextLeaf(i.text.concat(t.text),i.length+1+t.length)):(h+t.lines>a&&p(),h+=t.lines,d+=t.length+1,u.push(t))}(O);return p(),1==c.length?c[0]:new TextNode(c,t)}}function textLength(e){let t=-1;for(var i of e)t+=i.length+1;return t}function appendText(s,a,o=0,l=1e9){for(let i=0,n=0,r=!0;nMath.max(0,n))return this.value=0==n?e:0e.length?n-=e.length:(this.nodes.push(e),this.offsets.push(0this.limit&&(this.value=0r)throw new RangeError(`Position ${t} is out of range for changeset of length ${r}`);return s}touchesRange(i,n=i){for(let e=0,t=0;e"number"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeDesc");return new ChangeDesc(e)}}class ChangeSet extends ChangeDesc{constructor(e,t){super(e),this.inserted=t}apply(s){if(this.length!=s.length)throw new RangeError("Applying change set to a document with the wrong length");return iterChanges(this,(e,t,i,n,r)=>s=s.replace(i,i+(t-e),r),!1),s}mapDesc(e,t=!1){return mapSet(this,e,t,!0)}invert(i){let n=this.sections.slice(),r=[];for(let e=0,t=0;e>1;r.length>1].toJSON()))}return n}static of(e,s,a){let o=[],l=[],c=0,i=null;function h(e=!1){if(e||o.length){cc&&addSection(o,e-c,-1),addSection(o,t-e,n),addInsert(l,o,r),c=t)}}(e),h(!i),i}static empty(e){return new ChangeSet(e?[e,-1]:[],[])}static fromJSON(i){if(!Array.isArray(i))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],r=[];for(let t=0;tt&&"string"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==e.length)n.push(e[0],0);else{for(;r.length>1;if(n>1])),!(h||o==l.sections.length||l.sections[o+1]<0);)n=l.sections[o++],r=l.sections[o++];c(s,e,a,t,i),s=e,a=t}}}function mapSet(e,t,r,i=!1){var s=[],a=i?[]:null;let o=new SectionIter(e),l=new SectionIter(t);for(let i=0,n=0;;)if(-1==o.ins)i+=o.len,o.next();else if(-1==l.ins&&nn&&!o.done&&i+o.leni&&n+l.lenl||0<=a.ins&&a.len>l)&&(e||c>1;return t>=e.length?Text.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?Text.empty:t[i].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class SelectionRange{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return 16&this.flags?this.to:this.from}get head(){return 16&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 4&this.flags?-1:8&this.flags?1:0}get bidiLevel(){var e=3&this.flags;return 3==e?null:e}get goalColumn(){var e=this.flags>>5;return 33554431==e?void 0:e}map(e,t=-1){var i=e.mapPos(this.from,t),t=e.mapPos(this.to,t);return i==this.from&&t==this.to?this:new SelectionRange(i,t,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return EditorSelection.range(e,t);t=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return EditorSelection.range(this.anchor,t)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return EditorSelection.range(e.anchor,e.head)}}class EditorSelection{constructor(e,t=0){this.ranges=e,this.mainIndex=t}map(t,i=-1){return t.empty?this:EditorSelection.create(this.ranges.map(e=>e.map(t,i)),this.mainIndex)}eq(t){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let e=0;ee.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new EditorSelection(e.ranges.map(e=>SelectionRange.fromJSON(e)),e.main)}static single(e,t=e){return new EditorSelection([EditorSelection.range(e,t)],0)}static create(i,n=0){if(0==i.length)throw new RangeError("A selection needs at least one range");for(let e=0,t=0;te.from-t.from),i=t.indexOf(e);for(let e=1;er.head?EditorSelection.range(s,n):EditorSelection.range(n,s)))}return new EditorSelection(t,i)}function checkSelection(e,t){for(var i of e.ranges)if(i.to>t)throw new RangeError("Selection points outside of document")}let nextID=0;class Facet{constructor(e,t,i,n,r){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=n,this.extensions=r,this.id=nextID++,this.default=e([])}static define(e={}){return new Facet(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:sameArray$1),!!e.static,e.enables)}of(e){return new FacetProvider([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(e,this,2,t)}from(t,i){return i=i||(e=>e),this.compute([t],e=>i(e.field(t)))}}function sameArray$1(e,i){return e==i||e.length==i.length&&e.every((e,t)=>e===i[t])}class FacetProvider{constructor(e,t,i,n){this.dependencies=e,this.facet=t,this.type=i,this.value=n,this.id=nextID++}dynamicSlot(e){var t,i;let n=this.value,r=this.facet.compareInput,s=e[this.id]>>1,a=2==this.type,o=!1,l=!1,c=[];for(i of this.dependencies)"doc"==i?o=!0:"selection"==i?l=!0:0==(1&(null!==(t=e[i.id])&&void 0!==t?t:1))&&c.push(e[i.id]);return(t,e)=>{if(!e||e.reconfigured)return t.values[s]=n(t),1;if(!(o&&e.docChanged||l&&(e.docChanged||e.selection)||c.some(e=>0<(1&ensureAddr(t,e)))))return 0;var i=n(t),e=e.startState.values[s];return(a?compareArray(i,e,r):r(i,e))?0:(t.values[s]=i,1)}}}function compareArray(t,i,n){if(t.length!=i.length)return!1;for(let e=0;et[e.id]),d=e.map(e=>e.type),u=h.filter(e=>!(1&e)),p=t[c.id]>>1;return(t,e)=>{var i,n=e?e.reconfigured?e.startState.config.address[c.id]:p<<1:null;let r=null==n;for(i of u)1&ensureAddr(t,i)&&(r=!0);if(!r)return 0;let s=[];for(let e=0;e>1}const initField=Facet.define({static:!0});class StateField{constructor(e,t,i,n,r){this.id=e,this.createF=t,this.updateF=i,this.compareF=n,this.spec=r,this.provides=void 0}static define(e){let t=new StateField(nextID++,e.create,e.update,e.compare||((e,t)=>e===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(initField).find(e=>e.field==this);return((null===t||void 0===t?void 0:t.create)||this.createF)(e)}slot(e){let r=e[this.id]>>1;return(e,t)=>{if(!t||t.reconfigured&&null==maybeIndex(t.startState,this.id))return e.values[r]=this.create(e),1;let i,n=0;t.reconfigured?(i=t.startState.values[maybeIndex(t.startState,this.id)],n=1):i=t.startState.values[r];t=this.updateF(i,t);return n||this.compareF(i,t)||(n=1),n&&(e.values[r]=t),n}}init(e){return[this,initField.of({field:this,create:e})]}get extension(){return this}}const Prec_={fallback:3,default:2,extend:1,override:0};function prec(t){return e=>new PrecExtension(e,t)}const Prec={fallback:prec(Prec_.fallback),default:prec(Prec_.default),extend:prec(Prec_.extend),override:prec(Prec_.override)};class PrecExtension{constructor(e,t){this.inner=e,this.prec=t}}class Compartment{of(e){return new CompartmentInstance(this,e)}reconfigure(e){return Compartment.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class CompartmentInstance{constructor(e,t){this.compartment=e,this.inner=t}}class Configuration{constructor(e,t,i,n,r){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=n,this.staticValues=r,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let i=[],r=Object.create(null);var s,a,o=new Map;for(s of flatten(e,t,o))(s instanceof StateField?i:r[s.facet.id]||(r[s.facet.id]=[])).push(s);let l=Object.create(null),c=[],h=[];for(let t of i)l[t.id]=h.length<<1,h.push(e=>t.slot(e));for(a in r){let i=r[a],t=i[0].facet;if(i.every(e=>0==e.type)){l[t.id]=c.length<<1|1;let e=t.combine(i.map(e=>e.value));var d=n?n.config.address[t.id]:null;null!=d&&(d=getAddr(n,d),t.compare(e,d)&&(e=d)),c.push(e)}else{for(let t of i)0==t.type?(l[t.id]=c.length<<1|1,c.push(t.value)):(l[t.id]=h.length<<1,h.push(e=>t.dynamicSlot(e)));l[t.id]=h.length<<1,h.push(e=>dynamicFacetSlot(e,t,i))}}return new Configuration(e,o,h.map(e=>e(l)),l,c)}}function flatten(e,o,l){let c=[[],[],[],[]],h=new Map;return function e(t,i){var n=h.get(t);if(null!=n){if(i<=n)return;var r=c[n].indexOf(t);-1e.concat(t))}function ensureAddr(e,t){if(1&t)return 2;var i=t>>1,t=e.status[i];if(4==t)throw new Error("Cyclic dependency between fields and/or facets");if(2&t)return t;e.status[i]=4;t=e.config.dynamicSlots[i](e,e.applying);return e.status[i]=2|t}function getAddr(e,t){return(1&t?e.config.staticValues:e.values)[t>>1]}const languageData=Facet.define(),allowMultipleSelections=Facet.define({combine:e=>e.some(e=>e),static:!0}),lineSeparator=Facet.define({combine:e=>e.length?e[0]:void 0,static:!0}),changeFilter=Facet.define(),transactionFilter=Facet.define(),transactionExtender=Facet.define();class Annotation{constructor(e,t){this.type=e,this.value=t}static define(){return new AnnotationType}}class AnnotationType{of(e){return new Annotation(this,e)}}class StateEffectType{constructor(e){this.map=e}of(e){return new StateEffect(this,e)}}class StateEffect{constructor(e,t){this.type=e,this.value=t}map(e){e=this.type.map(this.value,e);return void 0===e?void 0:e==this.value?this:new StateEffect(this.type,e)}is(e){return this.type==e}static define(e={}){return new StateEffectType(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(var n of e){n=n.map(t);n&&i.push(n)}return i}}StateEffect.reconfigure=StateEffect.define(),StateEffect.appendConfig=StateEffect.define();class Transaction{constructor(e,t,i,n,r,s){this.startState=e,this.changes=t,this.selection=i,this.effects=n,this.annotations=r,this.scrollIntoView=s,this._doc=null,this._state=null,i&&checkSelection(i,t.newLength),r.some(e=>e.type==Transaction.time)||(this.annotations=r.concat(Transaction.time.of(Date.now())))}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(var t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}}function joinRanges(r,s){let a=[];for(let i=0,n=0;;){let e,t;if(i=r[i]))e=r[i++],t=r[i++];else{if(!(n{if(!/\S/.test(t))return CharCategory.Space;if(hasWordChar(t))return CharCategory.Word;for(let e=0;enull),n)for(var r in e.address){var s=e.address[r],r=n.startState.config.address[r];null!=r&&0==(1&s)&&(this.values[s>>1]=getAddr(n.startState,r))}(this.applying=n)&&(n._state=this);for(let e=0;en.set(t,e)),t=null),n.set(r.value.compartment,r.value.extension)):r.is(StateEffect.reconfigure)?(t=null,i=r.value):r.is(StateEffect.appendConfig)&&(t=null,i=asArray(i).concat(r.value));new EditorState(t||Configuration.resolve(i,n,this),e.newDoc,e.newSelection,e)}replaceSelection(t){return"string"==typeof t&&(t=this.toText(t)),this.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:t},range:EditorSelection.cursor(e.from+t.length)}))}changeByRange(r){var s=this.selection,e=r(s.ranges[0]);let a=this.changes(e.changes),o=[e.range],l=asArray(e.effects);for(let n=1;nt.spec.fromJSON(i,e)))}return EditorState.create({doc:e.doc,selection:EditorSelection.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Configuration.resolve(e.extensions||[],new Map);var i=e.doc instanceof Text?e.doc:Text.of((e.doc||"").split(t.staticFacet(EditorState.lineSeparator)||DefaultSplit));let n=e.selection?e.selection instanceof EditorSelection?e.selection:EditorSelection.single(e.selection.anchor,e.selection.head):EditorSelection.single(0);return checkSelection(n,i.length),t.staticFacet(allowMultipleSelections)||(n=n.asSingle()),new EditorState(t,i,n)}get tabSize(){return this.facet(EditorState.tabSize)}get lineBreak(){return this.facet(EditorState.lineSeparator)||"\n"}phrase(e){for(var t of this.facet(EditorState.phrases))if(Object.prototype.hasOwnProperty.call(t,e))return t[e];return e}languageDataAt(e,t){let i=[];for(var n of this.facet(languageData))for(var r of n(this,t))Object.prototype.hasOwnProperty.call(r,e)&&i.push(r[e]);return i}charCategorizer(e){return makeCategorizer(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:i,length:n}=this.doc.lineAt(e),r=this.charCategorizer(e),s=e-i,a=e-i;for(;0e.length?e[0]:4}),EditorState.lineSeparator=lineSeparator,EditorState.phrases=Facet.define(),EditorState.languageData=languageData,EditorState.changeFilter=changeFilter,EditorState.transactionFilter=transactionFilter,EditorState.transactionExtender=transactionExtender,Compartment.reconfigure=StateEffect.define();const C="ͼ",COUNT="undefined"==typeof Symbol?"__"+C:Symbol.for(C),SET="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),top="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class StyleModule{constructor(e,t){this.rules=[];let{finish:h}=t||{};function d(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}for(var i in e)!function e(i,t,n,r){let s=[],a=/^@(\w+)\b/.exec(i[0]),o=a&&"keyframes"==a[1];if(a&&null==t)return n.push(i[0]+";");for(var l in t){var c=t[l];if(/&/.test(l))e(l.split(/,\s*/).map(t=>i.map(e=>t.replace(/&/,e))).reduce((e,t)=>e.concat(t)),c,n);else if(c&&"object"==typeof c){if(!a)throw new RangeError("The value of a property ("+l+") should be a primitive value.");e(d(l),c,s,o)}else null!=c&&s.push(l.replace(/_.*/,"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())+": "+c+";")}(s.length||o)&&n.push((!h||a||r?i:i.map(h)).join(", ")+" {"+s.join(" ")+"}")}(d(i),e[i],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=top[COUNT]||1;return top[COUNT]=e+1,C+e.toString(36)}static mount(e,t){(e[SET]||new StyleSet(e)).mount(Array.isArray(t)?t:[t])}}let adoptedSet=null;class StyleSet{constructor(t){if(!t.head&&t.adoptedStyleSheets&&"undefined"!=typeof CSSStyleSheet){if(adoptedSet)return t.adoptedStyleSheets=[adoptedSet.sheet].concat(t.adoptedStyleSheets),t[SET]=adoptedSet;this.sheet=new CSSStyleSheet,t.adoptedStyleSheets=[this.sheet].concat(t.adoptedStyleSheets),adoptedSet=this}else{this.styleTag=(t.ownerDocument||t).createElement("style");let e=t.head||t;e.insertBefore(this.styleTag,e.firstChild)}this.modules=[],t[SET]=this}mount(n){let r=this.sheet,s=0,a=0;for(let i=0;i>1,l=a[o]-i||(n<0?this.value[o].startSide:this.value[o].endSide)-r;if(o==e)return 0<=l?e:t;0<=l?t=o:e=1+o}}between(i,n,r,s){for(let e=this.findIndex(n,-1),t=this.findIndex(r,1,void 0,e);er||n==r&&0this.chunkEnd(a.chunkIndex)||ra.to||r500<=e.maxPoint||e!=RangeSet.empty&&i.indexOf(e)<0&&e.maxPoint>=r),a=i.filter(e=>500<=e.maxPoint||e!=RangeSet.empty&&t.indexOf(e)<0&&e.maxPoint>=r),o=findSharedChunks(s,a);let l=new SpanCursor(s,o,r),c=new SpanCursor(a,o,r);e.iterGaps((e,t,i)=>compare(l,e,c,t,i,n)),e.empty&&0==e.length&&compare(l,0,c,0,0,n)}static spans(e,t,i,n,r=-1){let s=new SpanCursor(e,null,r).goto(t),a=t,o=s.openStart;for(;;){var l=Math.min(s.to,i);if(s.point?(n.point(a,l,s.point,s.activeForPoint(s.to),o),o=s.openEnd(l)+(s.to>l?1:0)):l>a&&(n.span(a,l,s.active,o),o=s.openEnd(l)),s.to>i)break;a=s.to,s.next()}return o}static of(e,t=!1){let i=new RangeSetBuilder;for(var n of e instanceof Range?[e]:t?e.slice().sort(cmpRange):e)i.add(n.from,n.to,n.value);return i.finish()}}RangeSet.empty=new RangeSet([],[],null,-1),RangeSet.empty.nextLayer=RangeSet.empty;class RangeSetBuilder{constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}finishChunk(e){this.chunks.push(new Chunk(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new RangeSetBuilder)).add(e,t,i)}addInner(e,t,i){var n=e-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);var i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(RangeSet.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;e=new RangeSet(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,e}}function findSharedChunks(e,t){let i=new Map;for(var n of e)for(let e=0;e=this.minPoint)break}}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.to-e.to||this.endSide-e.endSide}}class HeapCursor{constructor(e){this.heap=e}static from(i,n=null,r=-1){let s=[];for(let t=0;t=r&&s.push(new LayerCursor(e,n,r,t));return 1==s.length?s[0]:new HeapCursor(s)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(var i of this.heap)i.goto(e,t);for(let e=this.heap.length>>1;0<=e;e--)heapBubble(this.heap,e);return this.next(),this}forward(e,t){for(var i of this.heap)i.forward(e,t);for(let e=this.heap.length>>1;0<=e;e--)heapBubble(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),heapBubble(this.heap,0)}}}function heapBubble(n,r){for(let i=n[r];;){let e=1+(r<<1);if(e>=n.length)break;let t=n[e];if(e+1t){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&remove(i,r)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}r=this.cursor.value;if(r.point){if(!(e&&this.cursor.to==this.to&&this.cursor.fromt&&this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(i),this.cursor.next()}}if(i){let e=0;for(;et||this.activeTo[e]==t&&this.active[e].endSide>this.point.endSide)&&i.push(this.active[e]);return i.reverse()}openEnd(t){let i=0;for(let e=this.activeTo.length-1;0<=e&&this.activeTo[e]>t;e--)i++;return i}}function compare(e,t,i,n,r,s){e.goto(t),i.goto(n);var a=n+r;let o=n,l=n-t;for(;;){var c=e.to+l-i.to||e.endSide-i.endSide,h=c<0?e.to+l:i.to,d=Math.min(h,a);if(e.point||i.point?e.point&&i.point&&(e.point==i.point||e.point.eq(i.point))||s.comparePoint(o,d,e.point,i.point):d>o&&!sameValues(e.active,i.active)&&s.compareRange(o,d,e.active,i.active),a=i;e--)t[e+1]=t[e];t[i]=e}function findMinIndex(t,i){let n=-1,r=1e9;for(let e=0;e",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"',229:"Q"},chrome$1="undefined"!=typeof navigator&&/Chrome\/(\d+)/.exec(navigator.userAgent),safari$1="undefined"!=typeof navigator&&/Apple Computer/.test(navigator.vendor),gecko$1="undefined"!=typeof navigator&&/Gecko\/\d+/.test(navigator.userAgent),mac="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),ie$1="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),brokenModifierNames=chrome$1&&(mac||+chrome$1[1]<57)||gecko$1&&mac,i=0;i<10;i++)base[48+i]=base[96+i]=String(i);for(i=1;i<=24;i++)base[i+111]="F"+i;for(var code,i=65;i<=90;i++)base[i]=String.fromCharCode(i+32),shift[i]=String.fromCharCode(i);for(code in base)shift.hasOwnProperty(code)||(shift[code]=base[code]);function keyName(e){e=!(brokenModifierNames&&(e.ctrlKey||e.altKey||e.metaKey)||(safari$1||ie$1)&&e.shiftKey&&e.key&&1==e.key.length)&&e.key||(e.shiftKey?shift:base)[e.keyCode]||e.key||"Unidentified";return e="Down"==(e="Right"==(e="Up"==(e="Left"==(e="Del"==(e="Esc"==e?"Escape":e)?"Delete":e)?"ArrowLeft":e)?"ArrowUp":e)?"ArrowRight":e)?"ArrowDown":e}function getSelection(e){return(e.getSelection?e:document).getSelection()}function contains(e,t){return!!t&&e.contains(1!=t.nodeType?t.parentNode:t)}function deepActiveElement(){let e=document.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function hasSelection(e,t){if(!t.anchorNode)return!1;try{return contains(e,t.anchorNode)}catch(e){return!1}}function clientRectsFor(e){return 3==e.nodeType?textRange(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function isEquivalentPosition(e,t,i,n){return!!i&&(scanFor(e,t,i,n,-1)||scanFor(e,t,i,n,1))}function domIndex(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function scanFor(e,t,i,n,r){for(;;){if(e==i&&t==n)return!0;if(t==(r<0?0:maxOffset(e))){if("DIV"==e.nodeName)return!1;var s=e.parentNode;if(!s||1!=s.nodeType)return!1;t=domIndex(e)+(r<0?0:1),e=s}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(r<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=r<0?maxOffset(e):0}}}function maxOffset(e){return(3==e.nodeType?e.nodeValue:e.childNodes).length}const Rect0={left:0,right:0,top:0,bottom:0};function flattenRect(e,t){t=t?e.left:e.right;return{left:t,right:t,top:e.top,bottom:e.bottom}}function windowRect(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}const ScrollSpace=5;function scrollRectIntoView(e,s){let t=e.ownerDocument,a=t.defaultView;for(let r=e.parentNode;r;)if(1==r.nodeType){let e,t=r==document.body;if(t)e=windowRect(a);else{if(r.scrollHeight<=r.clientHeight&&r.scrollWidth<=r.clientWidth){r=r.parentNode;continue}var o=r.getBoundingClientRect();e={left:o.left,right:o.left+r.clientWidth,top:o.top,bottom:o.top+r.clientHeight}}let i=0,n=0;var l;if(s.tope.bottom&&(n=s.bottom-e.bottom+ScrollSpace),s.lefte.right&&(i=s.right-e.right+ScrollSpace),(i||n)&&(t?a.scrollBy(i,n):(n&&(l=r.scrollTop,r.scrollTop+=n,n=r.scrollTop-l),i&&(l=r.scrollLeft,r.scrollLeft+=i,i=r.scrollLeft-l),s={left:s.left-i,top:s.top-n,right:s.right-i,bottom:s.bottom-n})),t)break;r=r.assignedSlot||r.parentNode}else{if(11!=r.nodeType)break;r=r.host}}class DOMSelection{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}}let preventScrollSupported=null;function focusPreventScroll(t){if(t.setActive)return t.setActive();if(preventScrollSupported)return t.focus(preventScrollSupported);let r=[];for(let e=t;e&&(r.push(e,e.scrollTop,e.scrollLeft),e!=e.ownerDocument);e=e.parentNode);if(t.focus(null==preventScrollSupported?{get preventScroll(){return preventScrollSupported={preventScroll:!0},!0}}:void 0),!preventScrollSupported){preventScrollSupported=!1;for(let n=0;na&&e.dom.parentNode==this.dom){c=i,h=r;break}r=t,n=t+e.breakAfter}return{from:l,to:h<0?e+this.length:h,startDOM:(o?this.children[o-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:cthis.pos||e==this.pos&&(0MaxJoinLen))&&(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(t),this.markDirty(),!0)}slice(e){return new TextView(this.text.slice(e))}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new DOMPos(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return textCoords(this.dom,e,t)}}class MarkView extends InlineView{constructor(e,t=[],i=0){super(),this.mark=e,this.children=t,this.length=i;for(var n of t)n.setParent(this)}createDOM(){let e=document.createElement(this.mark.tagName);if(this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(var t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);this.setDOM(e)}sync(e){this.dom||this.createDOM(),super.sync(e)}merge(e,t,i,n,r){return(!i||!(!(i instanceof MarkView&&i.mark.eq(this.mark))||e&&n<=0||te.width)||o),a?flattenRect(o,a<0):o}class WidgetView extends InlineView{constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i}static create(e,t,i){return new(e.customView||WidgetView)(e,t,i)}slice(e){return WidgetView.create(this.widget,this.length-e,this.side)}sync(){this.dom&&this.widget.updateDOM(this.dom)||(this.setDOM(this.widget.toDOM(this.editorView)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,i,n,r){return!(i&&(!(i instanceof WidgetView&&this.widget.compare(i.widget))||0i&&se?i[r]=Math.max(i[r],t):i.push(e,t)}PointDecoration.prototype.point=!0;class LineView extends ContentView{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,i,n,r,s){if(i){if(!(i instanceof LineView))return!1;this.dom||i.transferDOM(this)}return n&&this.setDeco(i?i.attrs:null),mergeInlineChildren(this,e,t,i?i.children:none$1$1,r,s),!0}split(e){let t=new LineView;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i,off:n}=this.childPos(e);n&&(t.append(this.children[i].slice(n),0),this.children[i].merge(n,this.children[i].length,null,0,0),i++);for(let e=i;ee instanceof TextView))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||20!e.length||e[0]});class PluginFieldProvider{constructor(e,t){this.field=e,this.get=t}}class PluginField{from(e){return new PluginFieldProvider(this,e)}static define(){return new PluginField}}PluginField.decorations=PluginField.define(),PluginField.atomicRanges=PluginField.define(),PluginField.scrollMargins=PluginField.define();let nextPluginID=0;const viewPlugin=Facet.define();class ViewPlugin{constructor(e,t,i){this.id=e,this.create=t,this.fields=i,this.extension=viewPlugin.of(this)}static define(e,t){let{eventHandlers:i,provide:n,decorations:r}=t||{},s=[];if(n)for(var a of Array.isArray(n)?n:[n])s.push(a);return i&&s.push(domEventHandlers.from(e=>({plugin:e,handlers:i}))),r&&s.push(PluginField.decorations.from(r)),new ViewPlugin(nextPluginID++,e,s)}static fromClass(t,e){return ViewPlugin.define(e=>new t(e),e)}}const domEventHandlers=PluginField.define();class PluginInstance{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}takeField(e,t){for(var{field:i,get:n}of this.spec.fields)i==e&&t.push(n(this.value))}update(t){if(this.value){if(this.mustUpdate){var i=this.mustUpdate;if(this.mustUpdate=null,!this.value.update)return this;try{this.value.update(i)}catch(e){if(logException(i.state,e,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}return PluginInstance.dummy}}}else try{this.value=this.spec.create(t)}catch(e){return logException(t.state,e,"CodeMirror plugin crashed"),PluginInstance.dummy}return this}destroy(t){var e;if(null!==(e=this.value)&&void 0!==e&&e.destroy)try{this.value.destroy()}catch(e){logException(t.state,e,"CodeMirror plugin crashed")}}}PluginInstance.dummy=new PluginInstance(ViewPlugin.define(()=>({})));const editorAttributes=Facet.define({combine:e=>e.reduce((e,t)=>combineAttrs(t,e),{})}),contentAttributes=Facet.define({combine:e=>e.reduce((e,t)=>combineAttrs(t,e),{})}),decorations=Facet.define(),styleModule=Facet.define();class ChangedRange{constructor(e,t,i,n){this.fromA=e,this.toA=t,this.fromB=i,this.toB=n}join(e){return new ChangedRange(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;0i.toA)){if(n.toAr.push(new ChangedRange(e,t,i,n))),this.changedRanges=r;i=e.hasFocus;i!=e.inputState.notifiedFocused&&(e.inputState.notifiedFocused=i,this.flags|=1),this.docChanged&&(this.flags|=2)}get viewportChanged(){return 0<(4&this.flags)}get heightChanged(){return 0<(2&this.flags)}get geometryChanged(){return this.docChanged||0<(18&this.flags)}get focusChanged(){return 0<(1&this.flags)}get docChanged(){return this.transactions.some(e=>e.docChanged)}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}class DocView extends ContentView{constructor(e){super(),this.view=e,this.compositionDeco=Decoration.none,this.decorations=[],this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.setDOM(e.contentDOM),this.children=[new LineView],this.children[0].setParent(this),this.updateInner([new ChangedRange(0,0,0,e.state.doc.length)],this.updateDeco(),0)}get root(){return this.view.root}get editorView(){return this.view}get length(){return this.view.state.doc.length}update(e){let t=e.changedRanges;0tthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=0),this.view.inputState.composing<0?this.compositionDeco=Decoration.none:e.transactions.length&&(this.compositionDeco=computeCompositionDeco(this.view,e.changes));var i=(browser.ie||browser.chrome)&&!this.compositionDeco.size&&e&&e.state.doc.lines!=e.startState.doc.lines,n=this.decorations,r=this.updateDeco(),n=findChangedDeco(n,r,e.changes);t=ChangedRange.extendWithRanges(t,n);n=e.transactions.some(e=>"pointerselection"==e.annotation(Transaction.userEvent));return 0==this.dirty&&0==t.length&&!(12&e.flags)&&e.state.selection.main.from>=this.view.viewport.from&&e.state.selection.main.to<=this.view.viewport.to?(this.updateSelection(i,n),!1):(this.updateInner(t,r,e.startState.doc.length,i,n),!0)}updateInner(e,t,i,n=!1,r=!1){this.updateChildren(e,t,i);let{observer:s}=this.view;s.ignore(()=>{this.dom.style.height=this.view.viewState.domHeight+"px",this.dom.style.minWidth=this.minWidth?this.minWidth+"px":"";var e=browser.chrome||browser.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.sync(e),this.dirty=0,e&&(e.written||s.selectionRange.focusNode!=e.node)&&(n=!0),this.updateSelection(n,r),this.dom.style.height=""})}updateChildren(t,i,e){let n=this.childCursor(e);for(let e=t.length-1;;e--){var r=0<=e?t[e]:null;if(!r)break;var{fromA:s,toA:a,fromB:o,toB:l}=r,{content:c,breakAtStart:h,openStart:d,openEnd:r}=ContentBuilder.build(this.view.state.doc,o,l,i),{i:o,off:l}=n.findPos(a,1),{i:a,off:s}=n.findPos(s,-1);this.replaceRange(a,s,o,l,c,h,d,r)}}replaceRange(t,i,n,r,s,a,o,l){let c=this.children[t],h=s.length?s[s.length-1]:null;var d=h?h.breakAfter:a;if(t!=n||a||d||!(s.length<2)||!c.merge(i,r,s.length?h:null,0==i,o,l)){let e=this.children[n];for(rr.node.insertBefore(e,r.node.childNodes[r.offset]||null)),r=s=new DOMPos(e,0),t=!0}let a=this.view.observer.selectionRange;!(t||!a.focusNode||browser.gecko&&n.empty&&nextToUneditable(a.focusNode,a.focusOffset))&&isEquivalentPosition(r.node,r.offset,a.anchorNode,a.anchorOffset)&&isEquivalentPosition(s.node,s.offset,a.focusNode,a.focusOffset)||(this.view.observer.ignore(()=>{let t=getSelection(this.root);var e,i;if(n.empty)browser.gecko&&(!(e=nextToUneditable(r.node,r.offset))||3==e||(i=nearbyTextNode(r.node,r.offset,1==e?1:-1))&&(r=new DOMPos(i,1==e?0:i.nodeValue.length))),t.collapse(r.node,r.offset),null!=n.bidiLevel&&null!=a.cursorBidiLevel&&(a.cursorBidiLevel=n.bidiLevel);else if(t.extend)t.collapse(r.node,r.offset),t.extend(s.node,s.offset);else{let e=document.createRange();n.anchor>n.head&&([r,s]=[s,r]),e.setEnd(s.node,s.offset),e.setStart(r.node,r.offset),t.removeAllRanges(),t.addRange(e)}}),this.view.observer.setSelectionRange(r,s)),this.impreciseAnchor=r.precise?null:new DOMPos(a.anchorNode,a.anchorOffset),this.impreciseHead=s.precise?null:new DOMPos(a.focusNode,a.focusOffset)}}enforceCursorAssoc(){var e,t,i=this.view.state.selection.main;let n=getSelection(this.root);i.empty&&i.assoc&&n.modify&&((t=LineView.find(this,i.head))&&(e=t.posAtStart,i.head!=e&&i.head!=e+t.length&&(e=this.coordsAt(i.head,-1),t=this.coordsAt(i.head,1),!e||!t||e.bottom>t.top||(t=this.domAtPos(i.head+i.assoc),n.collapse(t.node,t.offset),n.modify("move",i.assoc<0?"forward":"backward","lineboundary")))))}mayControlSelection(){return this.view.state.facet(editable)?this.root.activeElement==this.dom:hasSelection(this.dom,this.view.observer.selectionRange)}nearest(t){for(let e=t;e;){var i=ContentView.get(e);if(i&&i.rootView==this)return i;e=e.parentNode}return null}posFromDOM(e,t){let i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}domAtPos(e){let{i:t,off:i}=this.childCursor().findPos(e,-1);for(;t=s&&(r.push(e.dom.getBoundingClientRect().height),(l=e.dom.scrollWidth)>o&&(this.minWidth=o=l,this.minWidthFrom=i,this.minWidthTo=t)),i=t+e.breakAfter}return r}measureTextSize(){for(var e of this.children)if(e instanceof LineView){e=e.measureTextSize();if(e)return e}let t=document.createElement("div"),i,n;return t.className="cm-line",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(t);var e=clientRectsFor(t.firstChild)[0];i=t.getBoundingClientRect().height,n=e?e.width/27:7,t.remove()}),{lineHeight:i,charWidth:n}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new ChildCursor(this.children,e,t)}computeBlockGapDeco(){let i=[],n=this.view.viewState;for(let e=0,t=0;;t++){var r,s=t==n.viewports.length?null:n.viewports[t],a=s?s.from-1:this.length;if(a>e&&(r=n.lineAt(a,0).bottom-n.lineAt(e,0).top,i.push(Decoration.replace({widget:new BlockGapWidget(r),block:!0,inclusive:!0}).range(e,a))),!s)break;e=s.to+1}return Decoration.set(i)}updateDeco(){return this.decorations=[this.computeBlockGapDeco(),this.view.viewState.lineGapDeco,this.compositionDeco,...this.view.state.facet(decorations),...this.view.pluginField(PluginField.decorations)]}scrollPosIntoView(e,r){var s,a,o,r=this.coordsAt(e,r);if(r){let e=0,t=0,i=0,n=0;for(var l of this.view.pluginField(PluginField.scrollMargins))l&&({left:s,right:a,top:o,bottom:l}=l,null!=s&&(e=Math.max(e,s)),null!=a&&(t=Math.max(t,a)),null!=o&&(i=Math.max(i,o)),null!=l&&(n=Math.max(n,l)));scrollRectIntoView(this.dom,{left:r.left-e,top:r.top-i,right:r.right+t,bottom:r.bottom+n})}}}function betweenUneditable(e){return 1==e.node.nodeType&&e.node.firstChild&&(0==e.offset||"false"==e.node.childNodes[e.offset-1].contentEditable)&&(e.offset==e.node.childNodes.length||"false"==e.node.childNodes[e.offset].contentEditable)}class BlockGapWidget extends WidgetType{constructor(e){super(),this.height=e}toDOM(){var e=document.createElement("div");return this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}}function computeCompositionDeco(e,t){var i=e.observer.selectionRange,i=i.focusNode&&nearbyTextNode(i.focusNode,i.focusOffset,0);if(!i)return Decoration.none;let n=e.docView.nearest(i),r,s,a=i;if(n instanceof InlineView){for(;n.parent instanceof InlineView;)n=n.parent;r=n.posAtStart,s=r+n.length,a=n.dom}else{if(!(n instanceof LineView))return Decoration.none;{for(;a.parentNode!=n.dom;)a=a.parentNode;let e=a.previousSibling;for(;e&&!ContentView.get(e);)e=e.previousSibling;r=s=e?ContentView.get(e).posAtEnd:n.posAtStart}}let o=t.mapPos(r,1),l=Math.max(o,t.mapPos(s,-1)),c=i.nodeValue,{state:h}=e;if(l-o=i){if(a.level==n)return e;(s<0||(0!=r?r<0?a.fromi:t[s].level>a.level))&&(s=e)}}if(s<0)throw new RangeError("Index out of range");return s}}const types=[];function computeOrder(a,e){var o=a.length,l=e==LTR?1:2,c=e==LTR?2:1;if(!a||1==l&&!BidiRE.test(a))return trivialOrder(o);for(let t=0,i=l,n=l;tp;){for(var f=e,g=2!=types[--e];e>p&&g==(2!=types[e-1]);)e--;i.push(new BidiSpan(e,f,g?2:1))}else i.push(new BidiSpan(p,t,0))}else for(let e=0;ee?t.left-e:Math.max(0,e-t.right)}function getdy(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function yOverlap(e,t){return e.topt.top+1}function upTop(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function domPosAtCoords(e,n,r){let s,a,o,l,c,h,d,u;for(let i=e.firstChild;i;i=i.nextSibling){var p=clientRectsFor(i);for(let t=0;tf||l==f&&o>O)&&(s=i,a=e,o=O,l=f),0==O?r>e.bottom&&(!d||d.bottome.top)&&(h=i,u=e):d&&yOverlap(d,e)?d=upBot(d,e.bottom):u&&yOverlap(u,e)&&(u=upTop(u,e.top))}}if(d&&d.bottom>=r?(s=c,a=d):u&&u.top<=r&&(s=h,a=u),!s)return{node:e,offset:0};var t=Math.max(a.left,Math.min(a.right,n));return 3==s.nodeType?domPosInText(s,t,r):o||"true"!=s.contentEditable?{node:e,offset:Array.prototype.indexOf.call(e.childNodes,s)+(n>=(a.left+a.right)/2?1:0)}:domPosAtCoords(s,t,r)}function domPosInText(n,r,t){var e=n.nodeValue.length;let s=-1,a=1e9,o=0;for(let i=0;it?c.top-t:t-c.bottom)-1;if(c.left-1<=r&&c.right+1>=r&&h=(c.left+c.right)/2,t=e;if((browser.chrome||browser.gecko)&&textRange(n,i).getBoundingClientRect().left==c.right&&(t=!e),h<=0)return{node:n,offset:i+(t?1:0)};s=i+(t?1:0),a=h}}}}return{node:n,offset:-1i||s.bottomi?-1:1,i=Math.min(s.bottom-a,Math.max(s.top+a,i)),e)return null;e=!0}if(s.type==BlockType.Text)break;i=0t.viewport.to)return t.viewport.to==t.state.doc.length?t.state.doc.length:null;e=Math.max(r.left+1,Math.min(r.right-1,e));let c=t.root,h=c.elementFromPoint(e,i),d,u=-1;return!h||!t.contentDOM.contains(h)||t.docView.nearest(h)instanceof WidgetView||(c.caretPositionFromPoint?(o=c.caretPositionFromPoint(e,i))&&({offsetNode:d,offset:u}=o):!c.caretRangeFromPoint||(o=c.caretRangeFromPoint(e,i))&&({startContainer:d,startOffset:u}=o,browser.safari&&isSuspiciousCaretResult(d,u,e)&&(d=void 0))),d&&t.docView.dom.contains(d)||(l=LineView.find(t.docView,l),{node:d,offset:u}=domPosAtCoords(l.dom,e,i)),t.docView.posFromDOM(d,u)}function isSuspiciousCaretResult(t,e,i){let n;if(3!=t.nodeType||e!=(n=t.nodeValue.length))return!1;for(let e=t.nextSibling;e;e=t.nextSibling)if(1!=e.nodeType||"BR"!=e.nodeName)return!1;return textRange(t,n-1,n).getBoundingClientRect().left>i}function moveToLineBoundary(e,t,i,n){var r=e.state.doc.lineAt(t.head),s=n&&e.lineWrapping?e.coordsAtPos(t.assoc<0&&t.head>r.from?t.head-1:t.head):null;if(s){n=e.dom.getBoundingClientRect(),s=e.posAtCoords({x:i==(e.textDirection==Direction.LTR)?n.right-1:n.left+1,y:(s.top+s.bottom)/2});if(null!=s)return EditorSelection.cursor(s,i?-1:1)}t=LineView.find(e.docView,t.head),r=t?i?t.posAtEnd:t.posAtStart:i?r.to:r.from;return EditorSelection.cursor(r,i?-1:1)}function moveByChar(r,e,s,a){let o=r.state.doc.lineAt(e.head),l=r.bidiSpans(o);for(let i=e,n=null;;){let e=moveVisually(o,l,r.textDirection,i,s),t=movedOver;if(!e){if(o.number==(s?r.state.doc.lines:1))return i;t="\n",o=r.state.doc.line(o.number+(s?1:-1)),l=r.bidiSpans(o),e=EditorSelection.cursor(s?o.from:o.to)}if(n){if(!n(t))return i}else{if(!a)return e;n=a(t)}i=e}}function byGroup(e,t,i){let n=e.state.charCategorizer(t),r=n(i);return e=>{e=n(e);return r==CharCategory.Space&&(r=e),r==e}}function moveVertically(i,e,t,n){var r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return EditorSelection.cursor(r);var a=i.coordsAtPos(r);if(a){var o=i.dom.getBoundingClientRect(),l=null!==(t=e.goalColumn)&&void 0!==t?t:a.left-o.left,c=o.left+l,h=null!=n?n:i.defaultLineHeight>>1;for(let e=s<0?a.top:a.bottom,t=0;t<50;t+=10){var d=posAtCoords(i,{x:c,y:e+(h+t)*s},s);if(null==d)break;if(d!=r)return EditorSelection.cursor(d,void 0,void 0,l)}}let{doc:u}=i.state,p=u.lineAt(r),O=i.state.tabSize,f=e.goalColumn,g=0;if(null==f){for(const w=u.iterRange(p.from,r);!w.next().done;)g=countColumn(w.value,g,O);f=g*i.defaultCharacterWidth}else g=Math.round(f/i.defaultCharacterWidth);if(s<0&&0==p.from)return EditorSelection.cursor(0);if(0=g&&!S.next().done;){var{offset:y,leftOver:Q}=findColumn(S.value,v,g,O);v=g-Q,m+=y}return EditorSelection.cursor(m,void 0,void 0,f)}function skipAtoms(e,r,s){for(var t=e.pluginField(PluginField.atomicRanges);;){let n=!1;for(var i of t)i.between(s.from-1,s.from+1,(e,t,i)=>{s.from>e&&s.froms.from?EditorSelection.cursor(e,1):EditorSelection.cursor(t,-1),n=!0)});if(!n)return s}}class InputState{constructor(n){this.lastKeyCode=0,this.lastKeyTime=0,this.pendingIOSKey=null,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionEndedAt=0,this.mouseSelection=null;for(let i in handlers){let t=handlers[i];n.contentDOM.addEventListener(i,e=>{"keydown"==i&&this.keydown(n,e)||eventBelongsToEditor(n,e)&&!this.ignoreDuringComposition(e)&&(this.mustFlushObserver(e)&&n.observer.forceFlush(),this.runCustomHandlers(i,n,e)?e.preventDefault():t(n,e))}),this.registeredEvents.push(i)}this.notifiedFocused=n.hasFocus,this.ensureHandlers(n),browser.safari&&n.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(i){var e;for(e of this.customHandlers=i.pluginField(domEventHandlers))for(let t in e.handlers)this.registeredEvents.indexOf(t)<0&&"scroll"!=t&&(this.registeredEvents.push(t),i.contentDOM.addEventListener(t,e=>{eventBelongsToEditor(i,e)&&this.runCustomHandlers(t,i,e)&&e.preventDefault()}))}runCustomHandlers(i,n,r){for(var s of this.customHandlers){let e=s.handlers[i],t=!1;if(e){try{t=e.call(s.plugin,r,n)}catch(e){logException(n.state,e)}if(t||r.defaultPrevented)return browser.android&&"keydown"==i&&13==r.keyCode&&n.observer.flushSoon(),!0}}return!1}runScrollHandlers(t,i){for(var n of this.customHandlers){let e=n.handlers.scroll;if(e)try{e.call(n.plugin,i,t)}catch(e){logException(t.state,e)}}}keydown(e,t){return this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),!!this.screenKeyEvent(e,t)||!(!browser.ios||13!=t.keyCode&&8!=t.keyCode||t.ctrlKey||t.altKey||t.metaKey||t.synthetic)&&(this.pendingIOSKey=13==t.keyCode?"enter":"backspace",setTimeout(()=>this.flushIOSKey(e),250),!0)}flushIOSKey(e){if(!this.pendingIOSKey)return!1;var t=e.contentDOM,e=this.pendingIOSKey;return this.pendingIOSKey=null,"enter"==e?dispatchKey(t,"Enter",13):dispatchKey(t,"Backspace",8)}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(0=t.clientX&&s.top<=t.clientY&&s.bottom>=t.clientY)return!0}return!1}function eventBelongsToEditor(i,n){if(!n.bubbles)return!0;if(n.defaultPrevented)return!1;for(let e=n.target,t;e!=i.contentDOM;e=e.parentNode)if(!e||11==e.nodeType||(t=ContentView.get(e))&&t.ignoreEvent(n))return!1;return!0}const handlers=Object.create(null),brokenClipboardAPI=browser.ie&&browser.ie_version<15||browser.ios&&browser.webkit_version<604;function capturePaste(t){let i=t.dom.parentNode;if(i){let e=i.appendChild(document.createElement("textarea"));e.style.cssText="position: fixed; left: -10000px; top: 10px",e.focus(),setTimeout(()=>{t.focus(),e.remove(),doPaste(t,e.value)},50)}}function doPaste(e,r){let{state:s}=e,t,a=1,o=s.toText(r),l=o.lines==s.selection.ranges.length;if(lastLinewiseCopy&&s.selection.ranges.every(e=>e.empty)&&lastLinewiseCopy==o.toString()){let n=-1;t=s.changeByRange(e=>{var t=s.doc.lineAt(e.from);if(t.from==n)return{range:e};n=t.from;var i=s.toText((l?o.line(a++).text:r)+s.lineBreak);return{changes:{from:t.from,insert:i},range:EditorSelection.cursor(e.from+i.length)}})}else t=l?s.changeByRange(e=>{var t=o.line(a++);return{changes:{from:e.from,to:e.to,insert:t.text},range:EditorSelection.cursor(e.from+t.length)}}):s.replaceSelection(o);e.dispatch(t,{annotations:Transaction.userEvent.of("paste"),scrollIntoView:!0})}handlers.keydown=(e,t)=>{e.inputState.setSelectionOrigin("keyboardselection")};let lastTouch=0;function rangeForClick(i,n,r,e){if(1==e)return EditorSelection.cursor(n,r);if(2==e)return groupAt(i.state,n,r);{r=LineView.find(i.docView,n),n=i.state.doc.lineAt(r?r.posAtEnd:n);let e=r?r.posAtStart:n.from,t=r?r.posAtEnd:n.to;return t{lastTouch=Date.now(),e.inputState.setSelectionOrigin("pointerselection")},handlers.touchmove=e=>{e.inputState.setSelectionOrigin("pointerselection")},handlers.mousedown=(t,i)=>{if(t.observer.flush(),!(lastTouch>Date.now()-2e3)){let e=null;for(var n of t.state.facet(mouseSelectionStyle))if(e=n(t,i),e)break;e||0!=i.button||(e=basicMouseSelection(t,i)),e&&(t.root.activeElement!=t.contentDOM&&t.observer.ignore(()=>focusPreventScroll(t.contentDOM)),t.inputState.startMouseSelection(t,i,e))}};let insideY=(e,t)=>e>=t.top&&e<=t.bottom,inside=(e,t,i)=>insideY(t,i)&&e>=i.left&&e<=i.right;function findPositionSide(e,t,i,n){let r=LineView.find(e.docView,t);if(!r)return 1;e=t-r.posAtStart;if(0==e)return 1;if(e==r.length)return-1;t=r.coordsAt(e,-1);if(t&&inside(i,n,t))return-1;e=r.coordsAt(e,1);return(!e||!inside(i,n,e))&&t&&insideY(n,t)?-1:1}function queryPos(e,t){var i=e.posAtCoords({x:t.clientX,y:t.clientY});return null==i?null:{pos:i,bias:findPositionSide(e,i,t.clientX,t.clientY)}}const BadMouseDetail=browser.ie&&browser.ie_version<=11;let lastMouseDown=null,lastMouseDownCount=0,lastMouseDownTime=0;function getClickType(e){if(!BadMouseDetail)return e.detail;var t=lastMouseDown,i=lastMouseDownTime;return lastMouseDown=e,lastMouseDownTime=Date.now(),lastMouseDownCount=!t||i>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(lastMouseDownCount+1)%3:1}function basicMouseSelection(a,e){let o=queryPos(a,e),l=getClickType(e),c=a.state.selection,h=o,d=e;return{update(e){e.changes&&(o&&(o.pos=e.changes.mapPos(o.pos)),c=c.map(e.changes))},get(e,t,i){let n;if(e.clientX==d.clientX&&e.clientY==d.clientY?n=h:(n=h=queryPos(a,e),d=e),!n||!o)return c;let r=rangeForClick(a,n.pos,n.bias,l);var s;return o.pos==n.pos||t||(s=rangeForClick(a,o.pos,o.bias,l),e=Math.min(s.from,r.from),s=Math.max(s.to,r.to),r=e{e.remove(),t.focus()},50)}}function copiedRange(t){let i=[],n=[],r=!1;for(var e of t.selection.ranges)e.empty||(i.push(t.sliceDoc(e.from,e.to)),n.push(e));if(!i.length){let e=-1;for(var{from:s}of t.selection.ranges){s=t.doc.lineAt(s);s.number>e&&(i.push(s.text),n.push({from:s.from,to:Math.min(t.doc.length,s.to+1)})),e=s.number}r=!0}return{text:i.join(t.lineBreak),ranges:n,linewise:r}}handlers.dragstart=(e,t)=>{var{selection:{main:i}}=e.state;let{mouseSelection:n}=e.inputState;n&&(n.dragging=i),t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(i.from,i.to)),t.dataTransfer.effectAllowed="copyMove")},handlers.drop=(t,s)=>{if(s.dataTransfer&&t.state.facet(editable)){let r=s.dataTransfer.files;if(r&&r.length){s.preventDefault();let i=Array(r.length),e=0,n=()=>{++e==r.length&&dropText(t,s,i.filter(e=>null!=e).join(t.state.lineBreak),!1)};for(let t=0;t{/[\x00-\x08\x0e-\x1f]{2}/.test(e.result)||(i[t]=e.result),n()},e.readAsText(r[t])}}else dropText(t,s,s.dataTransfer.getData("Text"),!0)}},handlers.paste=(t,i)=>{if(t.state.facet(editable)){t.observer.flush();let e=brokenClipboardAPI?null:i.clipboardData;var n=e&&e.getData("text/plain");n?(doPaste(t,n),i.preventDefault()):capturePaste(t)}};let lastLinewiseCopy=null;function forceClearComposition(e){e.docView.compositionDeco.size&&e.update([])}handlers.copy=handlers.cut=(t,i)=>{var{text:n,ranges:r,linewise:s}=copiedRange(t.state);if(n){lastLinewiseCopy=s?n:null;let e=brokenClipboardAPI?null:i.clipboardData;e?(i.preventDefault(),e.clearData(),e.setData("text/plain",n)):captureCopy(t,n),"cut"==i.type&&t.state.facet(editable)&&t.dispatch({changes:r,scrollIntoView:!0,annotations:Transaction.userEvent.of("cut")})}},handlers.focus=handlers.blur=e=>{setTimeout(()=>{e.hasFocus!=e.inputState.notifiedFocused&&e.update([])},10)},handlers.beforeprint=e=>{e.viewState.printing=!0,e.requestMeasure(),setTimeout(()=>{e.viewState.printing=!1,e.requestMeasure()},2e3)},handlers.compositionstart=handlers.compositionupdate=e=>{e.inputState.composing<0&&(e.docView.compositionDeco.size&&(e.observer.flush(),forceClearComposition(e)),e.inputState.composing=0)},handlers.compositionend=e=>{e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),setTimeout(()=>{e.inputState.composing<0&&forceClearComposition(e)},50)},handlers.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()};const wrappingWhiteSpace=["pre-wrap","normal","pre-line"];class HeightOracle{constructor(){this.doc=Text.empty,this.lineWrapping=!1,this.direction=Direction.LTR,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength)),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefresh(t,e,i){let n=!1;for(let e=0;eEpsilon&&(e.heightChanged=!0),this.height=t)}replace(e,t,i){return HeightMap.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(a,o,l,c){let h=this;for(let s=c.length-1;0<=s;s--){let{fromA:e,toA:t,fromB:i,toB:n}=c[s],r=h.lineAt(e,QueryType.ByPosNoHeight,o,0,0);var d=r.to>=t?r:h.lineAt(t,QueryType.ByPosNoHeight,o,0,0);for(n+=d.to-t,t=d.to;02*r){var a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),i+=1+a.break,n-=a.size}else{if(!(r>2*n))break;a=e[i];a.break?e.splice(i,1,a.left,null,a.right):e.splice(i,1,a.left,a.right),i+=2+a.break,r-=a.size}else ne&&t.push(new HeightMapGap(r.from-e-1).updateHeight(n,e));i<=s&&r.more;){var a=n.doc.lineAt(i).length;t.length&&t.push(null);let e=new HeightMapText(a,r.heights[r.index++]);e.outdated=!1,t.push(e),i+=a+1}return i<=s&&t.push(null,new HeightMapGap(s-i).updateHeight(n,i)),n.heightChanged=!0,HeightMap.of(t)}return(t||this.outdated)&&(this.setHeight(n,n.heightForGap(e,e+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class HeightMapBranch extends HeightMap{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return 1&this.flags}blockAt(e,t,i,n){var r=i+this.left.height;return ea))return l;t=t==QueryType.ByPosNoHeight?QueryType.ByPosNoHeight:QueryType.ByPos;return o?l.join(this.right.lineAt(a,t,i,s,a)):this.left.lineAt(a,t,i,n,r).join(l)}forEachLine(e,t,i,n,r,s){var a,o=n+this.left.height,l=r+this.left.length+this.break;this.break?(e=e&&a.from<=t&&s(a),t>a.to&&this.right.forEachLine(a.to+1,t,i,o,l,s))}replace(e,t,i){var n=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-n,t-n,i));let r=[];0=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){var i=this.left.length,n=i+this.break;if(n<=e)return this.right.decomposeRight(e-n,t);e2*t.size||t.size>2*e.size?HeightMap.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,n){let{left:r,right:s}=this,a=t+r.length+this.break,o=null;return n&&n.from<=t+r.length&&n.more?o=r=r.updateHeight(e,t,i,n):r.updateHeight(e,t,i),n&&n.from<=a+s.length&&n.more?o=s=s.updateHeight(e,a,i,n):s.updateHeight(e,a,i),o?this.balanced(r,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function mergeGaps(e,t){let i,n;null==e[t]&&(i=e[t-1])instanceof HeightMapGap&&(n=e[t+1])instanceof HeightMapGap&&e.splice(t-1,3,new HeightMapGap(i.length+1+n.length))}const relevantWidgetHeight=5;class NodeBuilder{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,i){if(-1this.pos||!this.isCovered)&&this.nodes.push(new HeightMapText(e-this.pos,-1)),(this.writtenTo=e)=relevantWidgetHeight)&&this.addLineDeco(n,r)):ee&&this.nodes.push(new HeightMapText(this.pos-e,-1)),this.writtenTo=this.pos)}blankContent(e,t){let i=new HeightMapGap(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();var e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof HeightMapText)return e;e=new HeightMapText(0,-1);return this.nodes.push(e),e}addBlock(e){this.enterLine(),e.type!=BlockType.WidgetAfter||this.isCovered||this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,e.type!=BlockType.WidgetBefore&&(this.covering=e)}addLineDeco(e,t){let i=this.ensureLine();i.length+=t,i.collapsed+=t,i.widgetHeight=Math.max(i.widgetHeight,e),this.writtenTo=this.pos=this.pos+t}finish(e){var t,i=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(-1e.clientHeight||e.scrollWidth>e.clientWidth)&&"visible"!=l.overflow&&(o=e.getBoundingClientRect(),n=Math.max(n,o.left),r=Math.min(r,o.right),s=Math.max(s,o.top),a=Math.min(a,o.bottom)),e="absolute"==l.position||"fixed"==l.position?e.offsetParent:e.parentNode}else{if(11!=e.nodeType)break;e=e.host}return{left:n-i.left,right:r-i.left,top:s-(i.top+e),bottom:a-(i.top+e)}}class LineGap{constructor(e,t,i){this.from=e,this.to=t,this.size=i}static same(t,i){if(t.length!=i.length)return!1;for(let e=0;ee.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:n}=this.state.selection;for(let e=0;e<=1;e++){let i=e?n.head:n.anchor;var r,s;t.some(({from:e,to:t})=>i>=e&&i<=t)||({from:r,to:s}=this.lineAt(i,0),t.push(new Viewport(r,s)))}this.viewports=t.sort((e,t)=>e.from-t.from),this.scaler=this.heightMap.height<=7e6?IdScaler:new BigScaler(this.heightOracle.doc,this.heightMap,this.viewports)}update(e,t=null){var i=this.state;this.state=e.state;var n=this.state.facet(decorations),r=e.changedRanges,s=ChangedRange.extendWithRanges(r,heightRelevantDecoChanges(e.startState.facet(decorations),n,e?e.changes:ChangeSet.empty(this.state.doc.length))),r=this.heightMap.height;this.heightMap=this.heightMap.applyChanges(n,i.doc,this.heightOracle.setDoc(this.state.doc),s),this.heightMap.height!=r&&(e.flags|=2);let a=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.heada.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t)),a.eq(this.viewport)||(this.viewport=a,e.flags|=4),this.updateForViewport(),(this.lineGaps.length||15e3