@tamagui/code-to-html 1.13.2 → 1.13.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/highlightLine.js +5 -133
- package/dist/cjs/highlightLine.js.map +2 -2
- package/dist/cjs/highlightWord.js +1 -52
- package/dist/cjs/highlightWord.js.map +2 -2
- package/dist/cjs/index.js +5 -166
- package/dist/cjs/index.js.map +2 -2
- package/dist/esm/highlightLine.js +16 -10337
- package/dist/esm/highlightLine.js.map +2 -2
- package/dist/esm/highlightLine.mjs +16 -10337
- package/dist/esm/highlightLine.mjs.map +2 -2
- package/dist/esm/highlightWord.js +12 -10256
- package/dist/esm/highlightWord.js.map +2 -2
- package/dist/esm/highlightWord.mjs +12 -10256
- package/dist/esm/highlightWord.mjs.map +2 -2
- package/dist/esm/index.js +19 -17502
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/index.mjs +19 -17502
- package/dist/esm/index.mjs.map +2 -2
- package/package.json +2 -2
package/dist/esm/index.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../node_modules/parse-numeric-range/index.js", "../../../../node_modules/parse5/lib/common/unicode.js", "../../../../node_modules/parse5/lib/common/error-codes.js", "../../../../node_modules/parse5/lib/tokenizer/preprocessor.js", "../../../../node_modules/parse5/lib/tokenizer/named-entity-data.js", "../../../../node_modules/parse5/lib/tokenizer/index.js", "../../../../node_modules/parse5/lib/common/html.js", "../../../../node_modules/parse5/lib/parser/open-element-stack.js", "../../../../node_modules/parse5/lib/parser/formatting-element-list.js", "../../../../node_modules/parse5/lib/utils/mixin.js", "../../../../node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js", "../../../../node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js", "../../../../node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js", "../../../../node_modules/parse5/lib/extensions/location-info/parser-mixin.js", "../../../../node_modules/parse5/lib/extensions/error-reporting/mixin-base.js", "../../../../node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js", "../../../../node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js", "../../../../node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js", "../../../../node_modules/parse5/lib/tree-adapters/default.js", "../../../../node_modules/parse5/lib/utils/merge-options.js", "../../../../node_modules/parse5/lib/common/doctype.js", "../../../../node_modules/parse5/lib/common/foreign-content.js", "../../../../node_modules/parse5/lib/parser/index.js", "../../../../node_modules/unified/node_modules/is-buffer/index.js", "../../../../node_modules/extend/index.js", "../../../../node_modules/vfile/node_modules/is-buffer/index.js", "../../../../node_modules/property-information/lib/util/schema.js", "../../../../node_modules/property-information/lib/util/merge.js", "../../../../node_modules/property-information/lib/normalize.js", "../../../../node_modules/property-information/lib/util/info.js", "../../../../node_modules/property-information/lib/util/types.js", "../../../../node_modules/property-information/lib/util/defined-info.js", "../../../../node_modules/property-information/lib/util/create.js", "../../../../node_modules/property-information/lib/xlink.js", "../../../../node_modules/property-information/lib/xml.js", "../../../../node_modules/property-information/lib/util/case-sensitive-transform.js", "../../../../node_modules/property-information/lib/util/case-insensitive-transform.js", "../../../../node_modules/property-information/lib/xmlns.js", "../../../../node_modules/property-information/lib/aria.js", "../../../../node_modules/property-information/lib/html.js", "../../../../node_modules/property-information/lib/svg.js", "../../../../node_modules/property-information/lib/find.js", "../../../../node_modules/property-information/index.js", "../../../../node_modules/html-void-elements/index.js", "../../../../node_modules/zwitch/index.js", "../../../../node_modules/stringify-entities/lib/core.js", "../../../../node_modules/stringify-entities/lib/util/to-hexadecimal.js", "../../../../node_modules/stringify-entities/lib/util/to-decimal.js", "../../../../node_modules/character-entities-legacy/index.js", "../../../../node_modules/character-entities-html4/index.js", "../../../../node_modules/stringify-entities/lib/constant/dangerous.js", "../../../../node_modules/stringify-entities/lib/util/to-named.js", "../../../../node_modules/stringify-entities/lib/util/format-smart.js", "../../../../node_modules/stringify-entities/lib/index.js", "../../../../node_modules/hast-util-to-html/lib/handle/comment.js", "../../../../node_modules/hast-util-to-html/lib/handle/doctype.js", "../../../../node_modules/ccount/index.js", "../../../../node_modules/comma-separated-tokens/index.js", "../../../../node_modules/space-separated-tokens/index.js", "../../../../node_modules/hast-util-whitespace/index.js", "../../../../node_modules/hast-util-to-html/lib/omission/util/siblings.js", "../../../../node_modules/hast-util-to-html/lib/omission/omission.js", "../../../../node_modules/hast-util-to-html/lib/omission/closing.js", "../../../../node_modules/hast-util-to-html/lib/omission/opening.js", "../../../../node_modules/hast-util-to-html/lib/handle/element.js", "../../../../node_modules/hast-util-to-html/lib/handle/text.js", "../../../../node_modules/hast-util-to-html/lib/handle/raw.js", "../../../../node_modules/hast-util-to-html/lib/handle/root.js", "../../../../node_modules/hast-util-to-html/lib/handle/index.js", "../../../../node_modules/hast-util-to-html/lib/index.js", "../../src/index.ts", "../../../../node_modules/refractor/lang/clike.js", "../../../../node_modules/refractor/lang/c.js", "../../../../node_modules/refractor/lang/cpp.js", "../../../../node_modules/refractor/lang/arduino.js", "../../../../node_modules/refractor/lang/bash.js", "../../../../node_modules/refractor/lang/csharp.js", "../../../../node_modules/refractor/lang/markup.js", "../../../../node_modules/refractor/lang/css.js", "../../../../node_modules/refractor/lang/diff.js", "../../../../node_modules/refractor/lang/go.js", "../../../../node_modules/refractor/lang/ini.js", "../../../../node_modules/refractor/lang/java.js", "../../../../node_modules/refractor/lang/regex.js", "../../../../node_modules/refractor/lang/javascript.js", "../../../../node_modules/refractor/lang/json.js", "../../../../node_modules/refractor/lang/kotlin.js", "../../../../node_modules/refractor/lang/less.js", "../../../../node_modules/refractor/lang/lua.js", "../../../../node_modules/refractor/lang/makefile.js", "../../../../node_modules/refractor/lang/yaml.js", "../../../../node_modules/refractor/lang/markdown.js", "../../../../node_modules/refractor/lang/objectivec.js", "../../../../node_modules/refractor/lang/perl.js", "../../../../node_modules/refractor/lang/markup-templating.js", "../../../../node_modules/refractor/lang/php.js", "../../../../node_modules/refractor/lang/python.js", "../../../../node_modules/refractor/lang/r.js", "../../../../node_modules/refractor/lang/ruby.js", "../../../../node_modules/refractor/lang/rust.js", "../../../../node_modules/refractor/lang/sass.js", "../../../../node_modules/refractor/lang/scss.js", "../../../../node_modules/refractor/lang/sql.js", "../../../../node_modules/refractor/lang/swift.js", "../../../../node_modules/refractor/lang/typescript.js", "../../../../node_modules/refractor/lang/basic.js", "../../../../node_modules/refractor/lang/vbnet.js", "../../../../node_modules/hast-util-parse-selector/lib/index.js", "../../../../node_modules/hastscript/lib/core.js", "../../../../node_modules/hastscript/lib/html.js", "../../../../node_modules/hastscript/lib/svg-case-sensitive-tag-names.js", "../../../../node_modules/hastscript/lib/svg.js", "../../../../node_modules/character-reference-invalid/index.js", "../../../../node_modules/is-decimal/index.js", "../../../../node_modules/is-hexadecimal/index.js", "../../../../node_modules/is-alphabetical/index.js", "../../../../node_modules/is-alphanumerical/index.js", "../../../../node_modules/character-entities/index.js", "../../../../node_modules/decode-named-character-reference/index.js", "../../../../node_modules/parse-entities/lib/index.js", "../../../../node_modules/refractor/lib/prism-core.js", "../../../../node_modules/refractor/lib/core.js", "../../../../node_modules/refractor/lib/common.js", "../../../../node_modules/refractor/lang/jsx.js", "../../../../node_modules/refractor/lang/tsx.js", "../../../../node_modules/rehype-parse/lib/index.js", "../../../../node_modules/vfile-location/lib/index.js", "../../../../node_modules/web-namespaces/index.js", "../../../../node_modules/hast-util-from-parse5/lib/index.js", "../../../../node_modules/rehype-parse/lib/errors.js", "../../../../node_modules/bail/index.js", "../../../../node_modules/unified/lib/index.js", "../../../../node_modules/unified/node_modules/is-plain-obj/index.js", "../../../../node_modules/trough/index.js", "../../../../node_modules/vfile/lib/index.js", "../../../../node_modules/unist-util-stringify-position/lib/index.js", "../../../../node_modules/vfile-message/lib/index.js", "../../../../node_modules/vfile/lib/minpath.js", "../../../../node_modules/vfile/lib/minproc.js", "../../../../node_modules/vfile/lib/minurl.js", "../../../../node_modules/vfile/lib/minurl.shared.js", "../../src/highlightLine.ts", "../../src/highlightWord.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * @param {string} string The string to parse\n * @returns {Array<number>} Returns an energetic array.\n */\nfunction parsePart(string) {\n let res = [];\n let m;\n\n for (let str of string.split(\",\").map((str) => str.trim())) {\n // just a number\n if (/^-?\\d+$/.test(str)) {\n res.push(parseInt(str, 10));\n } else if (\n (m = str.match(/^(-?\\d+)(-|\\.\\.\\.?|\\u2025|\\u2026|\\u22EF)(-?\\d+)$/))\n ) {\n // 1-5 or 1..5 (equivalent) or 1...5 (doesn't include 5)\n let [_, lhs, sep, rhs] = m;\n\n if (lhs && rhs) {\n lhs = parseInt(lhs);\n rhs = parseInt(rhs);\n const incr = lhs < rhs ? 1 : -1;\n\n // Make it inclusive by moving the right 'stop-point' away by one.\n if (sep === \"-\" || sep === \"..\" || sep === \"\\u2025\") rhs += incr;\n\n for (let i = lhs; i !== rhs; i += incr) res.push(i);\n }\n }\n }\n\n return res;\n}\n\nexports.default = parsePart;\nmodule.exports = parsePart;\n", "'use strict';\n\nconst UNDEFINED_CODE_POINTS = [\n 0xfffe,\n 0xffff,\n 0x1fffe,\n 0x1ffff,\n 0x2fffe,\n 0x2ffff,\n 0x3fffe,\n 0x3ffff,\n 0x4fffe,\n 0x4ffff,\n 0x5fffe,\n 0x5ffff,\n 0x6fffe,\n 0x6ffff,\n 0x7fffe,\n 0x7ffff,\n 0x8fffe,\n 0x8ffff,\n 0x9fffe,\n 0x9ffff,\n 0xafffe,\n 0xaffff,\n 0xbfffe,\n 0xbffff,\n 0xcfffe,\n 0xcffff,\n 0xdfffe,\n 0xdffff,\n 0xefffe,\n 0xeffff,\n 0xffffe,\n 0xfffff,\n 0x10fffe,\n 0x10ffff\n];\n\nexports.REPLACEMENT_CHARACTER = '\\uFFFD';\n\nexports.CODE_POINTS = {\n EOF: -1,\n NULL: 0x00,\n TABULATION: 0x09,\n CARRIAGE_RETURN: 0x0d,\n LINE_FEED: 0x0a,\n FORM_FEED: 0x0c,\n SPACE: 0x20,\n EXCLAMATION_MARK: 0x21,\n QUOTATION_MARK: 0x22,\n NUMBER_SIGN: 0x23,\n AMPERSAND: 0x26,\n APOSTROPHE: 0x27,\n HYPHEN_MINUS: 0x2d,\n SOLIDUS: 0x2f,\n DIGIT_0: 0x30,\n DIGIT_9: 0x39,\n SEMICOLON: 0x3b,\n LESS_THAN_SIGN: 0x3c,\n EQUALS_SIGN: 0x3d,\n GREATER_THAN_SIGN: 0x3e,\n QUESTION_MARK: 0x3f,\n LATIN_CAPITAL_A: 0x41,\n LATIN_CAPITAL_F: 0x46,\n LATIN_CAPITAL_X: 0x58,\n LATIN_CAPITAL_Z: 0x5a,\n RIGHT_SQUARE_BRACKET: 0x5d,\n GRAVE_ACCENT: 0x60,\n LATIN_SMALL_A: 0x61,\n LATIN_SMALL_F: 0x66,\n LATIN_SMALL_X: 0x78,\n LATIN_SMALL_Z: 0x7a,\n REPLACEMENT_CHARACTER: 0xfffd\n};\n\nexports.CODE_POINT_SEQUENCES = {\n DASH_DASH_STRING: [0x2d, 0x2d], //--\n DOCTYPE_STRING: [0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45], //DOCTYPE\n CDATA_START_STRING: [0x5b, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b], //[CDATA[\n SCRIPT_STRING: [0x73, 0x63, 0x72, 0x69, 0x70, 0x74], //script\n PUBLIC_STRING: [0x50, 0x55, 0x42, 0x4c, 0x49, 0x43], //PUBLIC\n SYSTEM_STRING: [0x53, 0x59, 0x53, 0x54, 0x45, 0x4d] //SYSTEM\n};\n\n//Surrogates\nexports.isSurrogate = function(cp) {\n return cp >= 0xd800 && cp <= 0xdfff;\n};\n\nexports.isSurrogatePair = function(cp) {\n return cp >= 0xdc00 && cp <= 0xdfff;\n};\n\nexports.getSurrogatePairCodePoint = function(cp1, cp2) {\n return (cp1 - 0xd800) * 0x400 + 0x2400 + cp2;\n};\n\n//NOTE: excluding NULL and ASCII whitespace\nexports.isControlCodePoint = function(cp) {\n return (\n (cp !== 0x20 && cp !== 0x0a && cp !== 0x0d && cp !== 0x09 && cp !== 0x0c && cp >= 0x01 && cp <= 0x1f) ||\n (cp >= 0x7f && cp <= 0x9f)\n );\n};\n\nexports.isUndefinedCodePoint = function(cp) {\n return (cp >= 0xfdd0 && cp <= 0xfdef) || UNDEFINED_CODE_POINTS.indexOf(cp) > -1;\n};\n", "'use strict';\n\nmodule.exports = {\n controlCharacterInInputStream: 'control-character-in-input-stream',\n noncharacterInInputStream: 'noncharacter-in-input-stream',\n surrogateInInputStream: 'surrogate-in-input-stream',\n nonVoidHtmlElementStartTagWithTrailingSolidus: 'non-void-html-element-start-tag-with-trailing-solidus',\n endTagWithAttributes: 'end-tag-with-attributes',\n endTagWithTrailingSolidus: 'end-tag-with-trailing-solidus',\n unexpectedSolidusInTag: 'unexpected-solidus-in-tag',\n unexpectedNullCharacter: 'unexpected-null-character',\n unexpectedQuestionMarkInsteadOfTagName: 'unexpected-question-mark-instead-of-tag-name',\n invalidFirstCharacterOfTagName: 'invalid-first-character-of-tag-name',\n unexpectedEqualsSignBeforeAttributeName: 'unexpected-equals-sign-before-attribute-name',\n missingEndTagName: 'missing-end-tag-name',\n unexpectedCharacterInAttributeName: 'unexpected-character-in-attribute-name',\n unknownNamedCharacterReference: 'unknown-named-character-reference',\n missingSemicolonAfterCharacterReference: 'missing-semicolon-after-character-reference',\n unexpectedCharacterAfterDoctypeSystemIdentifier: 'unexpected-character-after-doctype-system-identifier',\n unexpectedCharacterInUnquotedAttributeValue: 'unexpected-character-in-unquoted-attribute-value',\n eofBeforeTagName: 'eof-before-tag-name',\n eofInTag: 'eof-in-tag',\n missingAttributeValue: 'missing-attribute-value',\n missingWhitespaceBetweenAttributes: 'missing-whitespace-between-attributes',\n missingWhitespaceAfterDoctypePublicKeyword: 'missing-whitespace-after-doctype-public-keyword',\n missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:\n 'missing-whitespace-between-doctype-public-and-system-identifiers',\n missingWhitespaceAfterDoctypeSystemKeyword: 'missing-whitespace-after-doctype-system-keyword',\n missingQuoteBeforeDoctypePublicIdentifier: 'missing-quote-before-doctype-public-identifier',\n missingQuoteBeforeDoctypeSystemIdentifier: 'missing-quote-before-doctype-system-identifier',\n missingDoctypePublicIdentifier: 'missing-doctype-public-identifier',\n missingDoctypeSystemIdentifier: 'missing-doctype-system-identifier',\n abruptDoctypePublicIdentifier: 'abrupt-doctype-public-identifier',\n abruptDoctypeSystemIdentifier: 'abrupt-doctype-system-identifier',\n cdataInHtmlContent: 'cdata-in-html-content',\n incorrectlyOpenedComment: 'incorrectly-opened-comment',\n eofInScriptHtmlCommentLikeText: 'eof-in-script-html-comment-like-text',\n eofInDoctype: 'eof-in-doctype',\n nestedComment: 'nested-comment',\n abruptClosingOfEmptyComment: 'abrupt-closing-of-empty-comment',\n eofInComment: 'eof-in-comment',\n incorrectlyClosedComment: 'incorrectly-closed-comment',\n eofInCdata: 'eof-in-cdata',\n absenceOfDigitsInNumericCharacterReference: 'absence-of-digits-in-numeric-character-reference',\n nullCharacterReference: 'null-character-reference',\n surrogateCharacterReference: 'surrogate-character-reference',\n characterReferenceOutsideUnicodeRange: 'character-reference-outside-unicode-range',\n controlCharacterReference: 'control-character-reference',\n noncharacterCharacterReference: 'noncharacter-character-reference',\n missingWhitespaceBeforeDoctypeName: 'missing-whitespace-before-doctype-name',\n missingDoctypeName: 'missing-doctype-name',\n invalidCharacterSequenceAfterDoctypeName: 'invalid-character-sequence-after-doctype-name',\n duplicateAttribute: 'duplicate-attribute',\n nonConformingDoctype: 'non-conforming-doctype',\n missingDoctype: 'missing-doctype',\n misplacedDoctype: 'misplaced-doctype',\n endTagWithoutMatchingOpenElement: 'end-tag-without-matching-open-element',\n closingOfElementWithOpenChildElements: 'closing-of-element-with-open-child-elements',\n disallowedContentInNoscriptInHead: 'disallowed-content-in-noscript-in-head',\n openElementsLeftAfterEof: 'open-elements-left-after-eof',\n abandonedHeadElementChild: 'abandoned-head-element-child',\n misplacedStartTagForHeadElement: 'misplaced-start-tag-for-head-element',\n nestedNoscriptInHead: 'nested-noscript-in-head',\n eofInElementThatCanContainOnlyText: 'eof-in-element-that-can-contain-only-text'\n};\n", "'use strict';\n\nconst unicode = require('../common/unicode');\nconst ERR = require('../common/error-codes');\n\n//Aliases\nconst $ = unicode.CODE_POINTS;\n\n//Const\nconst DEFAULT_BUFFER_WATERLINE = 1 << 16;\n\n//Preprocessor\n//NOTE: HTML input preprocessing\n//(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#preprocessing-the-input-stream)\nclass Preprocessor {\n constructor() {\n this.html = null;\n\n this.pos = -1;\n this.lastGapPos = -1;\n this.lastCharPos = -1;\n\n this.gapStack = [];\n\n this.skipNextNewLine = false;\n\n this.lastChunkWritten = false;\n this.endOfChunkHit = false;\n this.bufferWaterline = DEFAULT_BUFFER_WATERLINE;\n }\n\n _err() {\n // NOTE: err reporting is noop by default. Enabled by mixin.\n }\n\n _addGap() {\n this.gapStack.push(this.lastGapPos);\n this.lastGapPos = this.pos;\n }\n\n _processSurrogate(cp) {\n //NOTE: try to peek a surrogate pair\n if (this.pos !== this.lastCharPos) {\n const nextCp = this.html.charCodeAt(this.pos + 1);\n\n if (unicode.isSurrogatePair(nextCp)) {\n //NOTE: we have a surrogate pair. Peek pair character and recalculate code point.\n this.pos++;\n\n //NOTE: add gap that should be avoided during retreat\n this._addGap();\n\n return unicode.getSurrogatePairCodePoint(cp, nextCp);\n }\n }\n\n //NOTE: we are at the end of a chunk, therefore we can't infer surrogate pair yet.\n else if (!this.lastChunkWritten) {\n this.endOfChunkHit = true;\n return $.EOF;\n }\n\n //NOTE: isolated surrogate\n this._err(ERR.surrogateInInputStream);\n\n return cp;\n }\n\n dropParsedChunk() {\n if (this.pos > this.bufferWaterline) {\n this.lastCharPos -= this.pos;\n this.html = this.html.substring(this.pos);\n this.pos = 0;\n this.lastGapPos = -1;\n this.gapStack = [];\n }\n }\n\n write(chunk, isLastChunk) {\n if (this.html) {\n this.html += chunk;\n } else {\n this.html = chunk;\n }\n\n this.lastCharPos = this.html.length - 1;\n this.endOfChunkHit = false;\n this.lastChunkWritten = isLastChunk;\n }\n\n insertHtmlAtCurrentPos(chunk) {\n this.html = this.html.substring(0, this.pos + 1) + chunk + this.html.substring(this.pos + 1, this.html.length);\n\n this.lastCharPos = this.html.length - 1;\n this.endOfChunkHit = false;\n }\n\n advance() {\n this.pos++;\n\n if (this.pos > this.lastCharPos) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return $.EOF;\n }\n\n let cp = this.html.charCodeAt(this.pos);\n\n //NOTE: any U+000A LINE FEED (LF) characters that immediately follow a U+000D CARRIAGE RETURN (CR) character\n //must be ignored.\n if (this.skipNextNewLine && cp === $.LINE_FEED) {\n this.skipNextNewLine = false;\n this._addGap();\n return this.advance();\n }\n\n //NOTE: all U+000D CARRIAGE RETURN (CR) characters must be converted to U+000A LINE FEED (LF) characters\n if (cp === $.CARRIAGE_RETURN) {\n this.skipNextNewLine = true;\n return $.LINE_FEED;\n }\n\n this.skipNextNewLine = false;\n\n if (unicode.isSurrogate(cp)) {\n cp = this._processSurrogate(cp);\n }\n\n //OPTIMIZATION: first check if code point is in the common allowed\n //range (ASCII alphanumeric, whitespaces, big chunk of BMP)\n //before going into detailed performance cost validation.\n const isCommonValidRange =\n (cp > 0x1f && cp < 0x7f) || cp === $.LINE_FEED || cp === $.CARRIAGE_RETURN || (cp > 0x9f && cp < 0xfdd0);\n\n if (!isCommonValidRange) {\n this._checkForProblematicCharacters(cp);\n }\n\n return cp;\n }\n\n _checkForProblematicCharacters(cp) {\n if (unicode.isControlCodePoint(cp)) {\n this._err(ERR.controlCharacterInInputStream);\n } else if (unicode.isUndefinedCodePoint(cp)) {\n this._err(ERR.noncharacterInInputStream);\n }\n }\n\n retreat() {\n if (this.pos === this.lastGapPos) {\n this.lastGapPos = this.gapStack.pop();\n this.pos--;\n }\n\n this.pos--;\n }\n}\n\nmodule.exports = Preprocessor;\n", "'use strict';\n\n//NOTE: this file contains auto-generated array mapped radix tree that is used for the named entity references consumption\n//(details: https://github.com/inikulin/parse5/tree/master/scripts/generate-named-entity-data/README.md)\nmodule.exports = new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4000,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,10000,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13000,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204]);", "'use strict';\n\nconst Preprocessor = require('./preprocessor');\nconst unicode = require('../common/unicode');\nconst neTree = require('./named-entity-data');\nconst ERR = require('../common/error-codes');\n\n//Aliases\nconst $ = unicode.CODE_POINTS;\nconst $$ = unicode.CODE_POINT_SEQUENCES;\n\n//C1 Unicode control character reference replacements\nconst C1_CONTROLS_REFERENCE_REPLACEMENTS = {\n 0x80: 0x20ac,\n 0x82: 0x201a,\n 0x83: 0x0192,\n 0x84: 0x201e,\n 0x85: 0x2026,\n 0x86: 0x2020,\n 0x87: 0x2021,\n 0x88: 0x02c6,\n 0x89: 0x2030,\n 0x8a: 0x0160,\n 0x8b: 0x2039,\n 0x8c: 0x0152,\n 0x8e: 0x017d,\n 0x91: 0x2018,\n 0x92: 0x2019,\n 0x93: 0x201c,\n 0x94: 0x201d,\n 0x95: 0x2022,\n 0x96: 0x2013,\n 0x97: 0x2014,\n 0x98: 0x02dc,\n 0x99: 0x2122,\n 0x9a: 0x0161,\n 0x9b: 0x203a,\n 0x9c: 0x0153,\n 0x9e: 0x017e,\n 0x9f: 0x0178\n};\n\n// Named entity tree flags\nconst HAS_DATA_FLAG = 1 << 0;\nconst DATA_DUPLET_FLAG = 1 << 1;\nconst HAS_BRANCHES_FLAG = 1 << 2;\nconst MAX_BRANCH_MARKER_VALUE = HAS_DATA_FLAG | DATA_DUPLET_FLAG | HAS_BRANCHES_FLAG;\n\n//States\nconst DATA_STATE = 'DATA_STATE';\nconst RCDATA_STATE = 'RCDATA_STATE';\nconst RAWTEXT_STATE = 'RAWTEXT_STATE';\nconst SCRIPT_DATA_STATE = 'SCRIPT_DATA_STATE';\nconst PLAINTEXT_STATE = 'PLAINTEXT_STATE';\nconst TAG_OPEN_STATE = 'TAG_OPEN_STATE';\nconst END_TAG_OPEN_STATE = 'END_TAG_OPEN_STATE';\nconst TAG_NAME_STATE = 'TAG_NAME_STATE';\nconst RCDATA_LESS_THAN_SIGN_STATE = 'RCDATA_LESS_THAN_SIGN_STATE';\nconst RCDATA_END_TAG_OPEN_STATE = 'RCDATA_END_TAG_OPEN_STATE';\nconst RCDATA_END_TAG_NAME_STATE = 'RCDATA_END_TAG_NAME_STATE';\nconst RAWTEXT_LESS_THAN_SIGN_STATE = 'RAWTEXT_LESS_THAN_SIGN_STATE';\nconst RAWTEXT_END_TAG_OPEN_STATE = 'RAWTEXT_END_TAG_OPEN_STATE';\nconst RAWTEXT_END_TAG_NAME_STATE = 'RAWTEXT_END_TAG_NAME_STATE';\nconst SCRIPT_DATA_LESS_THAN_SIGN_STATE = 'SCRIPT_DATA_LESS_THAN_SIGN_STATE';\nconst SCRIPT_DATA_END_TAG_OPEN_STATE = 'SCRIPT_DATA_END_TAG_OPEN_STATE';\nconst SCRIPT_DATA_END_TAG_NAME_STATE = 'SCRIPT_DATA_END_TAG_NAME_STATE';\nconst SCRIPT_DATA_ESCAPE_START_STATE = 'SCRIPT_DATA_ESCAPE_START_STATE';\nconst SCRIPT_DATA_ESCAPE_START_DASH_STATE = 'SCRIPT_DATA_ESCAPE_START_DASH_STATE';\nconst SCRIPT_DATA_ESCAPED_STATE = 'SCRIPT_DATA_ESCAPED_STATE';\nconst SCRIPT_DATA_ESCAPED_DASH_STATE = 'SCRIPT_DATA_ESCAPED_DASH_STATE';\nconst SCRIPT_DATA_ESCAPED_DASH_DASH_STATE = 'SCRIPT_DATA_ESCAPED_DASH_DASH_STATE';\nconst SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE = 'SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE';\nconst SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE = 'SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE';\nconst SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE = 'SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPED_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPED_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE';\nconst BEFORE_ATTRIBUTE_NAME_STATE = 'BEFORE_ATTRIBUTE_NAME_STATE';\nconst ATTRIBUTE_NAME_STATE = 'ATTRIBUTE_NAME_STATE';\nconst AFTER_ATTRIBUTE_NAME_STATE = 'AFTER_ATTRIBUTE_NAME_STATE';\nconst BEFORE_ATTRIBUTE_VALUE_STATE = 'BEFORE_ATTRIBUTE_VALUE_STATE';\nconst ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE = 'ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE';\nconst ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE = 'ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE';\nconst ATTRIBUTE_VALUE_UNQUOTED_STATE = 'ATTRIBUTE_VALUE_UNQUOTED_STATE';\nconst AFTER_ATTRIBUTE_VALUE_QUOTED_STATE = 'AFTER_ATTRIBUTE_VALUE_QUOTED_STATE';\nconst SELF_CLOSING_START_TAG_STATE = 'SELF_CLOSING_START_TAG_STATE';\nconst BOGUS_COMMENT_STATE = 'BOGUS_COMMENT_STATE';\nconst MARKUP_DECLARATION_OPEN_STATE = 'MARKUP_DECLARATION_OPEN_STATE';\nconst COMMENT_START_STATE = 'COMMENT_START_STATE';\nconst COMMENT_START_DASH_STATE = 'COMMENT_START_DASH_STATE';\nconst COMMENT_STATE = 'COMMENT_STATE';\nconst COMMENT_LESS_THAN_SIGN_STATE = 'COMMENT_LESS_THAN_SIGN_STATE';\nconst COMMENT_LESS_THAN_SIGN_BANG_STATE = 'COMMENT_LESS_THAN_SIGN_BANG_STATE';\nconst COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE = 'COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE';\nconst COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE = 'COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE';\nconst COMMENT_END_DASH_STATE = 'COMMENT_END_DASH_STATE';\nconst COMMENT_END_STATE = 'COMMENT_END_STATE';\nconst COMMENT_END_BANG_STATE = 'COMMENT_END_BANG_STATE';\nconst DOCTYPE_STATE = 'DOCTYPE_STATE';\nconst BEFORE_DOCTYPE_NAME_STATE = 'BEFORE_DOCTYPE_NAME_STATE';\nconst DOCTYPE_NAME_STATE = 'DOCTYPE_NAME_STATE';\nconst AFTER_DOCTYPE_NAME_STATE = 'AFTER_DOCTYPE_NAME_STATE';\nconst AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE = 'AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE';\nconst BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE = 'BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE';\nconst DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE = 'DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE';\nconst DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE = 'DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE';\nconst AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE = 'AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE';\nconst BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE = 'BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE';\nconst AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE = 'AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE';\nconst BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE = 'BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE';\nconst DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE = 'DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE';\nconst DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE = 'DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE';\nconst AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE = 'AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE';\nconst BOGUS_DOCTYPE_STATE = 'BOGUS_DOCTYPE_STATE';\nconst CDATA_SECTION_STATE = 'CDATA_SECTION_STATE';\nconst CDATA_SECTION_BRACKET_STATE = 'CDATA_SECTION_BRACKET_STATE';\nconst CDATA_SECTION_END_STATE = 'CDATA_SECTION_END_STATE';\nconst CHARACTER_REFERENCE_STATE = 'CHARACTER_REFERENCE_STATE';\nconst NAMED_CHARACTER_REFERENCE_STATE = 'NAMED_CHARACTER_REFERENCE_STATE';\nconst AMBIGUOUS_AMPERSAND_STATE = 'AMBIGUOS_AMPERSAND_STATE';\nconst NUMERIC_CHARACTER_REFERENCE_STATE = 'NUMERIC_CHARACTER_REFERENCE_STATE';\nconst HEXADEMICAL_CHARACTER_REFERENCE_START_STATE = 'HEXADEMICAL_CHARACTER_REFERENCE_START_STATE';\nconst DECIMAL_CHARACTER_REFERENCE_START_STATE = 'DECIMAL_CHARACTER_REFERENCE_START_STATE';\nconst HEXADEMICAL_CHARACTER_REFERENCE_STATE = 'HEXADEMICAL_CHARACTER_REFERENCE_STATE';\nconst DECIMAL_CHARACTER_REFERENCE_STATE = 'DECIMAL_CHARACTER_REFERENCE_STATE';\nconst NUMERIC_CHARACTER_REFERENCE_END_STATE = 'NUMERIC_CHARACTER_REFERENCE_END_STATE';\n\n//Utils\n\n//OPTIMIZATION: these utility functions should not be moved out of this module. V8 Crankshaft will not inline\n//this functions if they will be situated in another module due to context switch.\n//Always perform inlining check before modifying this functions ('node --trace-inlining').\nfunction isWhitespace(cp) {\n return cp === $.SPACE || cp === $.LINE_FEED || cp === $.TABULATION || cp === $.FORM_FEED;\n}\n\nfunction isAsciiDigit(cp) {\n return cp >= $.DIGIT_0 && cp <= $.DIGIT_9;\n}\n\nfunction isAsciiUpper(cp) {\n return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_Z;\n}\n\nfunction isAsciiLower(cp) {\n return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_Z;\n}\n\nfunction isAsciiLetter(cp) {\n return isAsciiLower(cp) || isAsciiUpper(cp);\n}\n\nfunction isAsciiAlphaNumeric(cp) {\n return isAsciiLetter(cp) || isAsciiDigit(cp);\n}\n\nfunction isAsciiUpperHexDigit(cp) {\n return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_F;\n}\n\nfunction isAsciiLowerHexDigit(cp) {\n return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_F;\n}\n\nfunction isAsciiHexDigit(cp) {\n return isAsciiDigit(cp) || isAsciiUpperHexDigit(cp) || isAsciiLowerHexDigit(cp);\n}\n\nfunction toAsciiLowerCodePoint(cp) {\n return cp + 0x0020;\n}\n\n//NOTE: String.fromCharCode() function can handle only characters from BMP subset.\n//So, we need to workaround this manually.\n//(see: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/fromCharCode#Getting_it_to_work_with_higher_values)\nfunction toChar(cp) {\n if (cp <= 0xffff) {\n return String.fromCharCode(cp);\n }\n\n cp -= 0x10000;\n return String.fromCharCode(((cp >>> 10) & 0x3ff) | 0xd800) + String.fromCharCode(0xdc00 | (cp & 0x3ff));\n}\n\nfunction toAsciiLowerChar(cp) {\n return String.fromCharCode(toAsciiLowerCodePoint(cp));\n}\n\nfunction findNamedEntityTreeBranch(nodeIx, cp) {\n const branchCount = neTree[++nodeIx];\n let lo = ++nodeIx;\n let hi = lo + branchCount - 1;\n\n while (lo <= hi) {\n const mid = (lo + hi) >>> 1;\n const midCp = neTree[mid];\n\n if (midCp < cp) {\n lo = mid + 1;\n } else if (midCp > cp) {\n hi = mid - 1;\n } else {\n return neTree[mid + branchCount];\n }\n }\n\n return -1;\n}\n\n//Tokenizer\nclass Tokenizer {\n constructor() {\n this.preprocessor = new Preprocessor();\n\n this.tokenQueue = [];\n\n this.allowCDATA = false;\n\n this.state = DATA_STATE;\n this.returnState = '';\n\n this.charRefCode = -1;\n this.tempBuff = [];\n this.lastStartTagName = '';\n\n this.consumedAfterSnapshot = -1;\n this.active = false;\n\n this.currentCharacterToken = null;\n this.currentToken = null;\n this.currentAttr = null;\n }\n\n //Errors\n _err() {\n // NOTE: err reporting is noop by default. Enabled by mixin.\n }\n\n _errOnNextCodePoint(err) {\n this._consume();\n this._err(err);\n this._unconsume();\n }\n\n //API\n getNextToken() {\n while (!this.tokenQueue.length && this.active) {\n this.consumedAfterSnapshot = 0;\n\n const cp = this._consume();\n\n if (!this._ensureHibernation()) {\n this[this.state](cp);\n }\n }\n\n return this.tokenQueue.shift();\n }\n\n write(chunk, isLastChunk) {\n this.active = true;\n this.preprocessor.write(chunk, isLastChunk);\n }\n\n insertHtmlAtCurrentPos(chunk) {\n this.active = true;\n this.preprocessor.insertHtmlAtCurrentPos(chunk);\n }\n\n //Hibernation\n _ensureHibernation() {\n if (this.preprocessor.endOfChunkHit) {\n for (; this.consumedAfterSnapshot > 0; this.consumedAfterSnapshot--) {\n this.preprocessor.retreat();\n }\n\n this.active = false;\n this.tokenQueue.push({ type: Tokenizer.HIBERNATION_TOKEN });\n\n return true;\n }\n\n return false;\n }\n\n //Consumption\n _consume() {\n this.consumedAfterSnapshot++;\n return this.preprocessor.advance();\n }\n\n _unconsume() {\n this.consumedAfterSnapshot--;\n this.preprocessor.retreat();\n }\n\n _reconsumeInState(state) {\n this.state = state;\n this._unconsume();\n }\n\n _consumeSequenceIfMatch(pattern, startCp, caseSensitive) {\n let consumedCount = 0;\n let isMatch = true;\n const patternLength = pattern.length;\n let patternPos = 0;\n let cp = startCp;\n let patternCp = void 0;\n\n for (; patternPos < patternLength; patternPos++) {\n if (patternPos > 0) {\n cp = this._consume();\n consumedCount++;\n }\n\n if (cp === $.EOF) {\n isMatch = false;\n break;\n }\n\n patternCp = pattern[patternPos];\n\n if (cp !== patternCp && (caseSensitive || cp !== toAsciiLowerCodePoint(patternCp))) {\n isMatch = false;\n break;\n }\n }\n\n if (!isMatch) {\n while (consumedCount--) {\n this._unconsume();\n }\n }\n\n return isMatch;\n }\n\n //Temp buffer\n _isTempBufferEqualToScriptString() {\n if (this.tempBuff.length !== $$.SCRIPT_STRING.length) {\n return false;\n }\n\n for (let i = 0; i < this.tempBuff.length; i++) {\n if (this.tempBuff[i] !== $$.SCRIPT_STRING[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n //Token creation\n _createStartTagToken() {\n this.currentToken = {\n type: Tokenizer.START_TAG_TOKEN,\n tagName: '',\n selfClosing: false,\n ackSelfClosing: false,\n attrs: []\n };\n }\n\n _createEndTagToken() {\n this.currentToken = {\n type: Tokenizer.END_TAG_TOKEN,\n tagName: '',\n selfClosing: false,\n attrs: []\n };\n }\n\n _createCommentToken() {\n this.currentToken = {\n type: Tokenizer.COMMENT_TOKEN,\n data: ''\n };\n }\n\n _createDoctypeToken(initialName) {\n this.currentToken = {\n type: Tokenizer.DOCTYPE_TOKEN,\n name: initialName,\n forceQuirks: false,\n publicId: null,\n systemId: null\n };\n }\n\n _createCharacterToken(type, ch) {\n this.currentCharacterToken = {\n type: type,\n chars: ch\n };\n }\n\n _createEOFToken() {\n this.currentToken = { type: Tokenizer.EOF_TOKEN };\n }\n\n //Tag attributes\n _createAttr(attrNameFirstCh) {\n this.currentAttr = {\n name: attrNameFirstCh,\n value: ''\n };\n }\n\n _leaveAttrName(toState) {\n if (Tokenizer.getTokenAttr(this.currentToken, this.currentAttr.name) === null) {\n this.currentToken.attrs.push(this.currentAttr);\n } else {\n this._err(ERR.duplicateAttribute);\n }\n\n this.state = toState;\n }\n\n _leaveAttrValue(toState) {\n this.state = toState;\n }\n\n //Token emission\n _emitCurrentToken() {\n this._emitCurrentCharacterToken();\n\n const ct = this.currentToken;\n\n this.currentToken = null;\n\n //NOTE: store emited start tag's tagName to determine is the following end tag token is appropriate.\n if (ct.type === Tokenizer.START_TAG_TOKEN) {\n this.lastStartTagName = ct.tagName;\n } else if (ct.type === Tokenizer.END_TAG_TOKEN) {\n if (ct.attrs.length > 0) {\n this._err(ERR.endTagWithAttributes);\n }\n\n if (ct.selfClosing) {\n this._err(ERR.endTagWithTrailingSolidus);\n }\n }\n\n this.tokenQueue.push(ct);\n }\n\n _emitCurrentCharacterToken() {\n if (this.currentCharacterToken) {\n this.tokenQueue.push(this.currentCharacterToken);\n this.currentCharacterToken = null;\n }\n }\n\n _emitEOFToken() {\n this._createEOFToken();\n this._emitCurrentToken();\n }\n\n //Characters emission\n\n //OPTIMIZATION: specification uses only one type of character tokens (one token per character).\n //This causes a huge memory overhead and a lot of unnecessary parser loops. parse5 uses 3 groups of characters.\n //If we have a sequence of characters that belong to the same group, parser can process it\n //as a single solid character token.\n //So, there are 3 types of character tokens in parse5:\n //1)NULL_CHARACTER_TOKEN - \\u0000-character sequences (e.g. '\\u0000\\u0000\\u0000')\n //2)WHITESPACE_CHARACTER_TOKEN - any whitespace/new-line character sequences (e.g. '\\n \\r\\t \\f')\n //3)CHARACTER_TOKEN - any character sequence which don't belong to groups 1 and 2 (e.g. 'abcdef1234@@#$%^')\n _appendCharToCurrentCharacterToken(type, ch) {\n if (this.currentCharacterToken && this.currentCharacterToken.type !== type) {\n this._emitCurrentCharacterToken();\n }\n\n if (this.currentCharacterToken) {\n this.currentCharacterToken.chars += ch;\n } else {\n this._createCharacterToken(type, ch);\n }\n }\n\n _emitCodePoint(cp) {\n let type = Tokenizer.CHARACTER_TOKEN;\n\n if (isWhitespace(cp)) {\n type = Tokenizer.WHITESPACE_CHARACTER_TOKEN;\n } else if (cp === $.NULL) {\n type = Tokenizer.NULL_CHARACTER_TOKEN;\n }\n\n this._appendCharToCurrentCharacterToken(type, toChar(cp));\n }\n\n _emitSeveralCodePoints(codePoints) {\n for (let i = 0; i < codePoints.length; i++) {\n this._emitCodePoint(codePoints[i]);\n }\n }\n\n //NOTE: used then we emit character explicitly. This is always a non-whitespace and a non-null character.\n //So we can avoid additional checks here.\n _emitChars(ch) {\n this._appendCharToCurrentCharacterToken(Tokenizer.CHARACTER_TOKEN, ch);\n }\n\n // Character reference helpers\n _matchNamedCharacterReference(startCp) {\n let result = null;\n let excess = 1;\n let i = findNamedEntityTreeBranch(0, startCp);\n\n this.tempBuff.push(startCp);\n\n while (i > -1) {\n const current = neTree[i];\n const inNode = current < MAX_BRANCH_MARKER_VALUE;\n const nodeWithData = inNode && current & HAS_DATA_FLAG;\n\n if (nodeWithData) {\n //NOTE: we use greedy search, so we continue lookup at this point\n result = current & DATA_DUPLET_FLAG ? [neTree[++i], neTree[++i]] : [neTree[++i]];\n excess = 0;\n }\n\n const cp = this._consume();\n\n this.tempBuff.push(cp);\n excess++;\n\n if (cp === $.EOF) {\n break;\n }\n\n if (inNode) {\n i = current & HAS_BRANCHES_FLAG ? findNamedEntityTreeBranch(i, cp) : -1;\n } else {\n i = cp === current ? ++i : -1;\n }\n }\n\n while (excess--) {\n this.tempBuff.pop();\n this._unconsume();\n }\n\n return result;\n }\n\n _isCharacterReferenceInAttribute() {\n return (\n this.returnState === ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE ||\n this.returnState === ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE ||\n this.returnState === ATTRIBUTE_VALUE_UNQUOTED_STATE\n );\n }\n\n _isCharacterReferenceAttributeQuirk(withSemicolon) {\n if (!withSemicolon && this._isCharacterReferenceInAttribute()) {\n const nextCp = this._consume();\n\n this._unconsume();\n\n return nextCp === $.EQUALS_SIGN || isAsciiAlphaNumeric(nextCp);\n }\n\n return false;\n }\n\n _flushCodePointsConsumedAsCharacterReference() {\n if (this._isCharacterReferenceInAttribute()) {\n for (let i = 0; i < this.tempBuff.length; i++) {\n this.currentAttr.value += toChar(this.tempBuff[i]);\n }\n } else {\n this._emitSeveralCodePoints(this.tempBuff);\n }\n\n this.tempBuff = [];\n }\n\n // State machine\n\n // Data state\n //------------------------------------------------------------------\n [DATA_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.LESS_THAN_SIGN) {\n this.state = TAG_OPEN_STATE;\n } else if (cp === $.AMPERSAND) {\n this.returnState = DATA_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitCodePoint(cp);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // RCDATA state\n //------------------------------------------------------------------\n [RCDATA_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.AMPERSAND) {\n this.returnState = RCDATA_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = RCDATA_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // RAWTEXT state\n //------------------------------------------------------------------\n [RAWTEXT_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.LESS_THAN_SIGN) {\n this.state = RAWTEXT_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // Script data state\n //------------------------------------------------------------------\n [SCRIPT_DATA_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // PLAINTEXT state\n //------------------------------------------------------------------\n [PLAINTEXT_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // Tag open state\n //------------------------------------------------------------------\n [TAG_OPEN_STATE](cp) {\n if (cp === $.EXCLAMATION_MARK) {\n this.state = MARKUP_DECLARATION_OPEN_STATE;\n } else if (cp === $.SOLIDUS) {\n this.state = END_TAG_OPEN_STATE;\n } else if (isAsciiLetter(cp)) {\n this._createStartTagToken();\n this._reconsumeInState(TAG_NAME_STATE);\n } else if (cp === $.QUESTION_MARK) {\n this._err(ERR.unexpectedQuestionMarkInsteadOfTagName);\n this._createCommentToken();\n this._reconsumeInState(BOGUS_COMMENT_STATE);\n } else if (cp === $.EOF) {\n this._err(ERR.eofBeforeTagName);\n this._emitChars('<');\n this._emitEOFToken();\n } else {\n this._err(ERR.invalidFirstCharacterOfTagName);\n this._emitChars('<');\n this._reconsumeInState(DATA_STATE);\n }\n }\n\n // End tag open state\n //------------------------------------------------------------------\n [END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(TAG_NAME_STATE);\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingEndTagName);\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofBeforeTagName);\n this._emitChars('</');\n this._emitEOFToken();\n } else {\n this._err(ERR.invalidFirstCharacterOfTagName);\n this._createCommentToken();\n this._reconsumeInState(BOGUS_COMMENT_STATE);\n }\n }\n\n // Tag name state\n //------------------------------------------------------------------\n [TAG_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n } else if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.tagName += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this.currentToken.tagName += toChar(cp);\n }\n }\n\n // RCDATA less-than sign state\n //------------------------------------------------------------------\n [RCDATA_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = RCDATA_END_TAG_OPEN_STATE;\n } else {\n this._emitChars('<');\n this._reconsumeInState(RCDATA_STATE);\n }\n }\n\n // RCDATA end tag open state\n //------------------------------------------------------------------\n [RCDATA_END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(RCDATA_END_TAG_NAME_STATE);\n } else {\n this._emitChars('</');\n this._reconsumeInState(RCDATA_STATE);\n }\n }\n\n // RCDATA end tag name state\n //------------------------------------------------------------------\n [RCDATA_END_TAG_NAME_STATE](cp) {\n if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n this.tempBuff.push(cp);\n } else if (isAsciiLower(cp)) {\n this.currentToken.tagName += toChar(cp);\n this.tempBuff.push(cp);\n } else {\n if (this.lastStartTagName === this.currentToken.tagName) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n return;\n }\n\n if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n return;\n }\n }\n\n this._emitChars('</');\n this._emitSeveralCodePoints(this.tempBuff);\n this._reconsumeInState(RCDATA_STATE);\n }\n }\n\n // RAWTEXT less-than sign state\n //------------------------------------------------------------------\n [RAWTEXT_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = RAWTEXT_END_TAG_OPEN_STATE;\n } else {\n this._emitChars('<');\n this._reconsumeInState(RAWTEXT_STATE);\n }\n }\n\n // RAWTEXT end tag open state\n //------------------------------------------------------------------\n [RAWTEXT_END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(RAWTEXT_END_TAG_NAME_STATE);\n } else {\n this._emitChars('</');\n this._reconsumeInState(RAWTEXT_STATE);\n }\n }\n\n // RAWTEXT end tag name state\n //------------------------------------------------------------------\n [RAWTEXT_END_TAG_NAME_STATE](cp) {\n if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n this.tempBuff.push(cp);\n } else if (isAsciiLower(cp)) {\n this.currentToken.tagName += toChar(cp);\n this.tempBuff.push(cp);\n } else {\n if (this.lastStartTagName === this.currentToken.tagName) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n return;\n }\n\n if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n return;\n }\n }\n\n this._emitChars('</');\n this._emitSeveralCodePoints(this.tempBuff);\n this._reconsumeInState(RAWTEXT_STATE);\n }\n }\n\n // Script data less-than sign state\n //------------------------------------------------------------------\n [SCRIPT_DATA_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = SCRIPT_DATA_END_TAG_OPEN_STATE;\n } else if (cp === $.EXCLAMATION_MARK) {\n this.state = SCRIPT_DATA_ESCAPE_START_STATE;\n this._emitChars('<!');\n } else {\n this._emitChars('<');\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data end tag open state\n //------------------------------------------------------------------\n [SCRIPT_DATA_END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(SCRIPT_DATA_END_TAG_NAME_STATE);\n } else {\n this._emitChars('</');\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data end tag name state\n //------------------------------------------------------------------\n [SCRIPT_DATA_END_TAG_NAME_STATE](cp) {\n if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n this.tempBuff.push(cp);\n } else if (isAsciiLower(cp)) {\n this.currentToken.tagName += toChar(cp);\n this.tempBuff.push(cp);\n } else {\n if (this.lastStartTagName === this.currentToken.tagName) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n return;\n } else if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n return;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n return;\n }\n }\n\n this._emitChars('</');\n this._emitSeveralCodePoints(this.tempBuff);\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data escape start state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPE_START_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_ESCAPE_START_DASH_STATE;\n this._emitChars('-');\n } else {\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data escape start dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPE_START_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_ESCAPED_DASH_DASH_STATE;\n this._emitChars('-');\n } else {\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data escaped state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_ESCAPED_DASH_STATE;\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // Script data escaped dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_ESCAPED_DASH_DASH_STATE;\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.state = SCRIPT_DATA_ESCAPED_STATE;\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this.state = SCRIPT_DATA_ESCAPED_STATE;\n this._emitCodePoint(cp);\n }\n }\n\n // Script data escaped dash dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_DASH_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = SCRIPT_DATA_STATE;\n this._emitChars('>');\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.state = SCRIPT_DATA_ESCAPED_STATE;\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this.state = SCRIPT_DATA_ESCAPED_STATE;\n this._emitCodePoint(cp);\n }\n }\n\n // Script data escaped less-than sign state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE;\n } else if (isAsciiLetter(cp)) {\n this.tempBuff = [];\n this._emitChars('<');\n this._reconsumeInState(SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE);\n } else {\n this._emitChars('<');\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_STATE);\n }\n }\n\n // Script data escaped end tag open state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE);\n } else {\n this._emitChars('</');\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_STATE);\n }\n }\n\n // Script data escaped end tag name state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE](cp) {\n if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n this.tempBuff.push(cp);\n } else if (isAsciiLower(cp)) {\n this.currentToken.tagName += toChar(cp);\n this.tempBuff.push(cp);\n } else {\n if (this.lastStartTagName === this.currentToken.tagName) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n return;\n }\n\n if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n return;\n }\n }\n\n this._emitChars('</');\n this._emitSeveralCodePoints(this.tempBuff);\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_STATE);\n }\n }\n\n // Script data double escape start state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE](cp) {\n if (isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN) {\n this.state = this._isTempBufferEqualToScriptString()\n ? SCRIPT_DATA_DOUBLE_ESCAPED_STATE\n : SCRIPT_DATA_ESCAPED_STATE;\n this._emitCodePoint(cp);\n } else if (isAsciiUpper(cp)) {\n this.tempBuff.push(toAsciiLowerCodePoint(cp));\n this._emitCodePoint(cp);\n } else if (isAsciiLower(cp)) {\n this.tempBuff.push(cp);\n this._emitCodePoint(cp);\n } else {\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_STATE);\n }\n }\n\n // Script data double escaped state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPED_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE;\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE;\n this._emitChars('<');\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // Script data double escaped dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE;\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE;\n this._emitChars('<');\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n this._emitCodePoint(cp);\n }\n }\n\n // Script data double escaped dash dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE;\n this._emitChars('<');\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = SCRIPT_DATA_STATE;\n this._emitChars('>');\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n this._emitCodePoint(cp);\n }\n }\n\n // Script data double escaped less-than sign state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE;\n this._emitChars('/');\n } else {\n this._reconsumeInState(SCRIPT_DATA_DOUBLE_ESCAPED_STATE);\n }\n }\n\n // Script data double escape end state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE](cp) {\n if (isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN) {\n this.state = this._isTempBufferEqualToScriptString()\n ? SCRIPT_DATA_ESCAPED_STATE\n : SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n\n this._emitCodePoint(cp);\n } else if (isAsciiUpper(cp)) {\n this.tempBuff.push(toAsciiLowerCodePoint(cp));\n this._emitCodePoint(cp);\n } else if (isAsciiLower(cp)) {\n this.tempBuff.push(cp);\n this._emitCodePoint(cp);\n } else {\n this._reconsumeInState(SCRIPT_DATA_DOUBLE_ESCAPED_STATE);\n }\n }\n\n // Before attribute name state\n //------------------------------------------------------------------\n [BEFORE_ATTRIBUTE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN || cp === $.EOF) {\n this._reconsumeInState(AFTER_ATTRIBUTE_NAME_STATE);\n } else if (cp === $.EQUALS_SIGN) {\n this._err(ERR.unexpectedEqualsSignBeforeAttributeName);\n this._createAttr('=');\n this.state = ATTRIBUTE_NAME_STATE;\n } else {\n this._createAttr('');\n this._reconsumeInState(ATTRIBUTE_NAME_STATE);\n }\n }\n\n // Attribute name state\n //------------------------------------------------------------------\n [ATTRIBUTE_NAME_STATE](cp) {\n if (isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN || cp === $.EOF) {\n this._leaveAttrName(AFTER_ATTRIBUTE_NAME_STATE);\n this._unconsume();\n } else if (cp === $.EQUALS_SIGN) {\n this._leaveAttrName(BEFORE_ATTRIBUTE_VALUE_STATE);\n } else if (isAsciiUpper(cp)) {\n this.currentAttr.name += toAsciiLowerChar(cp);\n } else if (cp === $.QUOTATION_MARK || cp === $.APOSTROPHE || cp === $.LESS_THAN_SIGN) {\n this._err(ERR.unexpectedCharacterInAttributeName);\n this.currentAttr.name += toChar(cp);\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.name += unicode.REPLACEMENT_CHARACTER;\n } else {\n this.currentAttr.name += toChar(cp);\n }\n }\n\n // After attribute name state\n //------------------------------------------------------------------\n [AFTER_ATTRIBUTE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n } else if (cp === $.EQUALS_SIGN) {\n this.state = BEFORE_ATTRIBUTE_VALUE_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this._createAttr('');\n this._reconsumeInState(ATTRIBUTE_NAME_STATE);\n }\n }\n\n // Before attribute value state\n //------------------------------------------------------------------\n [BEFORE_ATTRIBUTE_VALUE_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.QUOTATION_MARK) {\n this.state = ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this.state = ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingAttributeValue);\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else {\n this._reconsumeInState(ATTRIBUTE_VALUE_UNQUOTED_STATE);\n }\n }\n\n // Attribute value (double-quoted) state\n //------------------------------------------------------------------\n [ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE](cp) {\n if (cp === $.QUOTATION_MARK) {\n this.state = AFTER_ATTRIBUTE_VALUE_QUOTED_STATE;\n } else if (cp === $.AMPERSAND) {\n this.returnState = ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this.currentAttr.value += toChar(cp);\n }\n }\n\n // Attribute value (single-quoted) state\n //------------------------------------------------------------------\n [ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE](cp) {\n if (cp === $.APOSTROPHE) {\n this.state = AFTER_ATTRIBUTE_VALUE_QUOTED_STATE;\n } else if (cp === $.AMPERSAND) {\n this.returnState = ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this.currentAttr.value += toChar(cp);\n }\n }\n\n // Attribute value (unquoted) state\n //------------------------------------------------------------------\n [ATTRIBUTE_VALUE_UNQUOTED_STATE](cp) {\n if (isWhitespace(cp)) {\n this._leaveAttrValue(BEFORE_ATTRIBUTE_NAME_STATE);\n } else if (cp === $.AMPERSAND) {\n this.returnState = ATTRIBUTE_VALUE_UNQUOTED_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._leaveAttrValue(DATA_STATE);\n this._emitCurrentToken();\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += unicode.REPLACEMENT_CHARACTER;\n } else if (\n cp === $.QUOTATION_MARK ||\n cp === $.APOSTROPHE ||\n cp === $.LESS_THAN_SIGN ||\n cp === $.EQUALS_SIGN ||\n cp === $.GRAVE_ACCENT\n ) {\n this._err(ERR.unexpectedCharacterInUnquotedAttributeValue);\n this.currentAttr.value += toChar(cp);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this.currentAttr.value += toChar(cp);\n }\n }\n\n // After attribute value (quoted) state\n //------------------------------------------------------------------\n [AFTER_ATTRIBUTE_VALUE_QUOTED_STATE](cp) {\n if (isWhitespace(cp)) {\n this._leaveAttrValue(BEFORE_ATTRIBUTE_NAME_STATE);\n } else if (cp === $.SOLIDUS) {\n this._leaveAttrValue(SELF_CLOSING_START_TAG_STATE);\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._leaveAttrValue(DATA_STATE);\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this._err(ERR.missingWhitespaceBetweenAttributes);\n this._reconsumeInState(BEFORE_ATTRIBUTE_NAME_STATE);\n }\n }\n\n // Self-closing start tag state\n //------------------------------------------------------------------\n [SELF_CLOSING_START_TAG_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this.currentToken.selfClosing = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this._err(ERR.unexpectedSolidusInTag);\n this._reconsumeInState(BEFORE_ATTRIBUTE_NAME_STATE);\n }\n }\n\n // Bogus comment state\n //------------------------------------------------------------------\n [BOGUS_COMMENT_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._emitCurrentToken();\n this._emitEOFToken();\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.data += unicode.REPLACEMENT_CHARACTER;\n } else {\n this.currentToken.data += toChar(cp);\n }\n }\n\n // Markup declaration open state\n //------------------------------------------------------------------\n [MARKUP_DECLARATION_OPEN_STATE](cp) {\n if (this._consumeSequenceIfMatch($$.DASH_DASH_STRING, cp, true)) {\n this._createCommentToken();\n this.state = COMMENT_START_STATE;\n } else if (this._consumeSequenceIfMatch($$.DOCTYPE_STRING, cp, false)) {\n this.state = DOCTYPE_STATE;\n } else if (this._consumeSequenceIfMatch($$.CDATA_START_STRING, cp, true)) {\n if (this.allowCDATA) {\n this.state = CDATA_SECTION_STATE;\n } else {\n this._err(ERR.cdataInHtmlContent);\n this._createCommentToken();\n this.currentToken.data = '[CDATA[';\n this.state = BOGUS_COMMENT_STATE;\n }\n }\n\n //NOTE: sequence lookup can be abrupted by hibernation. In that case lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(ERR.incorrectlyOpenedComment);\n this._createCommentToken();\n this._reconsumeInState(BOGUS_COMMENT_STATE);\n }\n }\n\n // Comment start state\n //------------------------------------------------------------------\n [COMMENT_START_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_START_DASH_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptClosingOfEmptyComment);\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else {\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment start dash state\n //------------------------------------------------------------------\n [COMMENT_START_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_END_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptClosingOfEmptyComment);\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += '-';\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment state\n //------------------------------------------------------------------\n [COMMENT_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_END_DASH_STATE;\n } else if (cp === $.LESS_THAN_SIGN) {\n this.currentToken.data += '<';\n this.state = COMMENT_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.data += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += toChar(cp);\n }\n }\n\n // Comment less-than sign state\n //------------------------------------------------------------------\n [COMMENT_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.EXCLAMATION_MARK) {\n this.currentToken.data += '!';\n this.state = COMMENT_LESS_THAN_SIGN_BANG_STATE;\n } else if (cp === $.LESS_THAN_SIGN) {\n this.currentToken.data += '!';\n } else {\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment less-than sign bang state\n //------------------------------------------------------------------\n [COMMENT_LESS_THAN_SIGN_BANG_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE;\n } else {\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment less-than sign bang dash state\n //------------------------------------------------------------------\n [COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE;\n } else {\n this._reconsumeInState(COMMENT_END_DASH_STATE);\n }\n }\n\n // Comment less-than sign bang dash dash state\n //------------------------------------------------------------------\n [COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE](cp) {\n if (cp !== $.GREATER_THAN_SIGN && cp !== $.EOF) {\n this._err(ERR.nestedComment);\n }\n\n this._reconsumeInState(COMMENT_END_STATE);\n }\n\n // Comment end dash state\n //------------------------------------------------------------------\n [COMMENT_END_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_END_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += '-';\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment end state\n //------------------------------------------------------------------\n [COMMENT_END_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EXCLAMATION_MARK) {\n this.state = COMMENT_END_BANG_STATE;\n } else if (cp === $.HYPHEN_MINUS) {\n this.currentToken.data += '-';\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += '--';\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment end bang state\n //------------------------------------------------------------------\n [COMMENT_END_BANG_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.currentToken.data += '--!';\n this.state = COMMENT_END_DASH_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.incorrectlyClosedComment);\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += '--!';\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // DOCTYPE state\n //------------------------------------------------------------------\n [DOCTYPE_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_DOCTYPE_NAME_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._reconsumeInState(BEFORE_DOCTYPE_NAME_STATE);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this._createDoctypeToken(null);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingWhitespaceBeforeDoctypeName);\n this._reconsumeInState(BEFORE_DOCTYPE_NAME_STATE);\n }\n }\n\n // Before DOCTYPE name state\n //------------------------------------------------------------------\n [BEFORE_DOCTYPE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (isAsciiUpper(cp)) {\n this._createDoctypeToken(toAsciiLowerChar(cp));\n this.state = DOCTYPE_NAME_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._createDoctypeToken(unicode.REPLACEMENT_CHARACTER);\n this.state = DOCTYPE_NAME_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypeName);\n this._createDoctypeToken(null);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this._createDoctypeToken(null);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._createDoctypeToken(toChar(cp));\n this.state = DOCTYPE_NAME_STATE;\n }\n }\n\n // DOCTYPE name state\n //------------------------------------------------------------------\n [DOCTYPE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = AFTER_DOCTYPE_NAME_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (isAsciiUpper(cp)) {\n this.currentToken.name += toAsciiLowerChar(cp);\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.name += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.name += toChar(cp);\n }\n }\n\n // After DOCTYPE name state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else if (this._consumeSequenceIfMatch($$.PUBLIC_STRING, cp, false)) {\n this.state = AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE;\n } else if (this._consumeSequenceIfMatch($$.SYSTEM_STRING, cp, false)) {\n this.state = AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE;\n }\n //NOTE: sequence lookup can be abrupted by hibernation. In that case lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(ERR.invalidCharacterSequenceAfterDoctypeName);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // After DOCTYPE public keyword state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE;\n } else if (cp === $.QUOTATION_MARK) {\n this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);\n this.currentToken.publicId = '';\n this.state = DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);\n this.currentToken.publicId = '';\n this.state = DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // Before DOCTYPE public identifier state\n //------------------------------------------------------------------\n [BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.QUOTATION_MARK) {\n this.currentToken.publicId = '';\n this.state = DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this.currentToken.publicId = '';\n this.state = DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // DOCTYPE public identifier (double-quoted) state\n //------------------------------------------------------------------\n [DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE](cp) {\n if (cp === $.QUOTATION_MARK) {\n this.state = AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.publicId += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.publicId += toChar(cp);\n }\n }\n\n // DOCTYPE public identifier (single-quoted) state\n //------------------------------------------------------------------\n [DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE](cp) {\n if (cp === $.APOSTROPHE) {\n this.state = AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.publicId += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.publicId += toChar(cp);\n }\n }\n\n // After DOCTYPE public identifier state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.QUOTATION_MARK) {\n this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // Between DOCTYPE public and system identifiers state\n //------------------------------------------------------------------\n [BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.QUOTATION_MARK) {\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // After DOCTYPE system keyword state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE;\n } else if (cp === $.QUOTATION_MARK) {\n this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // Before DOCTYPE system identifier state\n //------------------------------------------------------------------\n [BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.QUOTATION_MARK) {\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // DOCTYPE system identifier (double-quoted) state\n //------------------------------------------------------------------\n [DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE](cp) {\n if (cp === $.QUOTATION_MARK) {\n this.state = AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.systemId += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.systemId += toChar(cp);\n }\n }\n\n // DOCTYPE system identifier (single-quoted) state\n //------------------------------------------------------------------\n [DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE](cp) {\n if (cp === $.APOSTROPHE) {\n this.state = AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.systemId += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.systemId += toChar(cp);\n }\n }\n\n // After DOCTYPE system identifier state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.unexpectedCharacterAfterDoctypeSystemIdentifier);\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // Bogus DOCTYPE state\n //------------------------------------------------------------------\n [BOGUS_DOCTYPE_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n } else if (cp === $.EOF) {\n this._emitCurrentToken();\n this._emitEOFToken();\n }\n }\n\n // CDATA section state\n //------------------------------------------------------------------\n [CDATA_SECTION_STATE](cp) {\n if (cp === $.RIGHT_SQUARE_BRACKET) {\n this.state = CDATA_SECTION_BRACKET_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInCdata);\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // CDATA section bracket state\n //------------------------------------------------------------------\n [CDATA_SECTION_BRACKET_STATE](cp) {\n if (cp === $.RIGHT_SQUARE_BRACKET) {\n this.state = CDATA_SECTION_END_STATE;\n } else {\n this._emitChars(']');\n this._reconsumeInState(CDATA_SECTION_STATE);\n }\n }\n\n // CDATA section end state\n //------------------------------------------------------------------\n [CDATA_SECTION_END_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n } else if (cp === $.RIGHT_SQUARE_BRACKET) {\n this._emitChars(']');\n } else {\n this._emitChars(']]');\n this._reconsumeInState(CDATA_SECTION_STATE);\n }\n }\n\n // Character reference state\n //------------------------------------------------------------------\n [CHARACTER_REFERENCE_STATE](cp) {\n this.tempBuff = [$.AMPERSAND];\n\n if (cp === $.NUMBER_SIGN) {\n this.tempBuff.push(cp);\n this.state = NUMERIC_CHARACTER_REFERENCE_STATE;\n } else if (isAsciiAlphaNumeric(cp)) {\n this._reconsumeInState(NAMED_CHARACTER_REFERENCE_STATE);\n } else {\n this._flushCodePointsConsumedAsCharacterReference();\n this._reconsumeInState(this.returnState);\n }\n }\n\n // Named character reference state\n //------------------------------------------------------------------\n [NAMED_CHARACTER_REFERENCE_STATE](cp) {\n const matchResult = this._matchNamedCharacterReference(cp);\n\n //NOTE: matching can be abrupted by hibernation. In that case match\n //results are no longer valid and we will need to start over.\n if (this._ensureHibernation()) {\n this.tempBuff = [$.AMPERSAND];\n } else if (matchResult) {\n const withSemicolon = this.tempBuff[this.tempBuff.length - 1] === $.SEMICOLON;\n\n if (!this._isCharacterReferenceAttributeQuirk(withSemicolon)) {\n if (!withSemicolon) {\n this._errOnNextCodePoint(ERR.missingSemicolonAfterCharacterReference);\n }\n\n this.tempBuff = matchResult;\n }\n\n this._flushCodePointsConsumedAsCharacterReference();\n this.state = this.returnState;\n } else {\n this._flushCodePointsConsumedAsCharacterReference();\n this.state = AMBIGUOUS_AMPERSAND_STATE;\n }\n }\n\n // Ambiguos ampersand state\n //------------------------------------------------------------------\n [AMBIGUOUS_AMPERSAND_STATE](cp) {\n if (isAsciiAlphaNumeric(cp)) {\n if (this._isCharacterReferenceInAttribute()) {\n this.currentAttr.value += toChar(cp);\n } else {\n this._emitCodePoint(cp);\n }\n } else {\n if (cp === $.SEMICOLON) {\n this._err(ERR.unknownNamedCharacterReference);\n }\n\n this._reconsumeInState(this.returnState);\n }\n }\n\n // Numeric character reference state\n //------------------------------------------------------------------\n [NUMERIC_CHARACTER_REFERENCE_STATE](cp) {\n this.charRefCode = 0;\n\n if (cp === $.LATIN_SMALL_X || cp === $.LATIN_CAPITAL_X) {\n this.tempBuff.push(cp);\n this.state = HEXADEMICAL_CHARACTER_REFERENCE_START_STATE;\n } else {\n this._reconsumeInState(DECIMAL_CHARACTER_REFERENCE_START_STATE);\n }\n }\n\n // Hexademical character reference start state\n //------------------------------------------------------------------\n [HEXADEMICAL_CHARACTER_REFERENCE_START_STATE](cp) {\n if (isAsciiHexDigit(cp)) {\n this._reconsumeInState(HEXADEMICAL_CHARACTER_REFERENCE_STATE);\n } else {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointsConsumedAsCharacterReference();\n this._reconsumeInState(this.returnState);\n }\n }\n\n // Decimal character reference start state\n //------------------------------------------------------------------\n [DECIMAL_CHARACTER_REFERENCE_START_STATE](cp) {\n if (isAsciiDigit(cp)) {\n this._reconsumeInState(DECIMAL_CHARACTER_REFERENCE_STATE);\n } else {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointsConsumedAsCharacterReference();\n this._reconsumeInState(this.returnState);\n }\n }\n\n // Hexademical character reference state\n //------------------------------------------------------------------\n [HEXADEMICAL_CHARACTER_REFERENCE_STATE](cp) {\n if (isAsciiUpperHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x37;\n } else if (isAsciiLowerHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x57;\n } else if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x30;\n } else if (cp === $.SEMICOLON) {\n this.state = NUMERIC_CHARACTER_REFERENCE_END_STATE;\n } else {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n this._reconsumeInState(NUMERIC_CHARACTER_REFERENCE_END_STATE);\n }\n }\n\n // Decimal character reference state\n //------------------------------------------------------------------\n [DECIMAL_CHARACTER_REFERENCE_STATE](cp) {\n if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 10 + cp - 0x30;\n } else if (cp === $.SEMICOLON) {\n this.state = NUMERIC_CHARACTER_REFERENCE_END_STATE;\n } else {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n this._reconsumeInState(NUMERIC_CHARACTER_REFERENCE_END_STATE);\n }\n }\n\n // Numeric character reference end state\n //------------------------------------------------------------------\n [NUMERIC_CHARACTER_REFERENCE_END_STATE]() {\n if (this.charRefCode === $.NULL) {\n this._err(ERR.nullCharacterReference);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n } else if (this.charRefCode > 0x10ffff) {\n this._err(ERR.characterReferenceOutsideUnicodeRange);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n } else if (unicode.isSurrogate(this.charRefCode)) {\n this._err(ERR.surrogateCharacterReference);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n } else if (unicode.isUndefinedCodePoint(this.charRefCode)) {\n this._err(ERR.noncharacterCharacterReference);\n } else if (unicode.isControlCodePoint(this.charRefCode) || this.charRefCode === $.CARRIAGE_RETURN) {\n this._err(ERR.controlCharacterReference);\n\n const replacement = C1_CONTROLS_REFERENCE_REPLACEMENTS[this.charRefCode];\n\n if (replacement) {\n this.charRefCode = replacement;\n }\n }\n\n this.tempBuff = [this.charRefCode];\n\n this._flushCodePointsConsumedAsCharacterReference();\n this._reconsumeInState(this.returnState);\n }\n}\n\n//Token types\nTokenizer.CHARACTER_TOKEN = 'CHARACTER_TOKEN';\nTokenizer.NULL_CHARACTER_TOKEN = 'NULL_CHARACTER_TOKEN';\nTokenizer.WHITESPACE_CHARACTER_TOKEN = 'WHITESPACE_CHARACTER_TOKEN';\nTokenizer.START_TAG_TOKEN = 'START_TAG_TOKEN';\nTokenizer.END_TAG_TOKEN = 'END_TAG_TOKEN';\nTokenizer.COMMENT_TOKEN = 'COMMENT_TOKEN';\nTokenizer.DOCTYPE_TOKEN = 'DOCTYPE_TOKEN';\nTokenizer.EOF_TOKEN = 'EOF_TOKEN';\nTokenizer.HIBERNATION_TOKEN = 'HIBERNATION_TOKEN';\n\n//Tokenizer initial states for different modes\nTokenizer.MODE = {\n DATA: DATA_STATE,\n RCDATA: RCDATA_STATE,\n RAWTEXT: RAWTEXT_STATE,\n SCRIPT_DATA: SCRIPT_DATA_STATE,\n PLAINTEXT: PLAINTEXT_STATE\n};\n\n//Static\nTokenizer.getTokenAttr = function(token, attrName) {\n for (let i = token.attrs.length - 1; i >= 0; i--) {\n if (token.attrs[i].name === attrName) {\n return token.attrs[i].value;\n }\n }\n\n return null;\n};\n\nmodule.exports = Tokenizer;\n", "'use strict';\n\nconst NS = (exports.NAMESPACES = {\n HTML: 'http://www.w3.org/1999/xhtml',\n MATHML: 'http://www.w3.org/1998/Math/MathML',\n SVG: 'http://www.w3.org/2000/svg',\n XLINK: 'http://www.w3.org/1999/xlink',\n XML: 'http://www.w3.org/XML/1998/namespace',\n XMLNS: 'http://www.w3.org/2000/xmlns/'\n});\n\nexports.ATTRS = {\n TYPE: 'type',\n ACTION: 'action',\n ENCODING: 'encoding',\n PROMPT: 'prompt',\n NAME: 'name',\n COLOR: 'color',\n FACE: 'face',\n SIZE: 'size'\n};\n\nexports.DOCUMENT_MODE = {\n NO_QUIRKS: 'no-quirks',\n QUIRKS: 'quirks',\n LIMITED_QUIRKS: 'limited-quirks'\n};\n\nconst $ = (exports.TAG_NAMES = {\n A: 'a',\n ADDRESS: 'address',\n ANNOTATION_XML: 'annotation-xml',\n APPLET: 'applet',\n AREA: 'area',\n ARTICLE: 'article',\n ASIDE: 'aside',\n\n B: 'b',\n BASE: 'base',\n BASEFONT: 'basefont',\n BGSOUND: 'bgsound',\n BIG: 'big',\n BLOCKQUOTE: 'blockquote',\n BODY: 'body',\n BR: 'br',\n BUTTON: 'button',\n\n CAPTION: 'caption',\n CENTER: 'center',\n CODE: 'code',\n COL: 'col',\n COLGROUP: 'colgroup',\n\n DD: 'dd',\n DESC: 'desc',\n DETAILS: 'details',\n DIALOG: 'dialog',\n DIR: 'dir',\n DIV: 'div',\n DL: 'dl',\n DT: 'dt',\n\n EM: 'em',\n EMBED: 'embed',\n\n FIELDSET: 'fieldset',\n FIGCAPTION: 'figcaption',\n FIGURE: 'figure',\n FONT: 'font',\n FOOTER: 'footer',\n FOREIGN_OBJECT: 'foreignObject',\n FORM: 'form',\n FRAME: 'frame',\n FRAMESET: 'frameset',\n\n H1: 'h1',\n H2: 'h2',\n H3: 'h3',\n H4: 'h4',\n H5: 'h5',\n H6: 'h6',\n HEAD: 'head',\n HEADER: 'header',\n HGROUP: 'hgroup',\n HR: 'hr',\n HTML: 'html',\n\n I: 'i',\n IMG: 'img',\n IMAGE: 'image',\n INPUT: 'input',\n IFRAME: 'iframe',\n\n KEYGEN: 'keygen',\n\n LABEL: 'label',\n LI: 'li',\n LINK: 'link',\n LISTING: 'listing',\n\n MAIN: 'main',\n MALIGNMARK: 'malignmark',\n MARQUEE: 'marquee',\n MATH: 'math',\n MENU: 'menu',\n META: 'meta',\n MGLYPH: 'mglyph',\n MI: 'mi',\n MO: 'mo',\n MN: 'mn',\n MS: 'ms',\n MTEXT: 'mtext',\n\n NAV: 'nav',\n NOBR: 'nobr',\n NOFRAMES: 'noframes',\n NOEMBED: 'noembed',\n NOSCRIPT: 'noscript',\n\n OBJECT: 'object',\n OL: 'ol',\n OPTGROUP: 'optgroup',\n OPTION: 'option',\n\n P: 'p',\n PARAM: 'param',\n PLAINTEXT: 'plaintext',\n PRE: 'pre',\n\n RB: 'rb',\n RP: 'rp',\n RT: 'rt',\n RTC: 'rtc',\n RUBY: 'ruby',\n\n S: 's',\n SCRIPT: 'script',\n SECTION: 'section',\n SELECT: 'select',\n SOURCE: 'source',\n SMALL: 'small',\n SPAN: 'span',\n STRIKE: 'strike',\n STRONG: 'strong',\n STYLE: 'style',\n SUB: 'sub',\n SUMMARY: 'summary',\n SUP: 'sup',\n\n TABLE: 'table',\n TBODY: 'tbody',\n TEMPLATE: 'template',\n TEXTAREA: 'textarea',\n TFOOT: 'tfoot',\n TD: 'td',\n TH: 'th',\n THEAD: 'thead',\n TITLE: 'title',\n TR: 'tr',\n TRACK: 'track',\n TT: 'tt',\n\n U: 'u',\n UL: 'ul',\n\n SVG: 'svg',\n\n VAR: 'var',\n\n WBR: 'wbr',\n\n XMP: 'xmp'\n});\n\nexports.SPECIAL_ELEMENTS = {\n [NS.HTML]: {\n [$.ADDRESS]: true,\n [$.APPLET]: true,\n [$.AREA]: true,\n [$.ARTICLE]: true,\n [$.ASIDE]: true,\n [$.BASE]: true,\n [$.BASEFONT]: true,\n [$.BGSOUND]: true,\n [$.BLOCKQUOTE]: true,\n [$.BODY]: true,\n [$.BR]: true,\n [$.BUTTON]: true,\n [$.CAPTION]: true,\n [$.CENTER]: true,\n [$.COL]: true,\n [$.COLGROUP]: true,\n [$.DD]: true,\n [$.DETAILS]: true,\n [$.DIR]: true,\n [$.DIV]: true,\n [$.DL]: true,\n [$.DT]: true,\n [$.EMBED]: true,\n [$.FIELDSET]: true,\n [$.FIGCAPTION]: true,\n [$.FIGURE]: true,\n [$.FOOTER]: true,\n [$.FORM]: true,\n [$.FRAME]: true,\n [$.FRAMESET]: true,\n [$.H1]: true,\n [$.H2]: true,\n [$.H3]: true,\n [$.H4]: true,\n [$.H5]: true,\n [$.H6]: true,\n [$.HEAD]: true,\n [$.HEADER]: true,\n [$.HGROUP]: true,\n [$.HR]: true,\n [$.HTML]: true,\n [$.IFRAME]: true,\n [$.IMG]: true,\n [$.INPUT]: true,\n [$.LI]: true,\n [$.LINK]: true,\n [$.LISTING]: true,\n [$.MAIN]: true,\n [$.MARQUEE]: true,\n [$.MENU]: true,\n [$.META]: true,\n [$.NAV]: true,\n [$.NOEMBED]: true,\n [$.NOFRAMES]: true,\n [$.NOSCRIPT]: true,\n [$.OBJECT]: true,\n [$.OL]: true,\n [$.P]: true,\n [$.PARAM]: true,\n [$.PLAINTEXT]: true,\n [$.PRE]: true,\n [$.SCRIPT]: true,\n [$.SECTION]: true,\n [$.SELECT]: true,\n [$.SOURCE]: true,\n [$.STYLE]: true,\n [$.SUMMARY]: true,\n [$.TABLE]: true,\n [$.TBODY]: true,\n [$.TD]: true,\n [$.TEMPLATE]: true,\n [$.TEXTAREA]: true,\n [$.TFOOT]: true,\n [$.TH]: true,\n [$.THEAD]: true,\n [$.TITLE]: true,\n [$.TR]: true,\n [$.TRACK]: true,\n [$.UL]: true,\n [$.WBR]: true,\n [$.XMP]: true\n },\n [NS.MATHML]: {\n [$.MI]: true,\n [$.MO]: true,\n [$.MN]: true,\n [$.MS]: true,\n [$.MTEXT]: true,\n [$.ANNOTATION_XML]: true\n },\n [NS.SVG]: {\n [$.TITLE]: true,\n [$.FOREIGN_OBJECT]: true,\n [$.DESC]: true\n }\n};\n", "'use strict';\n\nconst HTML = require('../common/html');\n\n//Aliases\nconst $ = HTML.TAG_NAMES;\nconst NS = HTML.NAMESPACES;\n\n//Element utils\n\n//OPTIMIZATION: Integer comparisons are low-cost, so we can use very fast tag name length filters here.\n//It's faster than using dictionary.\nfunction isImpliedEndTagRequired(tn) {\n switch (tn.length) {\n case 1:\n return tn === $.P;\n\n case 2:\n return tn === $.RB || tn === $.RP || tn === $.RT || tn === $.DD || tn === $.DT || tn === $.LI;\n\n case 3:\n return tn === $.RTC;\n\n case 6:\n return tn === $.OPTION;\n\n case 8:\n return tn === $.OPTGROUP;\n }\n\n return false;\n}\n\nfunction isImpliedEndTagRequiredThoroughly(tn) {\n switch (tn.length) {\n case 1:\n return tn === $.P;\n\n case 2:\n return (\n tn === $.RB ||\n tn === $.RP ||\n tn === $.RT ||\n tn === $.DD ||\n tn === $.DT ||\n tn === $.LI ||\n tn === $.TD ||\n tn === $.TH ||\n tn === $.TR\n );\n\n case 3:\n return tn === $.RTC;\n\n case 5:\n return tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD;\n\n case 6:\n return tn === $.OPTION;\n\n case 7:\n return tn === $.CAPTION;\n\n case 8:\n return tn === $.OPTGROUP || tn === $.COLGROUP;\n }\n\n return false;\n}\n\nfunction isScopingElement(tn, ns) {\n switch (tn.length) {\n case 2:\n if (tn === $.TD || tn === $.TH) {\n return ns === NS.HTML;\n } else if (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS) {\n return ns === NS.MATHML;\n }\n\n break;\n\n case 4:\n if (tn === $.HTML) {\n return ns === NS.HTML;\n } else if (tn === $.DESC) {\n return ns === NS.SVG;\n }\n\n break;\n\n case 5:\n if (tn === $.TABLE) {\n return ns === NS.HTML;\n } else if (tn === $.MTEXT) {\n return ns === NS.MATHML;\n } else if (tn === $.TITLE) {\n return ns === NS.SVG;\n }\n\n break;\n\n case 6:\n return (tn === $.APPLET || tn === $.OBJECT) && ns === NS.HTML;\n\n case 7:\n return (tn === $.CAPTION || tn === $.MARQUEE) && ns === NS.HTML;\n\n case 8:\n return tn === $.TEMPLATE && ns === NS.HTML;\n\n case 13:\n return tn === $.FOREIGN_OBJECT && ns === NS.SVG;\n\n case 14:\n return tn === $.ANNOTATION_XML && ns === NS.MATHML;\n }\n\n return false;\n}\n\n//Stack of open elements\nclass OpenElementStack {\n constructor(document, treeAdapter) {\n this.stackTop = -1;\n this.items = [];\n this.current = document;\n this.currentTagName = null;\n this.currentTmplContent = null;\n this.tmplCount = 0;\n this.treeAdapter = treeAdapter;\n }\n\n //Index of element\n _indexOf(element) {\n let idx = -1;\n\n for (let i = this.stackTop; i >= 0; i--) {\n if (this.items[i] === element) {\n idx = i;\n break;\n }\n }\n return idx;\n }\n\n //Update current element\n _isInTemplate() {\n return this.currentTagName === $.TEMPLATE && this.treeAdapter.getNamespaceURI(this.current) === NS.HTML;\n }\n\n _updateCurrentElement() {\n this.current = this.items[this.stackTop];\n this.currentTagName = this.current && this.treeAdapter.getTagName(this.current);\n\n this.currentTmplContent = this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : null;\n }\n\n //Mutations\n push(element) {\n this.items[++this.stackTop] = element;\n this._updateCurrentElement();\n\n if (this._isInTemplate()) {\n this.tmplCount++;\n }\n }\n\n pop() {\n this.stackTop--;\n\n if (this.tmplCount > 0 && this._isInTemplate()) {\n this.tmplCount--;\n }\n\n this._updateCurrentElement();\n }\n\n replace(oldElement, newElement) {\n const idx = this._indexOf(oldElement);\n\n this.items[idx] = newElement;\n\n if (idx === this.stackTop) {\n this._updateCurrentElement();\n }\n }\n\n insertAfter(referenceElement, newElement) {\n const insertionIdx = this._indexOf(referenceElement) + 1;\n\n this.items.splice(insertionIdx, 0, newElement);\n\n if (insertionIdx === ++this.stackTop) {\n this._updateCurrentElement();\n }\n }\n\n popUntilTagNamePopped(tagName) {\n while (this.stackTop > -1) {\n const tn = this.currentTagName;\n const ns = this.treeAdapter.getNamespaceURI(this.current);\n\n this.pop();\n\n if (tn === tagName && ns === NS.HTML) {\n break;\n }\n }\n }\n\n popUntilElementPopped(element) {\n while (this.stackTop > -1) {\n const poppedElement = this.current;\n\n this.pop();\n\n if (poppedElement === element) {\n break;\n }\n }\n }\n\n popUntilNumberedHeaderPopped() {\n while (this.stackTop > -1) {\n const tn = this.currentTagName;\n const ns = this.treeAdapter.getNamespaceURI(this.current);\n\n this.pop();\n\n if (\n tn === $.H1 ||\n tn === $.H2 ||\n tn === $.H3 ||\n tn === $.H4 ||\n tn === $.H5 ||\n (tn === $.H6 && ns === NS.HTML)\n ) {\n break;\n }\n }\n }\n\n popUntilTableCellPopped() {\n while (this.stackTop > -1) {\n const tn = this.currentTagName;\n const ns = this.treeAdapter.getNamespaceURI(this.current);\n\n this.pop();\n\n if (tn === $.TD || (tn === $.TH && ns === NS.HTML)) {\n break;\n }\n }\n }\n\n popAllUpToHtmlElement() {\n //NOTE: here we assume that root <html> element is always first in the open element stack, so\n //we perform this fast stack clean up.\n this.stackTop = 0;\n this._updateCurrentElement();\n }\n\n clearBackToTableContext() {\n while (\n (this.currentTagName !== $.TABLE && this.currentTagName !== $.TEMPLATE && this.currentTagName !== $.HTML) ||\n this.treeAdapter.getNamespaceURI(this.current) !== NS.HTML\n ) {\n this.pop();\n }\n }\n\n clearBackToTableBodyContext() {\n while (\n (this.currentTagName !== $.TBODY &&\n this.currentTagName !== $.TFOOT &&\n this.currentTagName !== $.THEAD &&\n this.currentTagName !== $.TEMPLATE &&\n this.currentTagName !== $.HTML) ||\n this.treeAdapter.getNamespaceURI(this.current) !== NS.HTML\n ) {\n this.pop();\n }\n }\n\n clearBackToTableRowContext() {\n while (\n (this.currentTagName !== $.TR && this.currentTagName !== $.TEMPLATE && this.currentTagName !== $.HTML) ||\n this.treeAdapter.getNamespaceURI(this.current) !== NS.HTML\n ) {\n this.pop();\n }\n }\n\n remove(element) {\n for (let i = this.stackTop; i >= 0; i--) {\n if (this.items[i] === element) {\n this.items.splice(i, 1);\n this.stackTop--;\n this._updateCurrentElement();\n break;\n }\n }\n }\n\n //Search\n tryPeekProperlyNestedBodyElement() {\n //Properly nested <body> element (should be second element in stack).\n const element = this.items[1];\n\n return element && this.treeAdapter.getTagName(element) === $.BODY ? element : null;\n }\n\n contains(element) {\n return this._indexOf(element) > -1;\n }\n\n getCommonAncestor(element) {\n let elementIdx = this._indexOf(element);\n\n return --elementIdx >= 0 ? this.items[elementIdx] : null;\n }\n\n isRootHtmlElementCurrent() {\n return this.stackTop === 0 && this.currentTagName === $.HTML;\n }\n\n //Element in scope\n hasInScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n\n if (isScopingElement(tn, ns)) {\n return false;\n }\n }\n\n return true;\n }\n\n hasNumberedHeaderInScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (\n (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) &&\n ns === NS.HTML\n ) {\n return true;\n }\n\n if (isScopingElement(tn, ns)) {\n return false;\n }\n }\n\n return true;\n }\n\n hasInListItemScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n\n if (((tn === $.UL || tn === $.OL) && ns === NS.HTML) || isScopingElement(tn, ns)) {\n return false;\n }\n }\n\n return true;\n }\n\n hasInButtonScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n\n if ((tn === $.BUTTON && ns === NS.HTML) || isScopingElement(tn, ns)) {\n return false;\n }\n }\n\n return true;\n }\n\n hasInTableScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (ns !== NS.HTML) {\n continue;\n }\n\n if (tn === tagName) {\n return true;\n }\n\n if (tn === $.TABLE || tn === $.TEMPLATE || tn === $.HTML) {\n return false;\n }\n }\n\n return true;\n }\n\n hasTableBodyContextInTableScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (ns !== NS.HTML) {\n continue;\n }\n\n if (tn === $.TBODY || tn === $.THEAD || tn === $.TFOOT) {\n return true;\n }\n\n if (tn === $.TABLE || tn === $.HTML) {\n return false;\n }\n }\n\n return true;\n }\n\n hasInSelectScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (ns !== NS.HTML) {\n continue;\n }\n\n if (tn === tagName) {\n return true;\n }\n\n if (tn !== $.OPTION && tn !== $.OPTGROUP) {\n return false;\n }\n }\n\n return true;\n }\n\n //Implied end tags\n generateImpliedEndTags() {\n while (isImpliedEndTagRequired(this.currentTagName)) {\n this.pop();\n }\n }\n\n generateImpliedEndTagsThoroughly() {\n while (isImpliedEndTagRequiredThoroughly(this.currentTagName)) {\n this.pop();\n }\n }\n\n generateImpliedEndTagsWithExclusion(exclusionTagName) {\n while (isImpliedEndTagRequired(this.currentTagName) && this.currentTagName !== exclusionTagName) {\n this.pop();\n }\n }\n}\n\nmodule.exports = OpenElementStack;\n", "'use strict';\n\n//Const\nconst NOAH_ARK_CAPACITY = 3;\n\n//List of formatting elements\nclass FormattingElementList {\n constructor(treeAdapter) {\n this.length = 0;\n this.entries = [];\n this.treeAdapter = treeAdapter;\n this.bookmark = null;\n }\n\n //Noah Ark's condition\n //OPTIMIZATION: at first we try to find possible candidates for exclusion using\n //lightweight heuristics without thorough attributes check.\n _getNoahArkConditionCandidates(newElement) {\n const candidates = [];\n\n if (this.length >= NOAH_ARK_CAPACITY) {\n const neAttrsLength = this.treeAdapter.getAttrList(newElement).length;\n const neTagName = this.treeAdapter.getTagName(newElement);\n const neNamespaceURI = this.treeAdapter.getNamespaceURI(newElement);\n\n for (let i = this.length - 1; i >= 0; i--) {\n const entry = this.entries[i];\n\n if (entry.type === FormattingElementList.MARKER_ENTRY) {\n break;\n }\n\n const element = entry.element;\n const elementAttrs = this.treeAdapter.getAttrList(element);\n\n const isCandidate =\n this.treeAdapter.getTagName(element) === neTagName &&\n this.treeAdapter.getNamespaceURI(element) === neNamespaceURI &&\n elementAttrs.length === neAttrsLength;\n\n if (isCandidate) {\n candidates.push({ idx: i, attrs: elementAttrs });\n }\n }\n }\n\n return candidates.length < NOAH_ARK_CAPACITY ? [] : candidates;\n }\n\n _ensureNoahArkCondition(newElement) {\n const candidates = this._getNoahArkConditionCandidates(newElement);\n let cLength = candidates.length;\n\n if (cLength) {\n const neAttrs = this.treeAdapter.getAttrList(newElement);\n const neAttrsLength = neAttrs.length;\n const neAttrsMap = Object.create(null);\n\n //NOTE: build attrs map for the new element so we can perform fast lookups\n for (let i = 0; i < neAttrsLength; i++) {\n const neAttr = neAttrs[i];\n\n neAttrsMap[neAttr.name] = neAttr.value;\n }\n\n for (let i = 0; i < neAttrsLength; i++) {\n for (let j = 0; j < cLength; j++) {\n const cAttr = candidates[j].attrs[i];\n\n if (neAttrsMap[cAttr.name] !== cAttr.value) {\n candidates.splice(j, 1);\n cLength--;\n }\n\n if (candidates.length < NOAH_ARK_CAPACITY) {\n return;\n }\n }\n }\n\n //NOTE: remove bottommost candidates until Noah's Ark condition will not be met\n for (let i = cLength - 1; i >= NOAH_ARK_CAPACITY - 1; i--) {\n this.entries.splice(candidates[i].idx, 1);\n this.length--;\n }\n }\n }\n\n //Mutations\n insertMarker() {\n this.entries.push({ type: FormattingElementList.MARKER_ENTRY });\n this.length++;\n }\n\n pushElement(element, token) {\n this._ensureNoahArkCondition(element);\n\n this.entries.push({\n type: FormattingElementList.ELEMENT_ENTRY,\n element: element,\n token: token\n });\n\n this.length++;\n }\n\n insertElementAfterBookmark(element, token) {\n let bookmarkIdx = this.length - 1;\n\n for (; bookmarkIdx >= 0; bookmarkIdx--) {\n if (this.entries[bookmarkIdx] === this.bookmark) {\n break;\n }\n }\n\n this.entries.splice(bookmarkIdx + 1, 0, {\n type: FormattingElementList.ELEMENT_ENTRY,\n element: element,\n token: token\n });\n\n this.length++;\n }\n\n removeEntry(entry) {\n for (let i = this.length - 1; i >= 0; i--) {\n if (this.entries[i] === entry) {\n this.entries.splice(i, 1);\n this.length--;\n break;\n }\n }\n }\n\n clearToLastMarker() {\n while (this.length) {\n const entry = this.entries.pop();\n\n this.length--;\n\n if (entry.type === FormattingElementList.MARKER_ENTRY) {\n break;\n }\n }\n }\n\n //Search\n getElementEntryInScopeWithTagName(tagName) {\n for (let i = this.length - 1; i >= 0; i--) {\n const entry = this.entries[i];\n\n if (entry.type === FormattingElementList.MARKER_ENTRY) {\n return null;\n }\n\n if (this.treeAdapter.getTagName(entry.element) === tagName) {\n return entry;\n }\n }\n\n return null;\n }\n\n getElementEntry(element) {\n for (let i = this.length - 1; i >= 0; i--) {\n const entry = this.entries[i];\n\n if (entry.type === FormattingElementList.ELEMENT_ENTRY && entry.element === element) {\n return entry;\n }\n }\n\n return null;\n }\n}\n\n//Entry types\nFormattingElementList.MARKER_ENTRY = 'MARKER_ENTRY';\nFormattingElementList.ELEMENT_ENTRY = 'ELEMENT_ENTRY';\n\nmodule.exports = FormattingElementList;\n", "'use strict';\n\nclass Mixin {\n constructor(host) {\n const originalMethods = {};\n const overriddenMethods = this._getOverriddenMethods(this, originalMethods);\n\n for (const key of Object.keys(overriddenMethods)) {\n if (typeof overriddenMethods[key] === 'function') {\n originalMethods[key] = host[key];\n host[key] = overriddenMethods[key];\n }\n }\n }\n\n _getOverriddenMethods() {\n throw new Error('Not implemented');\n }\n}\n\nMixin.install = function(host, Ctor, opts) {\n if (!host.__mixins) {\n host.__mixins = [];\n }\n\n for (let i = 0; i < host.__mixins.length; i++) {\n if (host.__mixins[i].constructor === Ctor) {\n return host.__mixins[i];\n }\n }\n\n const mixin = new Ctor(host, opts);\n\n host.__mixins.push(mixin);\n\n return mixin;\n};\n\nmodule.exports = Mixin;\n", "'use strict';\n\nconst Mixin = require('../../utils/mixin');\n\nclass PositionTrackingPreprocessorMixin extends Mixin {\n constructor(preprocessor) {\n super(preprocessor);\n\n this.preprocessor = preprocessor;\n this.isEol = false;\n this.lineStartPos = 0;\n this.droppedBufferSize = 0;\n\n this.offset = 0;\n this.col = 0;\n this.line = 1;\n }\n\n _getOverriddenMethods(mxn, orig) {\n return {\n advance() {\n const pos = this.pos + 1;\n const ch = this.html[pos];\n\n //NOTE: LF should be in the last column of the line\n if (mxn.isEol) {\n mxn.isEol = false;\n mxn.line++;\n mxn.lineStartPos = pos;\n }\n\n if (ch === '\\n' || (ch === '\\r' && this.html[pos + 1] !== '\\n')) {\n mxn.isEol = true;\n }\n\n mxn.col = pos - mxn.lineStartPos + 1;\n mxn.offset = mxn.droppedBufferSize + pos;\n\n return orig.advance.call(this);\n },\n\n retreat() {\n orig.retreat.call(this);\n\n mxn.isEol = false;\n mxn.col = this.pos - mxn.lineStartPos + 1;\n },\n\n dropParsedChunk() {\n const prevPos = this.pos;\n\n orig.dropParsedChunk.call(this);\n\n const reduction = prevPos - this.pos;\n\n mxn.lineStartPos -= reduction;\n mxn.droppedBufferSize += reduction;\n mxn.offset = mxn.droppedBufferSize + this.pos;\n }\n };\n }\n}\n\nmodule.exports = PositionTrackingPreprocessorMixin;\n", "'use strict';\n\nconst Mixin = require('../../utils/mixin');\nconst Tokenizer = require('../../tokenizer');\nconst PositionTrackingPreprocessorMixin = require('../position-tracking/preprocessor-mixin');\n\nclass LocationInfoTokenizerMixin extends Mixin {\n constructor(tokenizer) {\n super(tokenizer);\n\n this.tokenizer = tokenizer;\n this.posTracker = Mixin.install(tokenizer.preprocessor, PositionTrackingPreprocessorMixin);\n this.currentAttrLocation = null;\n this.ctLoc = null;\n }\n\n _getCurrentLocation() {\n return {\n startLine: this.posTracker.line,\n startCol: this.posTracker.col,\n startOffset: this.posTracker.offset,\n endLine: -1,\n endCol: -1,\n endOffset: -1\n };\n }\n\n _attachCurrentAttrLocationInfo() {\n this.currentAttrLocation.endLine = this.posTracker.line;\n this.currentAttrLocation.endCol = this.posTracker.col;\n this.currentAttrLocation.endOffset = this.posTracker.offset;\n\n const currentToken = this.tokenizer.currentToken;\n const currentAttr = this.tokenizer.currentAttr;\n\n if (!currentToken.location.attrs) {\n currentToken.location.attrs = Object.create(null);\n }\n\n currentToken.location.attrs[currentAttr.name] = this.currentAttrLocation;\n }\n\n _getOverriddenMethods(mxn, orig) {\n const methods = {\n _createStartTagToken() {\n orig._createStartTagToken.call(this);\n this.currentToken.location = mxn.ctLoc;\n },\n\n _createEndTagToken() {\n orig._createEndTagToken.call(this);\n this.currentToken.location = mxn.ctLoc;\n },\n\n _createCommentToken() {\n orig._createCommentToken.call(this);\n this.currentToken.location = mxn.ctLoc;\n },\n\n _createDoctypeToken(initialName) {\n orig._createDoctypeToken.call(this, initialName);\n this.currentToken.location = mxn.ctLoc;\n },\n\n _createCharacterToken(type, ch) {\n orig._createCharacterToken.call(this, type, ch);\n this.currentCharacterToken.location = mxn.ctLoc;\n },\n\n _createEOFToken() {\n orig._createEOFToken.call(this);\n this.currentToken.location = mxn._getCurrentLocation();\n },\n\n _createAttr(attrNameFirstCh) {\n orig._createAttr.call(this, attrNameFirstCh);\n mxn.currentAttrLocation = mxn._getCurrentLocation();\n },\n\n _leaveAttrName(toState) {\n orig._leaveAttrName.call(this, toState);\n mxn._attachCurrentAttrLocationInfo();\n },\n\n _leaveAttrValue(toState) {\n orig._leaveAttrValue.call(this, toState);\n mxn._attachCurrentAttrLocationInfo();\n },\n\n _emitCurrentToken() {\n const ctLoc = this.currentToken.location;\n\n //NOTE: if we have pending character token make it's end location equal to the\n //current token's start location.\n if (this.currentCharacterToken) {\n this.currentCharacterToken.location.endLine = ctLoc.startLine;\n this.currentCharacterToken.location.endCol = ctLoc.startCol;\n this.currentCharacterToken.location.endOffset = ctLoc.startOffset;\n }\n\n if (this.currentToken.type === Tokenizer.EOF_TOKEN) {\n ctLoc.endLine = ctLoc.startLine;\n ctLoc.endCol = ctLoc.startCol;\n ctLoc.endOffset = ctLoc.startOffset;\n } else {\n ctLoc.endLine = mxn.posTracker.line;\n ctLoc.endCol = mxn.posTracker.col + 1;\n ctLoc.endOffset = mxn.posTracker.offset + 1;\n }\n\n orig._emitCurrentToken.call(this);\n },\n\n _emitCurrentCharacterToken() {\n const ctLoc = this.currentCharacterToken && this.currentCharacterToken.location;\n\n //NOTE: if we have character token and it's location wasn't set in the _emitCurrentToken(),\n //then set it's location at the current preprocessor position.\n //We don't need to increment preprocessor position, since character token\n //emission is always forced by the start of the next character token here.\n //So, we already have advanced position.\n if (ctLoc && ctLoc.endOffset === -1) {\n ctLoc.endLine = mxn.posTracker.line;\n ctLoc.endCol = mxn.posTracker.col;\n ctLoc.endOffset = mxn.posTracker.offset;\n }\n\n orig._emitCurrentCharacterToken.call(this);\n }\n };\n\n //NOTE: patch initial states for each mode to obtain token start position\n Object.keys(Tokenizer.MODE).forEach(modeName => {\n const state = Tokenizer.MODE[modeName];\n\n methods[state] = function(cp) {\n mxn.ctLoc = mxn._getCurrentLocation();\n orig[state].call(this, cp);\n };\n });\n\n return methods;\n }\n}\n\nmodule.exports = LocationInfoTokenizerMixin;\n", "'use strict';\n\nconst Mixin = require('../../utils/mixin');\n\nclass LocationInfoOpenElementStackMixin extends Mixin {\n constructor(stack, opts) {\n super(stack);\n\n this.onItemPop = opts.onItemPop;\n }\n\n _getOverriddenMethods(mxn, orig) {\n return {\n pop() {\n mxn.onItemPop(this.current);\n orig.pop.call(this);\n },\n\n popAllUpToHtmlElement() {\n for (let i = this.stackTop; i > 0; i--) {\n mxn.onItemPop(this.items[i]);\n }\n\n orig.popAllUpToHtmlElement.call(this);\n },\n\n remove(element) {\n mxn.onItemPop(this.current);\n orig.remove.call(this, element);\n }\n };\n }\n}\n\nmodule.exports = LocationInfoOpenElementStackMixin;\n", "'use strict';\n\nconst Mixin = require('../../utils/mixin');\nconst Tokenizer = require('../../tokenizer');\nconst LocationInfoTokenizerMixin = require('./tokenizer-mixin');\nconst LocationInfoOpenElementStackMixin = require('./open-element-stack-mixin');\nconst HTML = require('../../common/html');\n\n//Aliases\nconst $ = HTML.TAG_NAMES;\n\nclass LocationInfoParserMixin extends Mixin {\n constructor(parser) {\n super(parser);\n\n this.parser = parser;\n this.treeAdapter = this.parser.treeAdapter;\n this.posTracker = null;\n this.lastStartTagToken = null;\n this.lastFosterParentingLocation = null;\n this.currentToken = null;\n }\n\n _setStartLocation(element) {\n let loc = null;\n\n if (this.lastStartTagToken) {\n loc = Object.assign({}, this.lastStartTagToken.location);\n loc.startTag = this.lastStartTagToken.location;\n }\n\n this.treeAdapter.setNodeSourceCodeLocation(element, loc);\n }\n\n _setEndLocation(element, closingToken) {\n const loc = this.treeAdapter.getNodeSourceCodeLocation(element);\n\n if (loc) {\n if (closingToken.location) {\n const ctLoc = closingToken.location;\n const tn = this.treeAdapter.getTagName(element);\n\n // NOTE: For cases like <p> <p> </p> - First 'p' closes without a closing\n // tag and for cases like <td> <p> </td> - 'p' closes without a closing tag.\n const isClosingEndTag = closingToken.type === Tokenizer.END_TAG_TOKEN && tn === closingToken.tagName;\n const endLoc = {};\n if (isClosingEndTag) {\n endLoc.endTag = Object.assign({}, ctLoc);\n endLoc.endLine = ctLoc.endLine;\n endLoc.endCol = ctLoc.endCol;\n endLoc.endOffset = ctLoc.endOffset;\n } else {\n endLoc.endLine = ctLoc.startLine;\n endLoc.endCol = ctLoc.startCol;\n endLoc.endOffset = ctLoc.startOffset;\n }\n\n this.treeAdapter.updateNodeSourceCodeLocation(element, endLoc);\n }\n }\n }\n\n _getOverriddenMethods(mxn, orig) {\n return {\n _bootstrap(document, fragmentContext) {\n orig._bootstrap.call(this, document, fragmentContext);\n\n mxn.lastStartTagToken = null;\n mxn.lastFosterParentingLocation = null;\n mxn.currentToken = null;\n\n const tokenizerMixin = Mixin.install(this.tokenizer, LocationInfoTokenizerMixin);\n\n mxn.posTracker = tokenizerMixin.posTracker;\n\n Mixin.install(this.openElements, LocationInfoOpenElementStackMixin, {\n onItemPop: function(element) {\n mxn._setEndLocation(element, mxn.currentToken);\n }\n });\n },\n\n _runParsingLoop(scriptHandler) {\n orig._runParsingLoop.call(this, scriptHandler);\n\n // NOTE: generate location info for elements\n // that remains on open element stack\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n mxn._setEndLocation(this.openElements.items[i], mxn.currentToken);\n }\n },\n\n //Token processing\n _processTokenInForeignContent(token) {\n mxn.currentToken = token;\n orig._processTokenInForeignContent.call(this, token);\n },\n\n _processToken(token) {\n mxn.currentToken = token;\n orig._processToken.call(this, token);\n\n //NOTE: <body> and <html> are never popped from the stack, so we need to updated\n //their end location explicitly.\n const requireExplicitUpdate =\n token.type === Tokenizer.END_TAG_TOKEN &&\n (token.tagName === $.HTML || (token.tagName === $.BODY && this.openElements.hasInScope($.BODY)));\n\n if (requireExplicitUpdate) {\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n const element = this.openElements.items[i];\n\n if (this.treeAdapter.getTagName(element) === token.tagName) {\n mxn._setEndLocation(element, token);\n break;\n }\n }\n }\n },\n\n //Doctype\n _setDocumentType(token) {\n orig._setDocumentType.call(this, token);\n\n const documentChildren = this.treeAdapter.getChildNodes(this.document);\n const cnLength = documentChildren.length;\n\n for (let i = 0; i < cnLength; i++) {\n const node = documentChildren[i];\n\n if (this.treeAdapter.isDocumentTypeNode(node)) {\n this.treeAdapter.setNodeSourceCodeLocation(node, token.location);\n break;\n }\n }\n },\n\n //Elements\n _attachElementToTree(element) {\n //NOTE: _attachElementToTree is called from _appendElement, _insertElement and _insertTemplate methods.\n //So we will use token location stored in this methods for the element.\n mxn._setStartLocation(element);\n mxn.lastStartTagToken = null;\n orig._attachElementToTree.call(this, element);\n },\n\n _appendElement(token, namespaceURI) {\n mxn.lastStartTagToken = token;\n orig._appendElement.call(this, token, namespaceURI);\n },\n\n _insertElement(token, namespaceURI) {\n mxn.lastStartTagToken = token;\n orig._insertElement.call(this, token, namespaceURI);\n },\n\n _insertTemplate(token) {\n mxn.lastStartTagToken = token;\n orig._insertTemplate.call(this, token);\n\n const tmplContent = this.treeAdapter.getTemplateContent(this.openElements.current);\n\n this.treeAdapter.setNodeSourceCodeLocation(tmplContent, null);\n },\n\n _insertFakeRootElement() {\n orig._insertFakeRootElement.call(this);\n this.treeAdapter.setNodeSourceCodeLocation(this.openElements.current, null);\n },\n\n //Comments\n _appendCommentNode(token, parent) {\n orig._appendCommentNode.call(this, token, parent);\n\n const children = this.treeAdapter.getChildNodes(parent);\n const commentNode = children[children.length - 1];\n\n this.treeAdapter.setNodeSourceCodeLocation(commentNode, token.location);\n },\n\n //Text\n _findFosterParentingLocation() {\n //NOTE: store last foster parenting location, so we will be able to find inserted text\n //in case of foster parenting\n mxn.lastFosterParentingLocation = orig._findFosterParentingLocation.call(this);\n\n return mxn.lastFosterParentingLocation;\n },\n\n _insertCharacters(token) {\n orig._insertCharacters.call(this, token);\n\n const hasFosterParent = this._shouldFosterParentOnInsertion();\n\n const parent =\n (hasFosterParent && mxn.lastFosterParentingLocation.parent) ||\n this.openElements.currentTmplContent ||\n this.openElements.current;\n\n const siblings = this.treeAdapter.getChildNodes(parent);\n\n const textNodeIdx =\n hasFosterParent && mxn.lastFosterParentingLocation.beforeElement\n ? siblings.indexOf(mxn.lastFosterParentingLocation.beforeElement) - 1\n : siblings.length - 1;\n\n const textNode = siblings[textNodeIdx];\n\n //NOTE: if we have location assigned by another token, then just update end position\n const tnLoc = this.treeAdapter.getNodeSourceCodeLocation(textNode);\n\n if (tnLoc) {\n const { endLine, endCol, endOffset } = token.location;\n this.treeAdapter.updateNodeSourceCodeLocation(textNode, { endLine, endCol, endOffset });\n } else {\n this.treeAdapter.setNodeSourceCodeLocation(textNode, token.location);\n }\n }\n };\n }\n}\n\nmodule.exports = LocationInfoParserMixin;\n", "'use strict';\n\nconst Mixin = require('../../utils/mixin');\n\nclass ErrorReportingMixinBase extends Mixin {\n constructor(host, opts) {\n super(host);\n\n this.posTracker = null;\n this.onParseError = opts.onParseError;\n }\n\n _setErrorLocation(err) {\n err.startLine = err.endLine = this.posTracker.line;\n err.startCol = err.endCol = this.posTracker.col;\n err.startOffset = err.endOffset = this.posTracker.offset;\n }\n\n _reportError(code) {\n const err = {\n code: code,\n startLine: -1,\n startCol: -1,\n startOffset: -1,\n endLine: -1,\n endCol: -1,\n endOffset: -1\n };\n\n this._setErrorLocation(err);\n this.onParseError(err);\n }\n\n _getOverriddenMethods(mxn) {\n return {\n _err(code) {\n mxn._reportError(code);\n }\n };\n }\n}\n\nmodule.exports = ErrorReportingMixinBase;\n", "'use strict';\n\nconst ErrorReportingMixinBase = require('./mixin-base');\nconst PositionTrackingPreprocessorMixin = require('../position-tracking/preprocessor-mixin');\nconst Mixin = require('../../utils/mixin');\n\nclass ErrorReportingPreprocessorMixin extends ErrorReportingMixinBase {\n constructor(preprocessor, opts) {\n super(preprocessor, opts);\n\n this.posTracker = Mixin.install(preprocessor, PositionTrackingPreprocessorMixin);\n this.lastErrOffset = -1;\n }\n\n _reportError(code) {\n //NOTE: avoid reporting error twice on advance/retreat\n if (this.lastErrOffset !== this.posTracker.offset) {\n this.lastErrOffset = this.posTracker.offset;\n super._reportError(code);\n }\n }\n}\n\nmodule.exports = ErrorReportingPreprocessorMixin;\n", "'use strict';\n\nconst ErrorReportingMixinBase = require('./mixin-base');\nconst ErrorReportingPreprocessorMixin = require('./preprocessor-mixin');\nconst Mixin = require('../../utils/mixin');\n\nclass ErrorReportingTokenizerMixin extends ErrorReportingMixinBase {\n constructor(tokenizer, opts) {\n super(tokenizer, opts);\n\n const preprocessorMixin = Mixin.install(tokenizer.preprocessor, ErrorReportingPreprocessorMixin, opts);\n\n this.posTracker = preprocessorMixin.posTracker;\n }\n}\n\nmodule.exports = ErrorReportingTokenizerMixin;\n", "'use strict';\n\nconst ErrorReportingMixinBase = require('./mixin-base');\nconst ErrorReportingTokenizerMixin = require('./tokenizer-mixin');\nconst LocationInfoTokenizerMixin = require('../location-info/tokenizer-mixin');\nconst Mixin = require('../../utils/mixin');\n\nclass ErrorReportingParserMixin extends ErrorReportingMixinBase {\n constructor(parser, opts) {\n super(parser, opts);\n\n this.opts = opts;\n this.ctLoc = null;\n this.locBeforeToken = false;\n }\n\n _setErrorLocation(err) {\n if (this.ctLoc) {\n err.startLine = this.ctLoc.startLine;\n err.startCol = this.ctLoc.startCol;\n err.startOffset = this.ctLoc.startOffset;\n\n err.endLine = this.locBeforeToken ? this.ctLoc.startLine : this.ctLoc.endLine;\n err.endCol = this.locBeforeToken ? this.ctLoc.startCol : this.ctLoc.endCol;\n err.endOffset = this.locBeforeToken ? this.ctLoc.startOffset : this.ctLoc.endOffset;\n }\n }\n\n _getOverriddenMethods(mxn, orig) {\n return {\n _bootstrap(document, fragmentContext) {\n orig._bootstrap.call(this, document, fragmentContext);\n\n Mixin.install(this.tokenizer, ErrorReportingTokenizerMixin, mxn.opts);\n Mixin.install(this.tokenizer, LocationInfoTokenizerMixin);\n },\n\n _processInputToken(token) {\n mxn.ctLoc = token.location;\n\n orig._processInputToken.call(this, token);\n },\n\n _err(code, options) {\n mxn.locBeforeToken = options && options.beforeToken;\n mxn._reportError(code);\n }\n };\n }\n}\n\nmodule.exports = ErrorReportingParserMixin;\n", "'use strict';\n\nconst { DOCUMENT_MODE } = require('../common/html');\n\n//Node construction\nexports.createDocument = function() {\n return {\n nodeName: '#document',\n mode: DOCUMENT_MODE.NO_QUIRKS,\n childNodes: []\n };\n};\n\nexports.createDocumentFragment = function() {\n return {\n nodeName: '#document-fragment',\n childNodes: []\n };\n};\n\nexports.createElement = function(tagName, namespaceURI, attrs) {\n return {\n nodeName: tagName,\n tagName: tagName,\n attrs: attrs,\n namespaceURI: namespaceURI,\n childNodes: [],\n parentNode: null\n };\n};\n\nexports.createCommentNode = function(data) {\n return {\n nodeName: '#comment',\n data: data,\n parentNode: null\n };\n};\n\nconst createTextNode = function(value) {\n return {\n nodeName: '#text',\n value: value,\n parentNode: null\n };\n};\n\n//Tree mutation\nconst appendChild = (exports.appendChild = function(parentNode, newNode) {\n parentNode.childNodes.push(newNode);\n newNode.parentNode = parentNode;\n});\n\nconst insertBefore = (exports.insertBefore = function(parentNode, newNode, referenceNode) {\n const insertionIdx = parentNode.childNodes.indexOf(referenceNode);\n\n parentNode.childNodes.splice(insertionIdx, 0, newNode);\n newNode.parentNode = parentNode;\n});\n\nexports.setTemplateContent = function(templateElement, contentElement) {\n templateElement.content = contentElement;\n};\n\nexports.getTemplateContent = function(templateElement) {\n return templateElement.content;\n};\n\nexports.setDocumentType = function(document, name, publicId, systemId) {\n let doctypeNode = null;\n\n for (let i = 0; i < document.childNodes.length; i++) {\n if (document.childNodes[i].nodeName === '#documentType') {\n doctypeNode = document.childNodes[i];\n break;\n }\n }\n\n if (doctypeNode) {\n doctypeNode.name = name;\n doctypeNode.publicId = publicId;\n doctypeNode.systemId = systemId;\n } else {\n appendChild(document, {\n nodeName: '#documentType',\n name: name,\n publicId: publicId,\n systemId: systemId\n });\n }\n};\n\nexports.setDocumentMode = function(document, mode) {\n document.mode = mode;\n};\n\nexports.getDocumentMode = function(document) {\n return document.mode;\n};\n\nexports.detachNode = function(node) {\n if (node.parentNode) {\n const idx = node.parentNode.childNodes.indexOf(node);\n\n node.parentNode.childNodes.splice(idx, 1);\n node.parentNode = null;\n }\n};\n\nexports.insertText = function(parentNode, text) {\n if (parentNode.childNodes.length) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.length - 1];\n\n if (prevNode.nodeName === '#text') {\n prevNode.value += text;\n return;\n }\n }\n\n appendChild(parentNode, createTextNode(text));\n};\n\nexports.insertTextBefore = function(parentNode, text, referenceNode) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.indexOf(referenceNode) - 1];\n\n if (prevNode && prevNode.nodeName === '#text') {\n prevNode.value += text;\n } else {\n insertBefore(parentNode, createTextNode(text), referenceNode);\n }\n};\n\nexports.adoptAttributes = function(recipient, attrs) {\n const recipientAttrsMap = [];\n\n for (let i = 0; i < recipient.attrs.length; i++) {\n recipientAttrsMap.push(recipient.attrs[i].name);\n }\n\n for (let j = 0; j < attrs.length; j++) {\n if (recipientAttrsMap.indexOf(attrs[j].name) === -1) {\n recipient.attrs.push(attrs[j]);\n }\n }\n};\n\n//Tree traversing\nexports.getFirstChild = function(node) {\n return node.childNodes[0];\n};\n\nexports.getChildNodes = function(node) {\n return node.childNodes;\n};\n\nexports.getParentNode = function(node) {\n return node.parentNode;\n};\n\nexports.getAttrList = function(element) {\n return element.attrs;\n};\n\n//Node data\nexports.getTagName = function(element) {\n return element.tagName;\n};\n\nexports.getNamespaceURI = function(element) {\n return element.namespaceURI;\n};\n\nexports.getTextNodeContent = function(textNode) {\n return textNode.value;\n};\n\nexports.getCommentNodeContent = function(commentNode) {\n return commentNode.data;\n};\n\nexports.getDocumentTypeNodeName = function(doctypeNode) {\n return doctypeNode.name;\n};\n\nexports.getDocumentTypeNodePublicId = function(doctypeNode) {\n return doctypeNode.publicId;\n};\n\nexports.getDocumentTypeNodeSystemId = function(doctypeNode) {\n return doctypeNode.systemId;\n};\n\n//Node types\nexports.isTextNode = function(node) {\n return node.nodeName === '#text';\n};\n\nexports.isCommentNode = function(node) {\n return node.nodeName === '#comment';\n};\n\nexports.isDocumentTypeNode = function(node) {\n return node.nodeName === '#documentType';\n};\n\nexports.isElementNode = function(node) {\n return !!node.tagName;\n};\n\n// Source code location\nexports.setNodeSourceCodeLocation = function(node, location) {\n node.sourceCodeLocation = location;\n};\n\nexports.getNodeSourceCodeLocation = function(node) {\n return node.sourceCodeLocation;\n};\n\nexports.updateNodeSourceCodeLocation = function(node, endLocation) {\n node.sourceCodeLocation = Object.assign(node.sourceCodeLocation, endLocation);\n};\n", "'use strict';\n\nmodule.exports = function mergeOptions(defaults, options) {\n options = options || Object.create(null);\n\n return [defaults, options].reduce((merged, optObj) => {\n Object.keys(optObj).forEach(key => {\n merged[key] = optObj[key];\n });\n\n return merged;\n }, Object.create(null));\n};\n", "'use strict';\n\nconst { DOCUMENT_MODE } = require('./html');\n\n//Const\nconst VALID_DOCTYPE_NAME = 'html';\nconst VALID_SYSTEM_ID = 'about:legacy-compat';\nconst QUIRKS_MODE_SYSTEM_ID = 'http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd';\n\nconst QUIRKS_MODE_PUBLIC_ID_PREFIXES = [\n '+//silmaril//dtd html pro v0r11 19970101//',\n '-//as//dtd html 3.0 aswedit + extensions//',\n '-//advasoft ltd//dtd html 3.0 aswedit + extensions//',\n '-//ietf//dtd html 2.0 level 1//',\n '-//ietf//dtd html 2.0 level 2//',\n '-//ietf//dtd html 2.0 strict level 1//',\n '-//ietf//dtd html 2.0 strict level 2//',\n '-//ietf//dtd html 2.0 strict//',\n '-//ietf//dtd html 2.0//',\n '-//ietf//dtd html 2.1e//',\n '-//ietf//dtd html 3.0//',\n '-//ietf//dtd html 3.2 final//',\n '-//ietf//dtd html 3.2//',\n '-//ietf//dtd html 3//',\n '-//ietf//dtd html level 0//',\n '-//ietf//dtd html level 1//',\n '-//ietf//dtd html level 2//',\n '-//ietf//dtd html level 3//',\n '-//ietf//dtd html strict level 0//',\n '-//ietf//dtd html strict level 1//',\n '-//ietf//dtd html strict level 2//',\n '-//ietf//dtd html strict level 3//',\n '-//ietf//dtd html strict//',\n '-//ietf//dtd html//',\n '-//metrius//dtd metrius presentational//',\n '-//microsoft//dtd internet explorer 2.0 html strict//',\n '-//microsoft//dtd internet explorer 2.0 html//',\n '-//microsoft//dtd internet explorer 2.0 tables//',\n '-//microsoft//dtd internet explorer 3.0 html strict//',\n '-//microsoft//dtd internet explorer 3.0 html//',\n '-//microsoft//dtd internet explorer 3.0 tables//',\n '-//netscape comm. corp.//dtd html//',\n '-//netscape comm. corp.//dtd strict html//',\n \"-//o'reilly and associates//dtd html 2.0//\",\n \"-//o'reilly and associates//dtd html extended 1.0//\",\n \"-//o'reilly and associates//dtd html extended relaxed 1.0//\",\n '-//sq//dtd html 2.0 hotmetal + extensions//',\n '-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//',\n '-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//',\n '-//spyglass//dtd html 2.0 extended//',\n '-//sun microsystems corp.//dtd hotjava html//',\n '-//sun microsystems corp.//dtd hotjava strict html//',\n '-//w3c//dtd html 3 1995-03-24//',\n '-//w3c//dtd html 3.2 draft//',\n '-//w3c//dtd html 3.2 final//',\n '-//w3c//dtd html 3.2//',\n '-//w3c//dtd html 3.2s draft//',\n '-//w3c//dtd html 4.0 frameset//',\n '-//w3c//dtd html 4.0 transitional//',\n '-//w3c//dtd html experimental 19960712//',\n '-//w3c//dtd html experimental 970421//',\n '-//w3c//dtd w3 html//',\n '-//w3o//dtd w3 html 3.0//',\n '-//webtechs//dtd mozilla html 2.0//',\n '-//webtechs//dtd mozilla html//'\n];\n\nconst QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = QUIRKS_MODE_PUBLIC_ID_PREFIXES.concat([\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//'\n]);\n\nconst QUIRKS_MODE_PUBLIC_IDS = ['-//w3o//dtd w3 html strict 3.0//en//', '-/w3c/dtd html 4.0 transitional/en', 'html'];\nconst LIMITED_QUIRKS_PUBLIC_ID_PREFIXES = ['-//w3c//dtd xhtml 1.0 frameset//', '-//w3c//dtd xhtml 1.0 transitional//'];\n\nconst LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES = LIMITED_QUIRKS_PUBLIC_ID_PREFIXES.concat([\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//'\n]);\n\n//Utils\nfunction enquoteDoctypeId(id) {\n const quote = id.indexOf('\"') !== -1 ? \"'\" : '\"';\n\n return quote + id + quote;\n}\n\nfunction hasPrefix(publicId, prefixes) {\n for (let i = 0; i < prefixes.length; i++) {\n if (publicId.indexOf(prefixes[i]) === 0) {\n return true;\n }\n }\n\n return false;\n}\n\n//API\nexports.isConforming = function(token) {\n return (\n token.name === VALID_DOCTYPE_NAME &&\n token.publicId === null &&\n (token.systemId === null || token.systemId === VALID_SYSTEM_ID)\n );\n};\n\nexports.getDocumentMode = function(token) {\n if (token.name !== VALID_DOCTYPE_NAME) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n const systemId = token.systemId;\n\n if (systemId && systemId.toLowerCase() === QUIRKS_MODE_SYSTEM_ID) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n let publicId = token.publicId;\n\n if (publicId !== null) {\n publicId = publicId.toLowerCase();\n\n if (QUIRKS_MODE_PUBLIC_IDS.indexOf(publicId) > -1) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n let prefixes = systemId === null ? QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES : QUIRKS_MODE_PUBLIC_ID_PREFIXES;\n\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n prefixes =\n systemId === null ? LIMITED_QUIRKS_PUBLIC_ID_PREFIXES : LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES;\n\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.LIMITED_QUIRKS;\n }\n }\n\n return DOCUMENT_MODE.NO_QUIRKS;\n};\n\nexports.serializeContent = function(name, publicId, systemId) {\n let str = '!DOCTYPE ';\n\n if (name) {\n str += name;\n }\n\n if (publicId) {\n str += ' PUBLIC ' + enquoteDoctypeId(publicId);\n } else if (systemId) {\n str += ' SYSTEM';\n }\n\n if (systemId !== null) {\n str += ' ' + enquoteDoctypeId(systemId);\n }\n\n return str;\n};\n", "'use strict';\n\nconst Tokenizer = require('../tokenizer');\nconst HTML = require('./html');\n\n//Aliases\nconst $ = HTML.TAG_NAMES;\nconst NS = HTML.NAMESPACES;\nconst ATTRS = HTML.ATTRS;\n\n//MIME types\nconst MIME_TYPES = {\n TEXT_HTML: 'text/html',\n APPLICATION_XML: 'application/xhtml+xml'\n};\n\n//Attributes\nconst DEFINITION_URL_ATTR = 'definitionurl';\nconst ADJUSTED_DEFINITION_URL_ATTR = 'definitionURL';\nconst SVG_ATTRS_ADJUSTMENT_MAP = {\n attributename: 'attributeName',\n attributetype: 'attributeType',\n basefrequency: 'baseFrequency',\n baseprofile: 'baseProfile',\n calcmode: 'calcMode',\n clippathunits: 'clipPathUnits',\n diffuseconstant: 'diffuseConstant',\n edgemode: 'edgeMode',\n filterunits: 'filterUnits',\n glyphref: 'glyphRef',\n gradienttransform: 'gradientTransform',\n gradientunits: 'gradientUnits',\n kernelmatrix: 'kernelMatrix',\n kernelunitlength: 'kernelUnitLength',\n keypoints: 'keyPoints',\n keysplines: 'keySplines',\n keytimes: 'keyTimes',\n lengthadjust: 'lengthAdjust',\n limitingconeangle: 'limitingConeAngle',\n markerheight: 'markerHeight',\n markerunits: 'markerUnits',\n markerwidth: 'markerWidth',\n maskcontentunits: 'maskContentUnits',\n maskunits: 'maskUnits',\n numoctaves: 'numOctaves',\n pathlength: 'pathLength',\n patterncontentunits: 'patternContentUnits',\n patterntransform: 'patternTransform',\n patternunits: 'patternUnits',\n pointsatx: 'pointsAtX',\n pointsaty: 'pointsAtY',\n pointsatz: 'pointsAtZ',\n preservealpha: 'preserveAlpha',\n preserveaspectratio: 'preserveAspectRatio',\n primitiveunits: 'primitiveUnits',\n refx: 'refX',\n refy: 'refY',\n repeatcount: 'repeatCount',\n repeatdur: 'repeatDur',\n requiredextensions: 'requiredExtensions',\n requiredfeatures: 'requiredFeatures',\n specularconstant: 'specularConstant',\n specularexponent: 'specularExponent',\n spreadmethod: 'spreadMethod',\n startoffset: 'startOffset',\n stddeviation: 'stdDeviation',\n stitchtiles: 'stitchTiles',\n surfacescale: 'surfaceScale',\n systemlanguage: 'systemLanguage',\n tablevalues: 'tableValues',\n targetx: 'targetX',\n targety: 'targetY',\n textlength: 'textLength',\n viewbox: 'viewBox',\n viewtarget: 'viewTarget',\n xchannelselector: 'xChannelSelector',\n ychannelselector: 'yChannelSelector',\n zoomandpan: 'zoomAndPan'\n};\n\nconst XML_ATTRS_ADJUSTMENT_MAP = {\n 'xlink:actuate': { prefix: 'xlink', name: 'actuate', namespace: NS.XLINK },\n 'xlink:arcrole': { prefix: 'xlink', name: 'arcrole', namespace: NS.XLINK },\n 'xlink:href': { prefix: 'xlink', name: 'href', namespace: NS.XLINK },\n 'xlink:role': { prefix: 'xlink', name: 'role', namespace: NS.XLINK },\n 'xlink:show': { prefix: 'xlink', name: 'show', namespace: NS.XLINK },\n 'xlink:title': { prefix: 'xlink', name: 'title', namespace: NS.XLINK },\n 'xlink:type': { prefix: 'xlink', name: 'type', namespace: NS.XLINK },\n 'xml:base': { prefix: 'xml', name: 'base', namespace: NS.XML },\n 'xml:lang': { prefix: 'xml', name: 'lang', namespace: NS.XML },\n 'xml:space': { prefix: 'xml', name: 'space', namespace: NS.XML },\n xmlns: { prefix: '', name: 'xmlns', namespace: NS.XMLNS },\n 'xmlns:xlink': { prefix: 'xmlns', name: 'xlink', namespace: NS.XMLNS }\n};\n\n//SVG tag names adjustment map\nconst SVG_TAG_NAMES_ADJUSTMENT_MAP = (exports.SVG_TAG_NAMES_ADJUSTMENT_MAP = {\n altglyph: 'altGlyph',\n altglyphdef: 'altGlyphDef',\n altglyphitem: 'altGlyphItem',\n animatecolor: 'animateColor',\n animatemotion: 'animateMotion',\n animatetransform: 'animateTransform',\n clippath: 'clipPath',\n feblend: 'feBlend',\n fecolormatrix: 'feColorMatrix',\n fecomponenttransfer: 'feComponentTransfer',\n fecomposite: 'feComposite',\n feconvolvematrix: 'feConvolveMatrix',\n fediffuselighting: 'feDiffuseLighting',\n fedisplacementmap: 'feDisplacementMap',\n fedistantlight: 'feDistantLight',\n feflood: 'feFlood',\n fefunca: 'feFuncA',\n fefuncb: 'feFuncB',\n fefuncg: 'feFuncG',\n fefuncr: 'feFuncR',\n fegaussianblur: 'feGaussianBlur',\n feimage: 'feImage',\n femerge: 'feMerge',\n femergenode: 'feMergeNode',\n femorphology: 'feMorphology',\n feoffset: 'feOffset',\n fepointlight: 'fePointLight',\n fespecularlighting: 'feSpecularLighting',\n fespotlight: 'feSpotLight',\n fetile: 'feTile',\n feturbulence: 'feTurbulence',\n foreignobject: 'foreignObject',\n glyphref: 'glyphRef',\n lineargradient: 'linearGradient',\n radialgradient: 'radialGradient',\n textpath: 'textPath'\n});\n\n//Tags that causes exit from foreign content\nconst EXITS_FOREIGN_CONTENT = {\n [$.B]: true,\n [$.BIG]: true,\n [$.BLOCKQUOTE]: true,\n [$.BODY]: true,\n [$.BR]: true,\n [$.CENTER]: true,\n [$.CODE]: true,\n [$.DD]: true,\n [$.DIV]: true,\n [$.DL]: true,\n [$.DT]: true,\n [$.EM]: true,\n [$.EMBED]: true,\n [$.H1]: true,\n [$.H2]: true,\n [$.H3]: true,\n [$.H4]: true,\n [$.H5]: true,\n [$.H6]: true,\n [$.HEAD]: true,\n [$.HR]: true,\n [$.I]: true,\n [$.IMG]: true,\n [$.LI]: true,\n [$.LISTING]: true,\n [$.MENU]: true,\n [$.META]: true,\n [$.NOBR]: true,\n [$.OL]: true,\n [$.P]: true,\n [$.PRE]: true,\n [$.RUBY]: true,\n [$.S]: true,\n [$.SMALL]: true,\n [$.SPAN]: true,\n [$.STRONG]: true,\n [$.STRIKE]: true,\n [$.SUB]: true,\n [$.SUP]: true,\n [$.TABLE]: true,\n [$.TT]: true,\n [$.U]: true,\n [$.UL]: true,\n [$.VAR]: true\n};\n\n//Check exit from foreign content\nexports.causesExit = function(startTagToken) {\n const tn = startTagToken.tagName;\n const isFontWithAttrs =\n tn === $.FONT &&\n (Tokenizer.getTokenAttr(startTagToken, ATTRS.COLOR) !== null ||\n Tokenizer.getTokenAttr(startTagToken, ATTRS.SIZE) !== null ||\n Tokenizer.getTokenAttr(startTagToken, ATTRS.FACE) !== null);\n\n return isFontWithAttrs ? true : EXITS_FOREIGN_CONTENT[tn];\n};\n\n//Token adjustments\nexports.adjustTokenMathMLAttrs = function(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n if (token.attrs[i].name === DEFINITION_URL_ATTR) {\n token.attrs[i].name = ADJUSTED_DEFINITION_URL_ATTR;\n break;\n }\n }\n};\n\nexports.adjustTokenSVGAttrs = function(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrName = SVG_ATTRS_ADJUSTMENT_MAP[token.attrs[i].name];\n\n if (adjustedAttrName) {\n token.attrs[i].name = adjustedAttrName;\n }\n }\n};\n\nexports.adjustTokenXMLAttrs = function(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrEntry = XML_ATTRS_ADJUSTMENT_MAP[token.attrs[i].name];\n\n if (adjustedAttrEntry) {\n token.attrs[i].prefix = adjustedAttrEntry.prefix;\n token.attrs[i].name = adjustedAttrEntry.name;\n token.attrs[i].namespace = adjustedAttrEntry.namespace;\n }\n }\n};\n\nexports.adjustTokenSVGTagName = function(token) {\n const adjustedTagName = SVG_TAG_NAMES_ADJUSTMENT_MAP[token.tagName];\n\n if (adjustedTagName) {\n token.tagName = adjustedTagName;\n }\n};\n\n//Integration points\nfunction isMathMLTextIntegrationPoint(tn, ns) {\n return ns === NS.MATHML && (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS || tn === $.MTEXT);\n}\n\nfunction isHtmlIntegrationPoint(tn, ns, attrs) {\n if (ns === NS.MATHML && tn === $.ANNOTATION_XML) {\n for (let i = 0; i < attrs.length; i++) {\n if (attrs[i].name === ATTRS.ENCODING) {\n const value = attrs[i].value.toLowerCase();\n\n return value === MIME_TYPES.TEXT_HTML || value === MIME_TYPES.APPLICATION_XML;\n }\n }\n }\n\n return ns === NS.SVG && (tn === $.FOREIGN_OBJECT || tn === $.DESC || tn === $.TITLE);\n}\n\nexports.isIntegrationPoint = function(tn, ns, attrs, foreignNS) {\n if ((!foreignNS || foreignNS === NS.HTML) && isHtmlIntegrationPoint(tn, ns, attrs)) {\n return true;\n }\n\n if ((!foreignNS || foreignNS === NS.MATHML) && isMathMLTextIntegrationPoint(tn, ns)) {\n return true;\n }\n\n return false;\n};\n", "'use strict';\n\nconst Tokenizer = require('../tokenizer');\nconst OpenElementStack = require('./open-element-stack');\nconst FormattingElementList = require('./formatting-element-list');\nconst LocationInfoParserMixin = require('../extensions/location-info/parser-mixin');\nconst ErrorReportingParserMixin = require('../extensions/error-reporting/parser-mixin');\nconst Mixin = require('../utils/mixin');\nconst defaultTreeAdapter = require('../tree-adapters/default');\nconst mergeOptions = require('../utils/merge-options');\nconst doctype = require('../common/doctype');\nconst foreignContent = require('../common/foreign-content');\nconst ERR = require('../common/error-codes');\nconst unicode = require('../common/unicode');\nconst HTML = require('../common/html');\n\n//Aliases\nconst $ = HTML.TAG_NAMES;\nconst NS = HTML.NAMESPACES;\nconst ATTRS = HTML.ATTRS;\n\nconst DEFAULT_OPTIONS = {\n scriptingEnabled: true,\n sourceCodeLocationInfo: false,\n onParseError: null,\n treeAdapter: defaultTreeAdapter\n};\n\n//Misc constants\nconst HIDDEN_INPUT_TYPE = 'hidden';\n\n//Adoption agency loops iteration count\nconst AA_OUTER_LOOP_ITER = 8;\nconst AA_INNER_LOOP_ITER = 3;\n\n//Insertion modes\nconst INITIAL_MODE = 'INITIAL_MODE';\nconst BEFORE_HTML_MODE = 'BEFORE_HTML_MODE';\nconst BEFORE_HEAD_MODE = 'BEFORE_HEAD_MODE';\nconst IN_HEAD_MODE = 'IN_HEAD_MODE';\nconst IN_HEAD_NO_SCRIPT_MODE = 'IN_HEAD_NO_SCRIPT_MODE';\nconst AFTER_HEAD_MODE = 'AFTER_HEAD_MODE';\nconst IN_BODY_MODE = 'IN_BODY_MODE';\nconst TEXT_MODE = 'TEXT_MODE';\nconst IN_TABLE_MODE = 'IN_TABLE_MODE';\nconst IN_TABLE_TEXT_MODE = 'IN_TABLE_TEXT_MODE';\nconst IN_CAPTION_MODE = 'IN_CAPTION_MODE';\nconst IN_COLUMN_GROUP_MODE = 'IN_COLUMN_GROUP_MODE';\nconst IN_TABLE_BODY_MODE = 'IN_TABLE_BODY_MODE';\nconst IN_ROW_MODE = 'IN_ROW_MODE';\nconst IN_CELL_MODE = 'IN_CELL_MODE';\nconst IN_SELECT_MODE = 'IN_SELECT_MODE';\nconst IN_SELECT_IN_TABLE_MODE = 'IN_SELECT_IN_TABLE_MODE';\nconst IN_TEMPLATE_MODE = 'IN_TEMPLATE_MODE';\nconst AFTER_BODY_MODE = 'AFTER_BODY_MODE';\nconst IN_FRAMESET_MODE = 'IN_FRAMESET_MODE';\nconst AFTER_FRAMESET_MODE = 'AFTER_FRAMESET_MODE';\nconst AFTER_AFTER_BODY_MODE = 'AFTER_AFTER_BODY_MODE';\nconst AFTER_AFTER_FRAMESET_MODE = 'AFTER_AFTER_FRAMESET_MODE';\n\n//Insertion mode reset map\nconst INSERTION_MODE_RESET_MAP = {\n [$.TR]: IN_ROW_MODE,\n [$.TBODY]: IN_TABLE_BODY_MODE,\n [$.THEAD]: IN_TABLE_BODY_MODE,\n [$.TFOOT]: IN_TABLE_BODY_MODE,\n [$.CAPTION]: IN_CAPTION_MODE,\n [$.COLGROUP]: IN_COLUMN_GROUP_MODE,\n [$.TABLE]: IN_TABLE_MODE,\n [$.BODY]: IN_BODY_MODE,\n [$.FRAMESET]: IN_FRAMESET_MODE\n};\n\n//Template insertion mode switch map\nconst TEMPLATE_INSERTION_MODE_SWITCH_MAP = {\n [$.CAPTION]: IN_TABLE_MODE,\n [$.COLGROUP]: IN_TABLE_MODE,\n [$.TBODY]: IN_TABLE_MODE,\n [$.TFOOT]: IN_TABLE_MODE,\n [$.THEAD]: IN_TABLE_MODE,\n [$.COL]: IN_COLUMN_GROUP_MODE,\n [$.TR]: IN_TABLE_BODY_MODE,\n [$.TD]: IN_ROW_MODE,\n [$.TH]: IN_ROW_MODE\n};\n\n//Token handlers map for insertion modes\nconst TOKEN_HANDLERS = {\n [INITIAL_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenInInitialMode,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInInitialMode,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: doctypeInInitialMode,\n [Tokenizer.START_TAG_TOKEN]: tokenInInitialMode,\n [Tokenizer.END_TAG_TOKEN]: tokenInInitialMode,\n [Tokenizer.EOF_TOKEN]: tokenInInitialMode\n },\n [BEFORE_HTML_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenBeforeHtml,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenBeforeHtml,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagBeforeHtml,\n [Tokenizer.END_TAG_TOKEN]: endTagBeforeHtml,\n [Tokenizer.EOF_TOKEN]: tokenBeforeHtml\n },\n [BEFORE_HEAD_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenBeforeHead,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenBeforeHead,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,\n [Tokenizer.START_TAG_TOKEN]: startTagBeforeHead,\n [Tokenizer.END_TAG_TOKEN]: endTagBeforeHead,\n [Tokenizer.EOF_TOKEN]: tokenBeforeHead\n },\n [IN_HEAD_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenInHead,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInHead,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,\n [Tokenizer.START_TAG_TOKEN]: startTagInHead,\n [Tokenizer.END_TAG_TOKEN]: endTagInHead,\n [Tokenizer.EOF_TOKEN]: tokenInHead\n },\n [IN_HEAD_NO_SCRIPT_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenInHeadNoScript,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInHeadNoScript,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,\n [Tokenizer.START_TAG_TOKEN]: startTagInHeadNoScript,\n [Tokenizer.END_TAG_TOKEN]: endTagInHeadNoScript,\n [Tokenizer.EOF_TOKEN]: tokenInHeadNoScript\n },\n [AFTER_HEAD_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenAfterHead,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterHead,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterHead,\n [Tokenizer.END_TAG_TOKEN]: endTagAfterHead,\n [Tokenizer.EOF_TOKEN]: tokenAfterHead\n },\n [IN_BODY_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInBody,\n [Tokenizer.END_TAG_TOKEN]: endTagInBody,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [TEXT_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.NULL_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: ignoreToken,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: ignoreToken,\n [Tokenizer.END_TAG_TOKEN]: endTagInText,\n [Tokenizer.EOF_TOKEN]: eofInText\n },\n [IN_TABLE_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInTable,\n [Tokenizer.END_TAG_TOKEN]: endTagInTable,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_TABLE_TEXT_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInTableText,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInTableText,\n [Tokenizer.COMMENT_TOKEN]: tokenInTableText,\n [Tokenizer.DOCTYPE_TOKEN]: tokenInTableText,\n [Tokenizer.START_TAG_TOKEN]: tokenInTableText,\n [Tokenizer.END_TAG_TOKEN]: tokenInTableText,\n [Tokenizer.EOF_TOKEN]: tokenInTableText\n },\n [IN_CAPTION_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInCaption,\n [Tokenizer.END_TAG_TOKEN]: endTagInCaption,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_COLUMN_GROUP_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenInColumnGroup,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInColumnGroup,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInColumnGroup,\n [Tokenizer.END_TAG_TOKEN]: endTagInColumnGroup,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_TABLE_BODY_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInTableBody,\n [Tokenizer.END_TAG_TOKEN]: endTagInTableBody,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_ROW_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInRow,\n [Tokenizer.END_TAG_TOKEN]: endTagInRow,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_CELL_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInCell,\n [Tokenizer.END_TAG_TOKEN]: endTagInCell,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_SELECT_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInSelect,\n [Tokenizer.END_TAG_TOKEN]: endTagInSelect,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_SELECT_IN_TABLE_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInSelectInTable,\n [Tokenizer.END_TAG_TOKEN]: endTagInSelectInTable,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_TEMPLATE_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInTemplate,\n [Tokenizer.END_TAG_TOKEN]: endTagInTemplate,\n [Tokenizer.EOF_TOKEN]: eofInTemplate\n },\n [AFTER_BODY_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenAfterBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterBody,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendCommentToRootHtmlElement,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterBody,\n [Tokenizer.END_TAG_TOKEN]: endTagAfterBody,\n [Tokenizer.EOF_TOKEN]: stopParsing\n },\n [IN_FRAMESET_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInFrameset,\n [Tokenizer.END_TAG_TOKEN]: endTagInFrameset,\n [Tokenizer.EOF_TOKEN]: stopParsing\n },\n [AFTER_FRAMESET_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterFrameset,\n [Tokenizer.END_TAG_TOKEN]: endTagAfterFrameset,\n [Tokenizer.EOF_TOKEN]: stopParsing\n },\n [AFTER_AFTER_BODY_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenAfterAfterBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterAfterBody,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendCommentToDocument,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterAfterBody,\n [Tokenizer.END_TAG_TOKEN]: tokenAfterAfterBody,\n [Tokenizer.EOF_TOKEN]: stopParsing\n },\n [AFTER_AFTER_FRAMESET_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendCommentToDocument,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterAfterFrameset,\n [Tokenizer.END_TAG_TOKEN]: ignoreToken,\n [Tokenizer.EOF_TOKEN]: stopParsing\n }\n};\n\n//Parser\nclass Parser {\n constructor(options) {\n this.options = mergeOptions(DEFAULT_OPTIONS, options);\n\n this.treeAdapter = this.options.treeAdapter;\n this.pendingScript = null;\n\n if (this.options.sourceCodeLocationInfo) {\n Mixin.install(this, LocationInfoParserMixin);\n }\n\n if (this.options.onParseError) {\n Mixin.install(this, ErrorReportingParserMixin, { onParseError: this.options.onParseError });\n }\n }\n\n // API\n parse(html) {\n const document = this.treeAdapter.createDocument();\n\n this._bootstrap(document, null);\n this.tokenizer.write(html, true);\n this._runParsingLoop(null);\n\n return document;\n }\n\n parseFragment(html, fragmentContext) {\n //NOTE: use <template> element as a fragment context if context element was not provided,\n //so we will parse in \"forgiving\" manner\n if (!fragmentContext) {\n fragmentContext = this.treeAdapter.createElement($.TEMPLATE, NS.HTML, []);\n }\n\n //NOTE: create fake element which will be used as 'document' for fragment parsing.\n //This is important for jsdom there 'document' can't be recreated, therefore\n //fragment parsing causes messing of the main `document`.\n const documentMock = this.treeAdapter.createElement('documentmock', NS.HTML, []);\n\n this._bootstrap(documentMock, fragmentContext);\n\n if (this.treeAdapter.getTagName(fragmentContext) === $.TEMPLATE) {\n this._pushTmplInsertionMode(IN_TEMPLATE_MODE);\n }\n\n this._initTokenizerForFragmentParsing();\n this._insertFakeRootElement();\n this._resetInsertionMode();\n this._findFormInFragmentContext();\n this.tokenizer.write(html, true);\n this._runParsingLoop(null);\n\n const rootElement = this.treeAdapter.getFirstChild(documentMock);\n const fragment = this.treeAdapter.createDocumentFragment();\n\n this._adoptNodes(rootElement, fragment);\n\n return fragment;\n }\n\n //Bootstrap parser\n _bootstrap(document, fragmentContext) {\n this.tokenizer = new Tokenizer(this.options);\n\n this.stopped = false;\n\n this.insertionMode = INITIAL_MODE;\n this.originalInsertionMode = '';\n\n this.document = document;\n this.fragmentContext = fragmentContext;\n\n this.headElement = null;\n this.formElement = null;\n\n this.openElements = new OpenElementStack(this.document, this.treeAdapter);\n this.activeFormattingElements = new FormattingElementList(this.treeAdapter);\n\n this.tmplInsertionModeStack = [];\n this.tmplInsertionModeStackTop = -1;\n this.currentTmplInsertionMode = null;\n\n this.pendingCharacterTokens = [];\n this.hasNonWhitespacePendingCharacterToken = false;\n\n this.framesetOk = true;\n this.skipNextNewLine = false;\n this.fosterParentingEnabled = false;\n }\n\n //Errors\n _err() {\n // NOTE: err reporting is noop by default. Enabled by mixin.\n }\n\n //Parsing loop\n _runParsingLoop(scriptHandler) {\n while (!this.stopped) {\n this._setupTokenizerCDATAMode();\n\n const token = this.tokenizer.getNextToken();\n\n if (token.type === Tokenizer.HIBERNATION_TOKEN) {\n break;\n }\n\n if (this.skipNextNewLine) {\n this.skipNextNewLine = false;\n\n if (token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN && token.chars[0] === '\\n') {\n if (token.chars.length === 1) {\n continue;\n }\n\n token.chars = token.chars.substr(1);\n }\n }\n\n this._processInputToken(token);\n\n if (scriptHandler && this.pendingScript) {\n break;\n }\n }\n }\n\n runParsingLoopForCurrentChunk(writeCallback, scriptHandler) {\n this._runParsingLoop(scriptHandler);\n\n if (scriptHandler && this.pendingScript) {\n const script = this.pendingScript;\n\n this.pendingScript = null;\n\n scriptHandler(script);\n\n return;\n }\n\n if (writeCallback) {\n writeCallback();\n }\n }\n\n //Text parsing\n _setupTokenizerCDATAMode() {\n const current = this._getAdjustedCurrentElement();\n\n this.tokenizer.allowCDATA =\n current &&\n current !== this.document &&\n this.treeAdapter.getNamespaceURI(current) !== NS.HTML &&\n !this._isIntegrationPoint(current);\n }\n\n _switchToTextParsing(currentToken, nextTokenizerState) {\n this._insertElement(currentToken, NS.HTML);\n this.tokenizer.state = nextTokenizerState;\n this.originalInsertionMode = this.insertionMode;\n this.insertionMode = TEXT_MODE;\n }\n\n switchToPlaintextParsing() {\n this.insertionMode = TEXT_MODE;\n this.originalInsertionMode = IN_BODY_MODE;\n this.tokenizer.state = Tokenizer.MODE.PLAINTEXT;\n }\n\n //Fragment parsing\n _getAdjustedCurrentElement() {\n return this.openElements.stackTop === 0 && this.fragmentContext\n ? this.fragmentContext\n : this.openElements.current;\n }\n\n _findFormInFragmentContext() {\n let node = this.fragmentContext;\n\n do {\n if (this.treeAdapter.getTagName(node) === $.FORM) {\n this.formElement = node;\n break;\n }\n\n node = this.treeAdapter.getParentNode(node);\n } while (node);\n }\n\n _initTokenizerForFragmentParsing() {\n if (this.treeAdapter.getNamespaceURI(this.fragmentContext) === NS.HTML) {\n const tn = this.treeAdapter.getTagName(this.fragmentContext);\n\n if (tn === $.TITLE || tn === $.TEXTAREA) {\n this.tokenizer.state = Tokenizer.MODE.RCDATA;\n } else if (\n tn === $.STYLE ||\n tn === $.XMP ||\n tn === $.IFRAME ||\n tn === $.NOEMBED ||\n tn === $.NOFRAMES ||\n tn === $.NOSCRIPT\n ) {\n this.tokenizer.state = Tokenizer.MODE.RAWTEXT;\n } else if (tn === $.SCRIPT) {\n this.tokenizer.state = Tokenizer.MODE.SCRIPT_DATA;\n } else if (tn === $.PLAINTEXT) {\n this.tokenizer.state = Tokenizer.MODE.PLAINTEXT;\n }\n }\n }\n\n //Tree mutation\n _setDocumentType(token) {\n const name = token.name || '';\n const publicId = token.publicId || '';\n const systemId = token.systemId || '';\n\n this.treeAdapter.setDocumentType(this.document, name, publicId, systemId);\n }\n\n _attachElementToTree(element) {\n if (this._shouldFosterParentOnInsertion()) {\n this._fosterParentElement(element);\n } else {\n const parent = this.openElements.currentTmplContent || this.openElements.current;\n\n this.treeAdapter.appendChild(parent, element);\n }\n }\n\n _appendElement(token, namespaceURI) {\n const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);\n\n this._attachElementToTree(element);\n }\n\n _insertElement(token, namespaceURI) {\n const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);\n\n this._attachElementToTree(element);\n this.openElements.push(element);\n }\n\n _insertFakeElement(tagName) {\n const element = this.treeAdapter.createElement(tagName, NS.HTML, []);\n\n this._attachElementToTree(element);\n this.openElements.push(element);\n }\n\n _insertTemplate(token) {\n const tmpl = this.treeAdapter.createElement(token.tagName, NS.HTML, token.attrs);\n const content = this.treeAdapter.createDocumentFragment();\n\n this.treeAdapter.setTemplateContent(tmpl, content);\n this._attachElementToTree(tmpl);\n this.openElements.push(tmpl);\n }\n\n _insertFakeRootElement() {\n const element = this.treeAdapter.createElement($.HTML, NS.HTML, []);\n\n this.treeAdapter.appendChild(this.openElements.current, element);\n this.openElements.push(element);\n }\n\n _appendCommentNode(token, parent) {\n const commentNode = this.treeAdapter.createCommentNode(token.data);\n\n this.treeAdapter.appendChild(parent, commentNode);\n }\n\n _insertCharacters(token) {\n if (this._shouldFosterParentOnInsertion()) {\n this._fosterParentText(token.chars);\n } else {\n const parent = this.openElements.currentTmplContent || this.openElements.current;\n\n this.treeAdapter.insertText(parent, token.chars);\n }\n }\n\n _adoptNodes(donor, recipient) {\n for (let child = this.treeAdapter.getFirstChild(donor); child; child = this.treeAdapter.getFirstChild(donor)) {\n this.treeAdapter.detachNode(child);\n this.treeAdapter.appendChild(recipient, child);\n }\n }\n\n //Token processing\n _shouldProcessTokenInForeignContent(token) {\n const current = this._getAdjustedCurrentElement();\n\n if (!current || current === this.document) {\n return false;\n }\n\n const ns = this.treeAdapter.getNamespaceURI(current);\n\n if (ns === NS.HTML) {\n return false;\n }\n\n if (\n this.treeAdapter.getTagName(current) === $.ANNOTATION_XML &&\n ns === NS.MATHML &&\n token.type === Tokenizer.START_TAG_TOKEN &&\n token.tagName === $.SVG\n ) {\n return false;\n }\n\n const isCharacterToken =\n token.type === Tokenizer.CHARACTER_TOKEN ||\n token.type === Tokenizer.NULL_CHARACTER_TOKEN ||\n token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN;\n\n const isMathMLTextStartTag =\n token.type === Tokenizer.START_TAG_TOKEN && token.tagName !== $.MGLYPH && token.tagName !== $.MALIGNMARK;\n\n if ((isMathMLTextStartTag || isCharacterToken) && this._isIntegrationPoint(current, NS.MATHML)) {\n return false;\n }\n\n if (\n (token.type === Tokenizer.START_TAG_TOKEN || isCharacterToken) &&\n this._isIntegrationPoint(current, NS.HTML)\n ) {\n return false;\n }\n\n return token.type !== Tokenizer.EOF_TOKEN;\n }\n\n _processToken(token) {\n TOKEN_HANDLERS[this.insertionMode][token.type](this, token);\n }\n\n _processTokenInBodyMode(token) {\n TOKEN_HANDLERS[IN_BODY_MODE][token.type](this, token);\n }\n\n _processTokenInForeignContent(token) {\n if (token.type === Tokenizer.CHARACTER_TOKEN) {\n characterInForeignContent(this, token);\n } else if (token.type === Tokenizer.NULL_CHARACTER_TOKEN) {\n nullCharacterInForeignContent(this, token);\n } else if (token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN) {\n insertCharacters(this, token);\n } else if (token.type === Tokenizer.COMMENT_TOKEN) {\n appendComment(this, token);\n } else if (token.type === Tokenizer.START_TAG_TOKEN) {\n startTagInForeignContent(this, token);\n } else if (token.type === Tokenizer.END_TAG_TOKEN) {\n endTagInForeignContent(this, token);\n }\n }\n\n _processInputToken(token) {\n if (this._shouldProcessTokenInForeignContent(token)) {\n this._processTokenInForeignContent(token);\n } else {\n this._processToken(token);\n }\n\n if (token.type === Tokenizer.START_TAG_TOKEN && token.selfClosing && !token.ackSelfClosing) {\n this._err(ERR.nonVoidHtmlElementStartTagWithTrailingSolidus);\n }\n }\n\n //Integration points\n _isIntegrationPoint(element, foreignNS) {\n const tn = this.treeAdapter.getTagName(element);\n const ns = this.treeAdapter.getNamespaceURI(element);\n const attrs = this.treeAdapter.getAttrList(element);\n\n return foreignContent.isIntegrationPoint(tn, ns, attrs, foreignNS);\n }\n\n //Active formatting elements reconstruction\n _reconstructActiveFormattingElements() {\n const listLength = this.activeFormattingElements.length;\n\n if (listLength) {\n let unopenIdx = listLength;\n let entry = null;\n\n do {\n unopenIdx--;\n entry = this.activeFormattingElements.entries[unopenIdx];\n\n if (entry.type === FormattingElementList.MARKER_ENTRY || this.openElements.contains(entry.element)) {\n unopenIdx++;\n break;\n }\n } while (unopenIdx > 0);\n\n for (let i = unopenIdx; i < listLength; i++) {\n entry = this.activeFormattingElements.entries[i];\n this._insertElement(entry.token, this.treeAdapter.getNamespaceURI(entry.element));\n entry.element = this.openElements.current;\n }\n }\n }\n\n //Close elements\n _closeTableCell() {\n this.openElements.generateImpliedEndTags();\n this.openElements.popUntilTableCellPopped();\n this.activeFormattingElements.clearToLastMarker();\n this.insertionMode = IN_ROW_MODE;\n }\n\n _closePElement() {\n this.openElements.generateImpliedEndTagsWithExclusion($.P);\n this.openElements.popUntilTagNamePopped($.P);\n }\n\n //Insertion modes\n _resetInsertionMode() {\n for (let i = this.openElements.stackTop, last = false; i >= 0; i--) {\n let element = this.openElements.items[i];\n\n if (i === 0) {\n last = true;\n\n if (this.fragmentContext) {\n element = this.fragmentContext;\n }\n }\n\n const tn = this.treeAdapter.getTagName(element);\n const newInsertionMode = INSERTION_MODE_RESET_MAP[tn];\n\n if (newInsertionMode) {\n this.insertionMode = newInsertionMode;\n break;\n } else if (!last && (tn === $.TD || tn === $.TH)) {\n this.insertionMode = IN_CELL_MODE;\n break;\n } else if (!last && tn === $.HEAD) {\n this.insertionMode = IN_HEAD_MODE;\n break;\n } else if (tn === $.SELECT) {\n this._resetInsertionModeForSelect(i);\n break;\n } else if (tn === $.TEMPLATE) {\n this.insertionMode = this.currentTmplInsertionMode;\n break;\n } else if (tn === $.HTML) {\n this.insertionMode = this.headElement ? AFTER_HEAD_MODE : BEFORE_HEAD_MODE;\n break;\n } else if (last) {\n this.insertionMode = IN_BODY_MODE;\n break;\n }\n }\n }\n\n _resetInsertionModeForSelect(selectIdx) {\n if (selectIdx > 0) {\n for (let i = selectIdx - 1; i > 0; i--) {\n const ancestor = this.openElements.items[i];\n const tn = this.treeAdapter.getTagName(ancestor);\n\n if (tn === $.TEMPLATE) {\n break;\n } else if (tn === $.TABLE) {\n this.insertionMode = IN_SELECT_IN_TABLE_MODE;\n return;\n }\n }\n }\n\n this.insertionMode = IN_SELECT_MODE;\n }\n\n _pushTmplInsertionMode(mode) {\n this.tmplInsertionModeStack.push(mode);\n this.tmplInsertionModeStackTop++;\n this.currentTmplInsertionMode = mode;\n }\n\n _popTmplInsertionMode() {\n this.tmplInsertionModeStack.pop();\n this.tmplInsertionModeStackTop--;\n this.currentTmplInsertionMode = this.tmplInsertionModeStack[this.tmplInsertionModeStackTop];\n }\n\n //Foster parenting\n _isElementCausesFosterParenting(element) {\n const tn = this.treeAdapter.getTagName(element);\n\n return tn === $.TABLE || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR;\n }\n\n _shouldFosterParentOnInsertion() {\n return this.fosterParentingEnabled && this._isElementCausesFosterParenting(this.openElements.current);\n }\n\n _findFosterParentingLocation() {\n const location = {\n parent: null,\n beforeElement: null\n };\n\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n const openElement = this.openElements.items[i];\n const tn = this.treeAdapter.getTagName(openElement);\n const ns = this.treeAdapter.getNamespaceURI(openElement);\n\n if (tn === $.TEMPLATE && ns === NS.HTML) {\n location.parent = this.treeAdapter.getTemplateContent(openElement);\n break;\n } else if (tn === $.TABLE) {\n location.parent = this.treeAdapter.getParentNode(openElement);\n\n if (location.parent) {\n location.beforeElement = openElement;\n } else {\n location.parent = this.openElements.items[i - 1];\n }\n\n break;\n }\n }\n\n if (!location.parent) {\n location.parent = this.openElements.items[0];\n }\n\n return location;\n }\n\n _fosterParentElement(element) {\n const location = this._findFosterParentingLocation();\n\n if (location.beforeElement) {\n this.treeAdapter.insertBefore(location.parent, element, location.beforeElement);\n } else {\n this.treeAdapter.appendChild(location.parent, element);\n }\n }\n\n _fosterParentText(chars) {\n const location = this._findFosterParentingLocation();\n\n if (location.beforeElement) {\n this.treeAdapter.insertTextBefore(location.parent, chars, location.beforeElement);\n } else {\n this.treeAdapter.insertText(location.parent, chars);\n }\n }\n\n //Special elements\n _isSpecialElement(element) {\n const tn = this.treeAdapter.getTagName(element);\n const ns = this.treeAdapter.getNamespaceURI(element);\n\n return HTML.SPECIAL_ELEMENTS[ns][tn];\n }\n}\n\nmodule.exports = Parser;\n\n//Adoption agency algorithm\n//(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#adoptionAgency)\n//------------------------------------------------------------------\n\n//Steps 5-8 of the algorithm\nfunction aaObtainFormattingElementEntry(p, token) {\n let formattingElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName(token.tagName);\n\n if (formattingElementEntry) {\n if (!p.openElements.contains(formattingElementEntry.element)) {\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n formattingElementEntry = null;\n } else if (!p.openElements.hasInScope(token.tagName)) {\n formattingElementEntry = null;\n }\n } else {\n genericEndTagInBody(p, token);\n }\n\n return formattingElementEntry;\n}\n\n//Steps 9 and 10 of the algorithm\nfunction aaObtainFurthestBlock(p, formattingElementEntry) {\n let furthestBlock = null;\n\n for (let i = p.openElements.stackTop; i >= 0; i--) {\n const element = p.openElements.items[i];\n\n if (element === formattingElementEntry.element) {\n break;\n }\n\n if (p._isSpecialElement(element)) {\n furthestBlock = element;\n }\n }\n\n if (!furthestBlock) {\n p.openElements.popUntilElementPopped(formattingElementEntry.element);\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n }\n\n return furthestBlock;\n}\n\n//Step 13 of the algorithm\nfunction aaInnerLoop(p, furthestBlock, formattingElement) {\n let lastElement = furthestBlock;\n let nextElement = p.openElements.getCommonAncestor(furthestBlock);\n\n for (let i = 0, element = nextElement; element !== formattingElement; i++, element = nextElement) {\n //NOTE: store next element for the next loop iteration (it may be deleted from the stack by step 9.5)\n nextElement = p.openElements.getCommonAncestor(element);\n\n const elementEntry = p.activeFormattingElements.getElementEntry(element);\n const counterOverflow = elementEntry && i >= AA_INNER_LOOP_ITER;\n const shouldRemoveFromOpenElements = !elementEntry || counterOverflow;\n\n if (shouldRemoveFromOpenElements) {\n if (counterOverflow) {\n p.activeFormattingElements.removeEntry(elementEntry);\n }\n\n p.openElements.remove(element);\n } else {\n element = aaRecreateElementFromEntry(p, elementEntry);\n\n if (lastElement === furthestBlock) {\n p.activeFormattingElements.bookmark = elementEntry;\n }\n\n p.treeAdapter.detachNode(lastElement);\n p.treeAdapter.appendChild(element, lastElement);\n lastElement = element;\n }\n }\n\n return lastElement;\n}\n\n//Step 13.7 of the algorithm\nfunction aaRecreateElementFromEntry(p, elementEntry) {\n const ns = p.treeAdapter.getNamespaceURI(elementEntry.element);\n const newElement = p.treeAdapter.createElement(elementEntry.token.tagName, ns, elementEntry.token.attrs);\n\n p.openElements.replace(elementEntry.element, newElement);\n elementEntry.element = newElement;\n\n return newElement;\n}\n\n//Step 14 of the algorithm\nfunction aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement) {\n if (p._isElementCausesFosterParenting(commonAncestor)) {\n p._fosterParentElement(lastElement);\n } else {\n const tn = p.treeAdapter.getTagName(commonAncestor);\n const ns = p.treeAdapter.getNamespaceURI(commonAncestor);\n\n if (tn === $.TEMPLATE && ns === NS.HTML) {\n commonAncestor = p.treeAdapter.getTemplateContent(commonAncestor);\n }\n\n p.treeAdapter.appendChild(commonAncestor, lastElement);\n }\n}\n\n//Steps 15-19 of the algorithm\nfunction aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry) {\n const ns = p.treeAdapter.getNamespaceURI(formattingElementEntry.element);\n const token = formattingElementEntry.token;\n const newElement = p.treeAdapter.createElement(token.tagName, ns, token.attrs);\n\n p._adoptNodes(furthestBlock, newElement);\n p.treeAdapter.appendChild(furthestBlock, newElement);\n\n p.activeFormattingElements.insertElementAfterBookmark(newElement, formattingElementEntry.token);\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n\n p.openElements.remove(formattingElementEntry.element);\n p.openElements.insertAfter(furthestBlock, newElement);\n}\n\n//Algorithm entry point\nfunction callAdoptionAgency(p, token) {\n let formattingElementEntry;\n\n for (let i = 0; i < AA_OUTER_LOOP_ITER; i++) {\n formattingElementEntry = aaObtainFormattingElementEntry(p, token, formattingElementEntry);\n\n if (!formattingElementEntry) {\n break;\n }\n\n const furthestBlock = aaObtainFurthestBlock(p, formattingElementEntry);\n\n if (!furthestBlock) {\n break;\n }\n\n p.activeFormattingElements.bookmark = formattingElementEntry;\n\n const lastElement = aaInnerLoop(p, furthestBlock, formattingElementEntry.element);\n const commonAncestor = p.openElements.getCommonAncestor(formattingElementEntry.element);\n\n p.treeAdapter.detachNode(lastElement);\n aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement);\n aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry);\n }\n}\n\n//Generic token handlers\n//------------------------------------------------------------------\nfunction ignoreToken() {\n //NOTE: do nothing =)\n}\n\nfunction misplacedDoctype(p) {\n p._err(ERR.misplacedDoctype);\n}\n\nfunction appendComment(p, token) {\n p._appendCommentNode(token, p.openElements.currentTmplContent || p.openElements.current);\n}\n\nfunction appendCommentToRootHtmlElement(p, token) {\n p._appendCommentNode(token, p.openElements.items[0]);\n}\n\nfunction appendCommentToDocument(p, token) {\n p._appendCommentNode(token, p.document);\n}\n\nfunction insertCharacters(p, token) {\n p._insertCharacters(token);\n}\n\nfunction stopParsing(p) {\n p.stopped = true;\n}\n\n// The \"initial\" insertion mode\n//------------------------------------------------------------------\nfunction doctypeInInitialMode(p, token) {\n p._setDocumentType(token);\n\n const mode = token.forceQuirks ? HTML.DOCUMENT_MODE.QUIRKS : doctype.getDocumentMode(token);\n\n if (!doctype.isConforming(token)) {\n p._err(ERR.nonConformingDoctype);\n }\n\n p.treeAdapter.setDocumentMode(p.document, mode);\n\n p.insertionMode = BEFORE_HTML_MODE;\n}\n\nfunction tokenInInitialMode(p, token) {\n p._err(ERR.missingDoctype, { beforeToken: true });\n p.treeAdapter.setDocumentMode(p.document, HTML.DOCUMENT_MODE.QUIRKS);\n p.insertionMode = BEFORE_HTML_MODE;\n p._processToken(token);\n}\n\n// The \"before html\" insertion mode\n//------------------------------------------------------------------\nfunction startTagBeforeHtml(p, token) {\n if (token.tagName === $.HTML) {\n p._insertElement(token, NS.HTML);\n p.insertionMode = BEFORE_HEAD_MODE;\n } else {\n tokenBeforeHtml(p, token);\n }\n}\n\nfunction endTagBeforeHtml(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML || tn === $.HEAD || tn === $.BODY || tn === $.BR) {\n tokenBeforeHtml(p, token);\n }\n}\n\nfunction tokenBeforeHtml(p, token) {\n p._insertFakeRootElement();\n p.insertionMode = BEFORE_HEAD_MODE;\n p._processToken(token);\n}\n\n// The \"before head\" insertion mode\n//------------------------------------------------------------------\nfunction startTagBeforeHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.HEAD) {\n p._insertElement(token, NS.HTML);\n p.headElement = p.openElements.current;\n p.insertionMode = IN_HEAD_MODE;\n } else {\n tokenBeforeHead(p, token);\n }\n}\n\nfunction endTagBeforeHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HEAD || tn === $.BODY || tn === $.HTML || tn === $.BR) {\n tokenBeforeHead(p, token);\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n}\n\nfunction tokenBeforeHead(p, token) {\n p._insertFakeElement($.HEAD);\n p.headElement = p.openElements.current;\n p.insertionMode = IN_HEAD_MODE;\n p._processToken(token);\n}\n\n// The \"in head\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.BASE || tn === $.BASEFONT || tn === $.BGSOUND || tn === $.LINK || tn === $.META) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n } else if (tn === $.TITLE) {\n p._switchToTextParsing(token, Tokenizer.MODE.RCDATA);\n } else if (tn === $.NOSCRIPT) {\n if (p.options.scriptingEnabled) {\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n } else {\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_HEAD_NO_SCRIPT_MODE;\n }\n } else if (tn === $.NOFRAMES || tn === $.STYLE) {\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n } else if (tn === $.SCRIPT) {\n p._switchToTextParsing(token, Tokenizer.MODE.SCRIPT_DATA);\n } else if (tn === $.TEMPLATE) {\n p._insertTemplate(token, NS.HTML);\n p.activeFormattingElements.insertMarker();\n p.framesetOk = false;\n p.insertionMode = IN_TEMPLATE_MODE;\n p._pushTmplInsertionMode(IN_TEMPLATE_MODE);\n } else if (tn === $.HEAD) {\n p._err(ERR.misplacedStartTagForHeadElement);\n } else {\n tokenInHead(p, token);\n }\n}\n\nfunction endTagInHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HEAD) {\n p.openElements.pop();\n p.insertionMode = AFTER_HEAD_MODE;\n } else if (tn === $.BODY || tn === $.BR || tn === $.HTML) {\n tokenInHead(p, token);\n } else if (tn === $.TEMPLATE) {\n if (p.openElements.tmplCount > 0) {\n p.openElements.generateImpliedEndTagsThoroughly();\n\n if (p.openElements.currentTagName !== $.TEMPLATE) {\n p._err(ERR.closingOfElementWithOpenChildElements);\n }\n\n p.openElements.popUntilTagNamePopped($.TEMPLATE);\n p.activeFormattingElements.clearToLastMarker();\n p._popTmplInsertionMode();\n p._resetInsertionMode();\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n}\n\nfunction tokenInHead(p, token) {\n p.openElements.pop();\n p.insertionMode = AFTER_HEAD_MODE;\n p._processToken(token);\n}\n\n// The \"in head no script\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInHeadNoScript(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (\n tn === $.BASEFONT ||\n tn === $.BGSOUND ||\n tn === $.HEAD ||\n tn === $.LINK ||\n tn === $.META ||\n tn === $.NOFRAMES ||\n tn === $.STYLE\n ) {\n startTagInHead(p, token);\n } else if (tn === $.NOSCRIPT) {\n p._err(ERR.nestedNoscriptInHead);\n } else {\n tokenInHeadNoScript(p, token);\n }\n}\n\nfunction endTagInHeadNoScript(p, token) {\n const tn = token.tagName;\n\n if (tn === $.NOSCRIPT) {\n p.openElements.pop();\n p.insertionMode = IN_HEAD_MODE;\n } else if (tn === $.BR) {\n tokenInHeadNoScript(p, token);\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n}\n\nfunction tokenInHeadNoScript(p, token) {\n const errCode =\n token.type === Tokenizer.EOF_TOKEN ? ERR.openElementsLeftAfterEof : ERR.disallowedContentInNoscriptInHead;\n\n p._err(errCode);\n p.openElements.pop();\n p.insertionMode = IN_HEAD_MODE;\n p._processToken(token);\n}\n\n// The \"after head\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.BODY) {\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n p.insertionMode = IN_BODY_MODE;\n } else if (tn === $.FRAMESET) {\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_FRAMESET_MODE;\n } else if (\n tn === $.BASE ||\n tn === $.BASEFONT ||\n tn === $.BGSOUND ||\n tn === $.LINK ||\n tn === $.META ||\n tn === $.NOFRAMES ||\n tn === $.SCRIPT ||\n tn === $.STYLE ||\n tn === $.TEMPLATE ||\n tn === $.TITLE\n ) {\n p._err(ERR.abandonedHeadElementChild);\n p.openElements.push(p.headElement);\n startTagInHead(p, token);\n p.openElements.remove(p.headElement);\n } else if (tn === $.HEAD) {\n p._err(ERR.misplacedStartTagForHeadElement);\n } else {\n tokenAfterHead(p, token);\n }\n}\n\nfunction endTagAfterHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.BODY || tn === $.HTML || tn === $.BR) {\n tokenAfterHead(p, token);\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n}\n\nfunction tokenAfterHead(p, token) {\n p._insertFakeElement($.BODY);\n p.insertionMode = IN_BODY_MODE;\n p._processToken(token);\n}\n\n// The \"in body\" insertion mode\n//------------------------------------------------------------------\nfunction whitespaceCharacterInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertCharacters(token);\n}\n\nfunction characterInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertCharacters(token);\n p.framesetOk = false;\n}\n\nfunction htmlStartTagInBody(p, token) {\n if (p.openElements.tmplCount === 0) {\n p.treeAdapter.adoptAttributes(p.openElements.items[0], token.attrs);\n }\n}\n\nfunction bodyStartTagInBody(p, token) {\n const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();\n\n if (bodyElement && p.openElements.tmplCount === 0) {\n p.framesetOk = false;\n p.treeAdapter.adoptAttributes(bodyElement, token.attrs);\n }\n}\n\nfunction framesetStartTagInBody(p, token) {\n const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();\n\n if (p.framesetOk && bodyElement) {\n p.treeAdapter.detachNode(bodyElement);\n p.openElements.popAllUpToHtmlElement();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_FRAMESET_MODE;\n }\n}\n\nfunction addressStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction numberedHeaderStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n const tn = p.openElements.currentTagName;\n\n if (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) {\n p.openElements.pop();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction preStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n //NOTE: If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move\n //on to the next one. (Newlines at the start of pre blocks are ignored as an authoring convenience.)\n p.skipNextNewLine = true;\n p.framesetOk = false;\n}\n\nfunction formStartTagInBody(p, token) {\n const inTemplate = p.openElements.tmplCount > 0;\n\n if (!p.formElement || inTemplate) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n\n if (!inTemplate) {\n p.formElement = p.openElements.current;\n }\n }\n}\n\nfunction listItemStartTagInBody(p, token) {\n p.framesetOk = false;\n\n const tn = token.tagName;\n\n for (let i = p.openElements.stackTop; i >= 0; i--) {\n const element = p.openElements.items[i];\n const elementTn = p.treeAdapter.getTagName(element);\n let closeTn = null;\n\n if (tn === $.LI && elementTn === $.LI) {\n closeTn = $.LI;\n } else if ((tn === $.DD || tn === $.DT) && (elementTn === $.DD || elementTn === $.DT)) {\n closeTn = elementTn;\n }\n\n if (closeTn) {\n p.openElements.generateImpliedEndTagsWithExclusion(closeTn);\n p.openElements.popUntilTagNamePopped(closeTn);\n break;\n }\n\n if (elementTn !== $.ADDRESS && elementTn !== $.DIV && elementTn !== $.P && p._isSpecialElement(element)) {\n break;\n }\n }\n\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction plaintextStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n p.tokenizer.state = Tokenizer.MODE.PLAINTEXT;\n}\n\nfunction buttonStartTagInBody(p, token) {\n if (p.openElements.hasInScope($.BUTTON)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped($.BUTTON);\n }\n\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n}\n\nfunction aStartTagInBody(p, token) {\n const activeElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName($.A);\n\n if (activeElementEntry) {\n callAdoptionAgency(p, token);\n p.openElements.remove(activeElementEntry.element);\n p.activeFormattingElements.removeEntry(activeElementEntry);\n }\n\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\n\nfunction bStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\n\nfunction nobrStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n\n if (p.openElements.hasInScope($.NOBR)) {\n callAdoptionAgency(p, token);\n p._reconstructActiveFormattingElements();\n }\n\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\n\nfunction appletStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.insertMarker();\n p.framesetOk = false;\n}\n\nfunction tableStartTagInBody(p, token) {\n if (\n p.treeAdapter.getDocumentMode(p.document) !== HTML.DOCUMENT_MODE.QUIRKS &&\n p.openElements.hasInButtonScope($.P)\n ) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n p.insertionMode = IN_TABLE_MODE;\n}\n\nfunction areaStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._appendElement(token, NS.HTML);\n p.framesetOk = false;\n token.ackSelfClosing = true;\n}\n\nfunction inputStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._appendElement(token, NS.HTML);\n\n const inputType = Tokenizer.getTokenAttr(token, ATTRS.TYPE);\n\n if (!inputType || inputType.toLowerCase() !== HIDDEN_INPUT_TYPE) {\n p.framesetOk = false;\n }\n\n token.ackSelfClosing = true;\n}\n\nfunction paramStartTagInBody(p, token) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n}\n\nfunction hrStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._appendElement(token, NS.HTML);\n p.framesetOk = false;\n token.ackSelfClosing = true;\n}\n\nfunction imageStartTagInBody(p, token) {\n token.tagName = $.IMG;\n areaStartTagInBody(p, token);\n}\n\nfunction textareaStartTagInBody(p, token) {\n p._insertElement(token, NS.HTML);\n //NOTE: If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move\n //on to the next one. (Newlines at the start of textarea elements are ignored as an authoring convenience.)\n p.skipNextNewLine = true;\n p.tokenizer.state = Tokenizer.MODE.RCDATA;\n p.originalInsertionMode = p.insertionMode;\n p.framesetOk = false;\n p.insertionMode = TEXT_MODE;\n}\n\nfunction xmpStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._reconstructActiveFormattingElements();\n p.framesetOk = false;\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n}\n\nfunction iframeStartTagInBody(p, token) {\n p.framesetOk = false;\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n}\n\n//NOTE: here we assume that we always act as an user agent with enabled plugins, so we parse\n//<noembed> as a rawtext.\nfunction noembedStartTagInBody(p, token) {\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n}\n\nfunction selectStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n\n if (\n p.insertionMode === IN_TABLE_MODE ||\n p.insertionMode === IN_CAPTION_MODE ||\n p.insertionMode === IN_TABLE_BODY_MODE ||\n p.insertionMode === IN_ROW_MODE ||\n p.insertionMode === IN_CELL_MODE\n ) {\n p.insertionMode = IN_SELECT_IN_TABLE_MODE;\n } else {\n p.insertionMode = IN_SELECT_MODE;\n }\n}\n\nfunction optgroupStartTagInBody(p, token) {\n if (p.openElements.currentTagName === $.OPTION) {\n p.openElements.pop();\n }\n\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n}\n\nfunction rbStartTagInBody(p, token) {\n if (p.openElements.hasInScope($.RUBY)) {\n p.openElements.generateImpliedEndTags();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction rtStartTagInBody(p, token) {\n if (p.openElements.hasInScope($.RUBY)) {\n p.openElements.generateImpliedEndTagsWithExclusion($.RTC);\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction menuStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction mathStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n\n foreignContent.adjustTokenMathMLAttrs(token);\n foreignContent.adjustTokenXMLAttrs(token);\n\n if (token.selfClosing) {\n p._appendElement(token, NS.MATHML);\n } else {\n p._insertElement(token, NS.MATHML);\n }\n\n token.ackSelfClosing = true;\n}\n\nfunction svgStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n\n foreignContent.adjustTokenSVGAttrs(token);\n foreignContent.adjustTokenXMLAttrs(token);\n\n if (token.selfClosing) {\n p._appendElement(token, NS.SVG);\n } else {\n p._insertElement(token, NS.SVG);\n }\n\n token.ackSelfClosing = true;\n}\n\nfunction genericStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n}\n\n//OPTIMIZATION: Integer comparisons are low-cost, so we can use very fast tag name length filters here.\n//It's faster than using dictionary.\nfunction startTagInBody(p, token) {\n const tn = token.tagName;\n\n switch (tn.length) {\n case 1:\n if (tn === $.I || tn === $.S || tn === $.B || tn === $.U) {\n bStartTagInBody(p, token);\n } else if (tn === $.P) {\n addressStartTagInBody(p, token);\n } else if (tn === $.A) {\n aStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 2:\n if (tn === $.DL || tn === $.OL || tn === $.UL) {\n addressStartTagInBody(p, token);\n } else if (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) {\n numberedHeaderStartTagInBody(p, token);\n } else if (tn === $.LI || tn === $.DD || tn === $.DT) {\n listItemStartTagInBody(p, token);\n } else if (tn === $.EM || tn === $.TT) {\n bStartTagInBody(p, token);\n } else if (tn === $.BR) {\n areaStartTagInBody(p, token);\n } else if (tn === $.HR) {\n hrStartTagInBody(p, token);\n } else if (tn === $.RB) {\n rbStartTagInBody(p, token);\n } else if (tn === $.RT || tn === $.RP) {\n rtStartTagInBody(p, token);\n } else if (tn !== $.TH && tn !== $.TD && tn !== $.TR) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 3:\n if (tn === $.DIV || tn === $.DIR || tn === $.NAV) {\n addressStartTagInBody(p, token);\n } else if (tn === $.PRE) {\n preStartTagInBody(p, token);\n } else if (tn === $.BIG) {\n bStartTagInBody(p, token);\n } else if (tn === $.IMG || tn === $.WBR) {\n areaStartTagInBody(p, token);\n } else if (tn === $.XMP) {\n xmpStartTagInBody(p, token);\n } else if (tn === $.SVG) {\n svgStartTagInBody(p, token);\n } else if (tn === $.RTC) {\n rbStartTagInBody(p, token);\n } else if (tn !== $.COL) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 4:\n if (tn === $.HTML) {\n htmlStartTagInBody(p, token);\n } else if (tn === $.BASE || tn === $.LINK || tn === $.META) {\n startTagInHead(p, token);\n } else if (tn === $.BODY) {\n bodyStartTagInBody(p, token);\n } else if (tn === $.MAIN || tn === $.MENU) {\n addressStartTagInBody(p, token);\n } else if (tn === $.FORM) {\n formStartTagInBody(p, token);\n } else if (tn === $.CODE || tn === $.FONT) {\n bStartTagInBody(p, token);\n } else if (tn === $.NOBR) {\n nobrStartTagInBody(p, token);\n } else if (tn === $.AREA) {\n areaStartTagInBody(p, token);\n } else if (tn === $.MATH) {\n mathStartTagInBody(p, token);\n } else if (tn === $.MENU) {\n menuStartTagInBody(p, token);\n } else if (tn !== $.HEAD) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 5:\n if (tn === $.STYLE || tn === $.TITLE) {\n startTagInHead(p, token);\n } else if (tn === $.ASIDE) {\n addressStartTagInBody(p, token);\n } else if (tn === $.SMALL) {\n bStartTagInBody(p, token);\n } else if (tn === $.TABLE) {\n tableStartTagInBody(p, token);\n } else if (tn === $.EMBED) {\n areaStartTagInBody(p, token);\n } else if (tn === $.INPUT) {\n inputStartTagInBody(p, token);\n } else if (tn === $.PARAM || tn === $.TRACK) {\n paramStartTagInBody(p, token);\n } else if (tn === $.IMAGE) {\n imageStartTagInBody(p, token);\n } else if (tn !== $.FRAME && tn !== $.TBODY && tn !== $.TFOOT && tn !== $.THEAD) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 6:\n if (tn === $.SCRIPT) {\n startTagInHead(p, token);\n } else if (\n tn === $.CENTER ||\n tn === $.FIGURE ||\n tn === $.FOOTER ||\n tn === $.HEADER ||\n tn === $.HGROUP ||\n tn === $.DIALOG\n ) {\n addressStartTagInBody(p, token);\n } else if (tn === $.BUTTON) {\n buttonStartTagInBody(p, token);\n } else if (tn === $.STRIKE || tn === $.STRONG) {\n bStartTagInBody(p, token);\n } else if (tn === $.APPLET || tn === $.OBJECT) {\n appletStartTagInBody(p, token);\n } else if (tn === $.KEYGEN) {\n areaStartTagInBody(p, token);\n } else if (tn === $.SOURCE) {\n paramStartTagInBody(p, token);\n } else if (tn === $.IFRAME) {\n iframeStartTagInBody(p, token);\n } else if (tn === $.SELECT) {\n selectStartTagInBody(p, token);\n } else if (tn === $.OPTION) {\n optgroupStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 7:\n if (tn === $.BGSOUND) {\n startTagInHead(p, token);\n } else if (\n tn === $.DETAILS ||\n tn === $.ADDRESS ||\n tn === $.ARTICLE ||\n tn === $.SECTION ||\n tn === $.SUMMARY\n ) {\n addressStartTagInBody(p, token);\n } else if (tn === $.LISTING) {\n preStartTagInBody(p, token);\n } else if (tn === $.MARQUEE) {\n appletStartTagInBody(p, token);\n } else if (tn === $.NOEMBED) {\n noembedStartTagInBody(p, token);\n } else if (tn !== $.CAPTION) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 8:\n if (tn === $.BASEFONT) {\n startTagInHead(p, token);\n } else if (tn === $.FRAMESET) {\n framesetStartTagInBody(p, token);\n } else if (tn === $.FIELDSET) {\n addressStartTagInBody(p, token);\n } else if (tn === $.TEXTAREA) {\n textareaStartTagInBody(p, token);\n } else if (tn === $.TEMPLATE) {\n startTagInHead(p, token);\n } else if (tn === $.NOSCRIPT) {\n if (p.options.scriptingEnabled) {\n noembedStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n } else if (tn === $.OPTGROUP) {\n optgroupStartTagInBody(p, token);\n } else if (tn !== $.COLGROUP) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 9:\n if (tn === $.PLAINTEXT) {\n plaintextStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 10:\n if (tn === $.BLOCKQUOTE || tn === $.FIGCAPTION) {\n addressStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n default:\n genericStartTagInBody(p, token);\n }\n}\n\nfunction bodyEndTagInBody(p) {\n if (p.openElements.hasInScope($.BODY)) {\n p.insertionMode = AFTER_BODY_MODE;\n }\n}\n\nfunction htmlEndTagInBody(p, token) {\n if (p.openElements.hasInScope($.BODY)) {\n p.insertionMode = AFTER_BODY_MODE;\n p._processToken(token);\n }\n}\n\nfunction addressEndTagInBody(p, token) {\n const tn = token.tagName;\n\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n }\n}\n\nfunction formEndTagInBody(p) {\n const inTemplate = p.openElements.tmplCount > 0;\n const formElement = p.formElement;\n\n if (!inTemplate) {\n p.formElement = null;\n }\n\n if ((formElement || inTemplate) && p.openElements.hasInScope($.FORM)) {\n p.openElements.generateImpliedEndTags();\n\n if (inTemplate) {\n p.openElements.popUntilTagNamePopped($.FORM);\n } else {\n p.openElements.remove(formElement);\n }\n }\n}\n\nfunction pEndTagInBody(p) {\n if (!p.openElements.hasInButtonScope($.P)) {\n p._insertFakeElement($.P);\n }\n\n p._closePElement();\n}\n\nfunction liEndTagInBody(p) {\n if (p.openElements.hasInListItemScope($.LI)) {\n p.openElements.generateImpliedEndTagsWithExclusion($.LI);\n p.openElements.popUntilTagNamePopped($.LI);\n }\n}\n\nfunction ddEndTagInBody(p, token) {\n const tn = token.tagName;\n\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTagsWithExclusion(tn);\n p.openElements.popUntilTagNamePopped(tn);\n }\n}\n\nfunction numberedHeaderEndTagInBody(p) {\n if (p.openElements.hasNumberedHeaderInScope()) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilNumberedHeaderPopped();\n }\n}\n\nfunction appletEndTagInBody(p, token) {\n const tn = token.tagName;\n\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n p.activeFormattingElements.clearToLastMarker();\n }\n}\n\nfunction brEndTagInBody(p) {\n p._reconstructActiveFormattingElements();\n p._insertFakeElement($.BR);\n p.openElements.pop();\n p.framesetOk = false;\n}\n\nfunction genericEndTagInBody(p, token) {\n const tn = token.tagName;\n\n for (let i = p.openElements.stackTop; i > 0; i--) {\n const element = p.openElements.items[i];\n\n if (p.treeAdapter.getTagName(element) === tn) {\n p.openElements.generateImpliedEndTagsWithExclusion(tn);\n p.openElements.popUntilElementPopped(element);\n break;\n }\n\n if (p._isSpecialElement(element)) {\n break;\n }\n }\n}\n\n//OPTIMIZATION: Integer comparisons are low-cost, so we can use very fast tag name length filters here.\n//It's faster than using dictionary.\nfunction endTagInBody(p, token) {\n const tn = token.tagName;\n\n switch (tn.length) {\n case 1:\n if (tn === $.A || tn === $.B || tn === $.I || tn === $.S || tn === $.U) {\n callAdoptionAgency(p, token);\n } else if (tn === $.P) {\n pEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 2:\n if (tn === $.DL || tn === $.UL || tn === $.OL) {\n addressEndTagInBody(p, token);\n } else if (tn === $.LI) {\n liEndTagInBody(p, token);\n } else if (tn === $.DD || tn === $.DT) {\n ddEndTagInBody(p, token);\n } else if (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) {\n numberedHeaderEndTagInBody(p, token);\n } else if (tn === $.BR) {\n brEndTagInBody(p, token);\n } else if (tn === $.EM || tn === $.TT) {\n callAdoptionAgency(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 3:\n if (tn === $.BIG) {\n callAdoptionAgency(p, token);\n } else if (tn === $.DIR || tn === $.DIV || tn === $.NAV || tn === $.PRE) {\n addressEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 4:\n if (tn === $.BODY) {\n bodyEndTagInBody(p, token);\n } else if (tn === $.HTML) {\n htmlEndTagInBody(p, token);\n } else if (tn === $.FORM) {\n formEndTagInBody(p, token);\n } else if (tn === $.CODE || tn === $.FONT || tn === $.NOBR) {\n callAdoptionAgency(p, token);\n } else if (tn === $.MAIN || tn === $.MENU) {\n addressEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 5:\n if (tn === $.ASIDE) {\n addressEndTagInBody(p, token);\n } else if (tn === $.SMALL) {\n callAdoptionAgency(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 6:\n if (\n tn === $.CENTER ||\n tn === $.FIGURE ||\n tn === $.FOOTER ||\n tn === $.HEADER ||\n tn === $.HGROUP ||\n tn === $.DIALOG\n ) {\n addressEndTagInBody(p, token);\n } else if (tn === $.APPLET || tn === $.OBJECT) {\n appletEndTagInBody(p, token);\n } else if (tn === $.STRIKE || tn === $.STRONG) {\n callAdoptionAgency(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 7:\n if (\n tn === $.ADDRESS ||\n tn === $.ARTICLE ||\n tn === $.DETAILS ||\n tn === $.SECTION ||\n tn === $.SUMMARY ||\n tn === $.LISTING\n ) {\n addressEndTagInBody(p, token);\n } else if (tn === $.MARQUEE) {\n appletEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 8:\n if (tn === $.FIELDSET) {\n addressEndTagInBody(p, token);\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 10:\n if (tn === $.BLOCKQUOTE || tn === $.FIGCAPTION) {\n addressEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n default:\n genericEndTagInBody(p, token);\n }\n}\n\nfunction eofInBody(p, token) {\n if (p.tmplInsertionModeStackTop > -1) {\n eofInTemplate(p, token);\n } else {\n p.stopped = true;\n }\n}\n\n// The \"text\" insertion mode\n//------------------------------------------------------------------\nfunction endTagInText(p, token) {\n if (token.tagName === $.SCRIPT) {\n p.pendingScript = p.openElements.current;\n }\n\n p.openElements.pop();\n p.insertionMode = p.originalInsertionMode;\n}\n\nfunction eofInText(p, token) {\n p._err(ERR.eofInElementThatCanContainOnlyText);\n p.openElements.pop();\n p.insertionMode = p.originalInsertionMode;\n p._processToken(token);\n}\n\n// The \"in table\" insertion mode\n//------------------------------------------------------------------\nfunction characterInTable(p, token) {\n const curTn = p.openElements.currentTagName;\n\n if (curTn === $.TABLE || curTn === $.TBODY || curTn === $.TFOOT || curTn === $.THEAD || curTn === $.TR) {\n p.pendingCharacterTokens = [];\n p.hasNonWhitespacePendingCharacterToken = false;\n p.originalInsertionMode = p.insertionMode;\n p.insertionMode = IN_TABLE_TEXT_MODE;\n p._processToken(token);\n } else {\n tokenInTable(p, token);\n }\n}\n\nfunction captionStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p.activeFormattingElements.insertMarker();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_CAPTION_MODE;\n}\n\nfunction colgroupStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_COLUMN_GROUP_MODE;\n}\n\nfunction colStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertFakeElement($.COLGROUP);\n p.insertionMode = IN_COLUMN_GROUP_MODE;\n p._processToken(token);\n}\n\nfunction tbodyStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_TABLE_BODY_MODE;\n}\n\nfunction tdStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertFakeElement($.TBODY);\n p.insertionMode = IN_TABLE_BODY_MODE;\n p._processToken(token);\n}\n\nfunction tableStartTagInTable(p, token) {\n if (p.openElements.hasInTableScope($.TABLE)) {\n p.openElements.popUntilTagNamePopped($.TABLE);\n p._resetInsertionMode();\n p._processToken(token);\n }\n}\n\nfunction inputStartTagInTable(p, token) {\n const inputType = Tokenizer.getTokenAttr(token, ATTRS.TYPE);\n\n if (inputType && inputType.toLowerCase() === HIDDEN_INPUT_TYPE) {\n p._appendElement(token, NS.HTML);\n } else {\n tokenInTable(p, token);\n }\n\n token.ackSelfClosing = true;\n}\n\nfunction formStartTagInTable(p, token) {\n if (!p.formElement && p.openElements.tmplCount === 0) {\n p._insertElement(token, NS.HTML);\n p.formElement = p.openElements.current;\n p.openElements.pop();\n }\n}\n\nfunction startTagInTable(p, token) {\n const tn = token.tagName;\n\n switch (tn.length) {\n case 2:\n if (tn === $.TD || tn === $.TH || tn === $.TR) {\n tdStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 3:\n if (tn === $.COL) {\n colStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 4:\n if (tn === $.FORM) {\n formStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 5:\n if (tn === $.TABLE) {\n tableStartTagInTable(p, token);\n } else if (tn === $.STYLE) {\n startTagInHead(p, token);\n } else if (tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD) {\n tbodyStartTagInTable(p, token);\n } else if (tn === $.INPUT) {\n inputStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 6:\n if (tn === $.SCRIPT) {\n startTagInHead(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 7:\n if (tn === $.CAPTION) {\n captionStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 8:\n if (tn === $.COLGROUP) {\n colgroupStartTagInTable(p, token);\n } else if (tn === $.TEMPLATE) {\n startTagInHead(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n default:\n tokenInTable(p, token);\n }\n}\n\nfunction endTagInTable(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TABLE) {\n if (p.openElements.hasInTableScope($.TABLE)) {\n p.openElements.popUntilTagNamePopped($.TABLE);\n p._resetInsertionMode();\n }\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n } else if (\n tn !== $.BODY &&\n tn !== $.CAPTION &&\n tn !== $.COL &&\n tn !== $.COLGROUP &&\n tn !== $.HTML &&\n tn !== $.TBODY &&\n tn !== $.TD &&\n tn !== $.TFOOT &&\n tn !== $.TH &&\n tn !== $.THEAD &&\n tn !== $.TR\n ) {\n tokenInTable(p, token);\n }\n}\n\nfunction tokenInTable(p, token) {\n const savedFosterParentingState = p.fosterParentingEnabled;\n\n p.fosterParentingEnabled = true;\n p._processTokenInBodyMode(token);\n p.fosterParentingEnabled = savedFosterParentingState;\n}\n\n// The \"in table text\" insertion mode\n//------------------------------------------------------------------\nfunction whitespaceCharacterInTableText(p, token) {\n p.pendingCharacterTokens.push(token);\n}\n\nfunction characterInTableText(p, token) {\n p.pendingCharacterTokens.push(token);\n p.hasNonWhitespacePendingCharacterToken = true;\n}\n\nfunction tokenInTableText(p, token) {\n let i = 0;\n\n if (p.hasNonWhitespacePendingCharacterToken) {\n for (; i < p.pendingCharacterTokens.length; i++) {\n tokenInTable(p, p.pendingCharacterTokens[i]);\n }\n } else {\n for (; i < p.pendingCharacterTokens.length; i++) {\n p._insertCharacters(p.pendingCharacterTokens[i]);\n }\n }\n\n p.insertionMode = p.originalInsertionMode;\n p._processToken(token);\n}\n\n// The \"in caption\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInCaption(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.CAPTION ||\n tn === $.COL ||\n tn === $.COLGROUP ||\n tn === $.TBODY ||\n tn === $.TD ||\n tn === $.TFOOT ||\n tn === $.TH ||\n tn === $.THEAD ||\n tn === $.TR\n ) {\n if (p.openElements.hasInTableScope($.CAPTION)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped($.CAPTION);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = IN_TABLE_MODE;\n p._processToken(token);\n }\n } else {\n startTagInBody(p, token);\n }\n}\n\nfunction endTagInCaption(p, token) {\n const tn = token.tagName;\n\n if (tn === $.CAPTION || tn === $.TABLE) {\n if (p.openElements.hasInTableScope($.CAPTION)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped($.CAPTION);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = IN_TABLE_MODE;\n\n if (tn === $.TABLE) {\n p._processToken(token);\n }\n }\n } else if (\n tn !== $.BODY &&\n tn !== $.COL &&\n tn !== $.COLGROUP &&\n tn !== $.HTML &&\n tn !== $.TBODY &&\n tn !== $.TD &&\n tn !== $.TFOOT &&\n tn !== $.TH &&\n tn !== $.THEAD &&\n tn !== $.TR\n ) {\n endTagInBody(p, token);\n }\n}\n\n// The \"in column group\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInColumnGroup(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.COL) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n } else if (tn === $.TEMPLATE) {\n startTagInHead(p, token);\n } else {\n tokenInColumnGroup(p, token);\n }\n}\n\nfunction endTagInColumnGroup(p, token) {\n const tn = token.tagName;\n\n if (tn === $.COLGROUP) {\n if (p.openElements.currentTagName === $.COLGROUP) {\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n }\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n } else if (tn !== $.COL) {\n tokenInColumnGroup(p, token);\n }\n}\n\nfunction tokenInColumnGroup(p, token) {\n if (p.openElements.currentTagName === $.COLGROUP) {\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n p._processToken(token);\n }\n}\n\n// The \"in table body\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInTableBody(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TR) {\n p.openElements.clearBackToTableBodyContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_ROW_MODE;\n } else if (tn === $.TH || tn === $.TD) {\n p.openElements.clearBackToTableBodyContext();\n p._insertFakeElement($.TR);\n p.insertionMode = IN_ROW_MODE;\n p._processToken(token);\n } else if (\n tn === $.CAPTION ||\n tn === $.COL ||\n tn === $.COLGROUP ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD\n ) {\n if (p.openElements.hasTableBodyContextInTableScope()) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n p._processToken(token);\n }\n } else {\n startTagInTable(p, token);\n }\n}\n\nfunction endTagInTableBody(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD) {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n }\n } else if (tn === $.TABLE) {\n if (p.openElements.hasTableBodyContextInTableScope()) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n p._processToken(token);\n }\n } else if (\n (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP) ||\n (tn !== $.HTML && tn !== $.TD && tn !== $.TH && tn !== $.TR)\n ) {\n endTagInTable(p, token);\n }\n}\n\n// The \"in row\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInRow(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TH || tn === $.TD) {\n p.openElements.clearBackToTableRowContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_CELL_MODE;\n p.activeFormattingElements.insertMarker();\n } else if (\n tn === $.CAPTION ||\n tn === $.COL ||\n tn === $.COLGROUP ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD ||\n tn === $.TR\n ) {\n if (p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_BODY_MODE;\n p._processToken(token);\n }\n } else {\n startTagInTable(p, token);\n }\n}\n\nfunction endTagInRow(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TR) {\n if (p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_BODY_MODE;\n }\n } else if (tn === $.TABLE) {\n if (p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_BODY_MODE;\n p._processToken(token);\n }\n } else if (tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD) {\n if (p.openElements.hasInTableScope(tn) || p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_BODY_MODE;\n p._processToken(token);\n }\n } else if (\n (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP) ||\n (tn !== $.HTML && tn !== $.TD && tn !== $.TH)\n ) {\n endTagInTable(p, token);\n }\n}\n\n// The \"in cell\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInCell(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.CAPTION ||\n tn === $.COL ||\n tn === $.COLGROUP ||\n tn === $.TBODY ||\n tn === $.TD ||\n tn === $.TFOOT ||\n tn === $.TH ||\n tn === $.THEAD ||\n tn === $.TR\n ) {\n if (p.openElements.hasInTableScope($.TD) || p.openElements.hasInTableScope($.TH)) {\n p._closeTableCell();\n p._processToken(token);\n }\n } else {\n startTagInBody(p, token);\n }\n}\n\nfunction endTagInCell(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TD || tn === $.TH) {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = IN_ROW_MODE;\n }\n } else if (tn === $.TABLE || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR) {\n if (p.openElements.hasInTableScope(tn)) {\n p._closeTableCell();\n p._processToken(token);\n }\n } else if (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP && tn !== $.HTML) {\n endTagInBody(p, token);\n }\n}\n\n// The \"in select\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInSelect(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.OPTION) {\n if (p.openElements.currentTagName === $.OPTION) {\n p.openElements.pop();\n }\n\n p._insertElement(token, NS.HTML);\n } else if (tn === $.OPTGROUP) {\n if (p.openElements.currentTagName === $.OPTION) {\n p.openElements.pop();\n }\n\n if (p.openElements.currentTagName === $.OPTGROUP) {\n p.openElements.pop();\n }\n\n p._insertElement(token, NS.HTML);\n } else if (tn === $.INPUT || tn === $.KEYGEN || tn === $.TEXTAREA || tn === $.SELECT) {\n if (p.openElements.hasInSelectScope($.SELECT)) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n\n if (tn !== $.SELECT) {\n p._processToken(token);\n }\n }\n } else if (tn === $.SCRIPT || tn === $.TEMPLATE) {\n startTagInHead(p, token);\n }\n}\n\nfunction endTagInSelect(p, token) {\n const tn = token.tagName;\n\n if (tn === $.OPTGROUP) {\n const prevOpenElement = p.openElements.items[p.openElements.stackTop - 1];\n const prevOpenElementTn = prevOpenElement && p.treeAdapter.getTagName(prevOpenElement);\n\n if (p.openElements.currentTagName === $.OPTION && prevOpenElementTn === $.OPTGROUP) {\n p.openElements.pop();\n }\n\n if (p.openElements.currentTagName === $.OPTGROUP) {\n p.openElements.pop();\n }\n } else if (tn === $.OPTION) {\n if (p.openElements.currentTagName === $.OPTION) {\n p.openElements.pop();\n }\n } else if (tn === $.SELECT && p.openElements.hasInSelectScope($.SELECT)) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n }\n}\n\n//12.2.5.4.17 The \"in select in table\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInSelectInTable(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.CAPTION ||\n tn === $.TABLE ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD ||\n tn === $.TR ||\n tn === $.TD ||\n tn === $.TH\n ) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n p._processToken(token);\n } else {\n startTagInSelect(p, token);\n }\n}\n\nfunction endTagInSelectInTable(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.CAPTION ||\n tn === $.TABLE ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD ||\n tn === $.TR ||\n tn === $.TD ||\n tn === $.TH\n ) {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n p._processToken(token);\n }\n } else {\n endTagInSelect(p, token);\n }\n}\n\n// The \"in template\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInTemplate(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.BASE ||\n tn === $.BASEFONT ||\n tn === $.BGSOUND ||\n tn === $.LINK ||\n tn === $.META ||\n tn === $.NOFRAMES ||\n tn === $.SCRIPT ||\n tn === $.STYLE ||\n tn === $.TEMPLATE ||\n tn === $.TITLE\n ) {\n startTagInHead(p, token);\n } else {\n const newInsertionMode = TEMPLATE_INSERTION_MODE_SWITCH_MAP[tn] || IN_BODY_MODE;\n\n p._popTmplInsertionMode();\n p._pushTmplInsertionMode(newInsertionMode);\n p.insertionMode = newInsertionMode;\n p._processToken(token);\n }\n}\n\nfunction endTagInTemplate(p, token) {\n if (token.tagName === $.TEMPLATE) {\n endTagInHead(p, token);\n }\n}\n\nfunction eofInTemplate(p, token) {\n if (p.openElements.tmplCount > 0) {\n p.openElements.popUntilTagNamePopped($.TEMPLATE);\n p.activeFormattingElements.clearToLastMarker();\n p._popTmplInsertionMode();\n p._resetInsertionMode();\n p._processToken(token);\n } else {\n p.stopped = true;\n }\n}\n\n// The \"after body\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterBody(p, token) {\n if (token.tagName === $.HTML) {\n startTagInBody(p, token);\n } else {\n tokenAfterBody(p, token);\n }\n}\n\nfunction endTagAfterBody(p, token) {\n if (token.tagName === $.HTML) {\n if (!p.fragmentContext) {\n p.insertionMode = AFTER_AFTER_BODY_MODE;\n }\n } else {\n tokenAfterBody(p, token);\n }\n}\n\nfunction tokenAfterBody(p, token) {\n p.insertionMode = IN_BODY_MODE;\n p._processToken(token);\n}\n\n// The \"in frameset\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInFrameset(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.FRAMESET) {\n p._insertElement(token, NS.HTML);\n } else if (tn === $.FRAME) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n } else if (tn === $.NOFRAMES) {\n startTagInHead(p, token);\n }\n}\n\nfunction endTagInFrameset(p, token) {\n if (token.tagName === $.FRAMESET && !p.openElements.isRootHtmlElementCurrent()) {\n p.openElements.pop();\n\n if (!p.fragmentContext && p.openElements.currentTagName !== $.FRAMESET) {\n p.insertionMode = AFTER_FRAMESET_MODE;\n }\n }\n}\n\n// The \"after frameset\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterFrameset(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.NOFRAMES) {\n startTagInHead(p, token);\n }\n}\n\nfunction endTagAfterFrameset(p, token) {\n if (token.tagName === $.HTML) {\n p.insertionMode = AFTER_AFTER_FRAMESET_MODE;\n }\n}\n\n// The \"after after body\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterAfterBody(p, token) {\n if (token.tagName === $.HTML) {\n startTagInBody(p, token);\n } else {\n tokenAfterAfterBody(p, token);\n }\n}\n\nfunction tokenAfterAfterBody(p, token) {\n p.insertionMode = IN_BODY_MODE;\n p._processToken(token);\n}\n\n// The \"after after frameset\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterAfterFrameset(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.NOFRAMES) {\n startTagInHead(p, token);\n }\n}\n\n// The rules for parsing tokens in foreign content\n//------------------------------------------------------------------\nfunction nullCharacterInForeignContent(p, token) {\n token.chars = unicode.REPLACEMENT_CHARACTER;\n p._insertCharacters(token);\n}\n\nfunction characterInForeignContent(p, token) {\n p._insertCharacters(token);\n p.framesetOk = false;\n}\n\nfunction startTagInForeignContent(p, token) {\n if (foreignContent.causesExit(token) && !p.fragmentContext) {\n while (\n p.treeAdapter.getNamespaceURI(p.openElements.current) !== NS.HTML &&\n !p._isIntegrationPoint(p.openElements.current)\n ) {\n p.openElements.pop();\n }\n\n p._processToken(token);\n } else {\n const current = p._getAdjustedCurrentElement();\n const currentNs = p.treeAdapter.getNamespaceURI(current);\n\n if (currentNs === NS.MATHML) {\n foreignContent.adjustTokenMathMLAttrs(token);\n } else if (currentNs === NS.SVG) {\n foreignContent.adjustTokenSVGTagName(token);\n foreignContent.adjustTokenSVGAttrs(token);\n }\n\n foreignContent.adjustTokenXMLAttrs(token);\n\n if (token.selfClosing) {\n p._appendElement(token, currentNs);\n } else {\n p._insertElement(token, currentNs);\n }\n\n token.ackSelfClosing = true;\n }\n}\n\nfunction endTagInForeignContent(p, token) {\n for (let i = p.openElements.stackTop; i > 0; i--) {\n const element = p.openElements.items[i];\n\n if (p.treeAdapter.getNamespaceURI(element) === NS.HTML) {\n p._processToken(token);\n break;\n }\n\n if (p.treeAdapter.getTagName(element).toLowerCase() === token.tagName) {\n p.openElements.popUntilElementPopped(element);\n break;\n }\n }\n}\n", "/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n", "'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n", "/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n", "/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n", "/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n", "/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n", "export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n", "let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n", "import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n", "/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n", "import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n", "import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n", "/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n", "import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n", "import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n", "import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n", "import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n", "import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n", "/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n", "/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n", "/**\n * List of HTML void tag names.\n *\n * @type {Array<string>}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'isindex',\n 'keygen',\n 'link',\n 'menuitem',\n 'meta',\n 'nextid',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n", "/**\n * @callback Handler\n * Handle a value, with a certain ID field set to a certain value.\n * The ID field is passed to `zwitch`, and it\u2019s value is this function\u2019s\n * place on the `handlers` record.\n * @param {...any} parameters\n * Arbitrary parameters passed to the zwitch.\n * The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback UnknownHandler\n * Handle values that do have a certain ID field, but it\u2019s set to a value\n * that is not listed in the `handlers` record.\n * @param {unknown} value\n * An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback InvalidHandler\n * Handle values that do not have a certain ID field.\n * @param {unknown} value\n * Any unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n * This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @typedef Options\n * Configuration (required).\n * @property {Invalid} [invalid]\n * Handler to use for invalid values.\n * @property {Unknown} [unknown]\n * Handler to use for unknown values.\n * @property {Handlers} [handlers]\n * Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @param {string} key\n * Field to switch on.\n * @param {Options<Invalid, Unknown, Handlers>} [options]\n * Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters<Handlers[keyof Handlers]>): ReturnType<Handlers[keyof Handlers]>, (...parameters: Parameters<Unknown>): ReturnType<Unknown>}}\n */\nexport function zwitch(key, options) {\n const settings = options || {}\n\n /**\n * Handle one value.\n *\n * Based on the bound `key`, a respective handler will be called.\n * If `value` is not an object, or doesn\u2019t have a `key` property, the special\n * \u201Cinvalid\u201D handler will be called.\n * If `value` has an unknown `key`, the special \u201Cunknown\u201D handler will be\n * called.\n *\n * All arguments, and the context object, are passed through to the handler,\n * and it\u2019s result is returned.\n *\n * @this {unknown}\n * Any context object.\n * @param {unknown} [value]\n * Any value.\n * @param {...unknown} parameters\n * Arbitrary parameters passed to the zwitch.\n * @property {Handler} invalid\n * Handle for values that do not have a certain ID field.\n * @property {Handler} unknown\n * Handle values that do have a certain ID field, but it\u2019s set to a value\n * that is not listed in the `handlers` record.\n * @property {Handlers} handlers\n * Record of handlers.\n * @returns {unknown}\n * Anything.\n */\n function one(value, ...parameters) {\n /** @type {Handler|undefined} */\n let fn = one.invalid\n const handlers = one.handlers\n\n if (value && own.call(value, key)) {\n // @ts-expect-error Indexable.\n const id = String(value[key])\n // @ts-expect-error Indexable.\n fn = own.call(handlers, id) ? handlers[id] : one.unknown\n }\n\n if (fn) {\n return fn.call(this, value, ...parameters)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n // @ts-expect-error: matches!\n return one\n}\n", "/**\n * @typedef CoreOptions\n * @property {Array<string>} [subset=[]]\n * Whether to only escape the given subset of characters.\n * @property {boolean} [escapeOnly=false]\n * Whether to only escape possibly dangerous characters.\n * Those characters are `\"`, `&`, `'`, `<`, `>`, and `` ` ``.\n *\n * @typedef FormatOptions\n * @property {(code: number, next: number, options: CoreWithFormatOptions) => string} format\n * Format strategy.\n *\n * @typedef {CoreOptions & FormatOptions & import('./util/format-smart.js').FormatSmartOptions} CoreWithFormatOptions\n */\n\n/**\n * Encode certain characters in `value`.\n *\n * @param {string} value\n * @param {CoreWithFormatOptions} options\n * @returns {string}\n */\nexport function core(value, options) {\n value = value.replace(\n options.subset ? charactersToExpression(options.subset) : /[\"&'<>`]/g,\n basic\n )\n\n if (options.subset || options.escapeOnly) {\n return value\n }\n\n return (\n value\n // Surrogate pairs.\n .replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, surrogate)\n // BMP control characters (C0 except for LF, CR, SP; DEL; and some more\n // non-ASCII ones).\n .replace(\n // eslint-disable-next-line no-control-regex, unicorn/no-hex-escape\n /[\\x01-\\t\\v\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g,\n basic\n )\n )\n\n /**\n * @param {string} pair\n * @param {number} index\n * @param {string} all\n */\n function surrogate(pair, index, all) {\n return options.format(\n (pair.charCodeAt(0) - 0xd800) * 0x400 +\n pair.charCodeAt(1) -\n 0xdc00 +\n 0x10000,\n all.charCodeAt(index + 2),\n options\n )\n }\n\n /**\n * @param {string} character\n * @param {number} index\n * @param {string} all\n */\n function basic(character, index, all) {\n return options.format(\n character.charCodeAt(0),\n all.charCodeAt(index + 1),\n options\n )\n }\n}\n\n/**\n * @param {Array<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpression(subset) {\n /** @type {Array<string>} */\n const groups = []\n let index = -1\n\n while (++index < subset.length) {\n groups.push(subset[index].replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&'))\n }\n\n return new RegExp('(?:' + groups.join('|') + ')', 'g')\n}\n", "/**\n * Configurable ways to encode characters as hexadecimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toHexadecimal(code, next, omit) {\n const value = '&#x' + code.toString(16).toUpperCase()\n return omit && next && !/[\\dA-Fa-f]/.test(String.fromCharCode(next))\n ? value\n : value + ';'\n}\n", "/**\n * Configurable ways to encode characters as decimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toDecimal(code, next, omit) {\n const value = '&#' + String(code)\n return omit && next && !/\\d/.test(String.fromCharCode(next))\n ? value\n : value + ';'\n}\n", "/**\n * List of legacy HTML named character references that don\u2019t need a trailing semicolon.\n *\n * @type {Array<string>}\n */\nexport const characterEntitiesLegacy = [\n 'AElig',\n 'AMP',\n 'Aacute',\n 'Acirc',\n 'Agrave',\n 'Aring',\n 'Atilde',\n 'Auml',\n 'COPY',\n 'Ccedil',\n 'ETH',\n 'Eacute',\n 'Ecirc',\n 'Egrave',\n 'Euml',\n 'GT',\n 'Iacute',\n 'Icirc',\n 'Igrave',\n 'Iuml',\n 'LT',\n 'Ntilde',\n 'Oacute',\n 'Ocirc',\n 'Ograve',\n 'Oslash',\n 'Otilde',\n 'Ouml',\n 'QUOT',\n 'REG',\n 'THORN',\n 'Uacute',\n 'Ucirc',\n 'Ugrave',\n 'Uuml',\n 'Yacute',\n 'aacute',\n 'acirc',\n 'acute',\n 'aelig',\n 'agrave',\n 'amp',\n 'aring',\n 'atilde',\n 'auml',\n 'brvbar',\n 'ccedil',\n 'cedil',\n 'cent',\n 'copy',\n 'curren',\n 'deg',\n 'divide',\n 'eacute',\n 'ecirc',\n 'egrave',\n 'eth',\n 'euml',\n 'frac12',\n 'frac14',\n 'frac34',\n 'gt',\n 'iacute',\n 'icirc',\n 'iexcl',\n 'igrave',\n 'iquest',\n 'iuml',\n 'laquo',\n 'lt',\n 'macr',\n 'micro',\n 'middot',\n 'nbsp',\n 'not',\n 'ntilde',\n 'oacute',\n 'ocirc',\n 'ograve',\n 'ordf',\n 'ordm',\n 'oslash',\n 'otilde',\n 'ouml',\n 'para',\n 'plusmn',\n 'pound',\n 'quot',\n 'raquo',\n 'reg',\n 'sect',\n 'shy',\n 'sup1',\n 'sup2',\n 'sup3',\n 'szlig',\n 'thorn',\n 'times',\n 'uacute',\n 'ucirc',\n 'ugrave',\n 'uml',\n 'uuml',\n 'yacute',\n 'yen',\n 'yuml'\n]\n", "/**\n * Map of named character references from HTML 4.\n *\n * @type {Record<string, string>}\n */\nexport const characterEntitiesHtml4 = {\n nbsp: '\u00A0',\n iexcl: '\u00A1',\n cent: '\u00A2',\n pound: '\u00A3',\n curren: '\u00A4',\n yen: '\u00A5',\n brvbar: '\u00A6',\n sect: '\u00A7',\n uml: '\u00A8',\n copy: '\u00A9',\n ordf: '\u00AA',\n laquo: '\u00AB',\n not: '\u00AC',\n shy: '\u00AD',\n reg: '\u00AE',\n macr: '\u00AF',\n deg: '\u00B0',\n plusmn: '\u00B1',\n sup2: '\u00B2',\n sup3: '\u00B3',\n acute: '\u00B4',\n micro: '\u00B5',\n para: '\u00B6',\n middot: '\u00B7',\n cedil: '\u00B8',\n sup1: '\u00B9',\n ordm: '\u00BA',\n raquo: '\u00BB',\n frac14: '\u00BC',\n frac12: '\u00BD',\n frac34: '\u00BE',\n iquest: '\u00BF',\n Agrave: '\u00C0',\n Aacute: '\u00C1',\n Acirc: '\u00C2',\n Atilde: '\u00C3',\n Auml: '\u00C4',\n Aring: '\u00C5',\n AElig: '\u00C6',\n Ccedil: '\u00C7',\n Egrave: '\u00C8',\n Eacute: '\u00C9',\n Ecirc: '\u00CA',\n Euml: '\u00CB',\n Igrave: '\u00CC',\n Iacute: '\u00CD',\n Icirc: '\u00CE',\n Iuml: '\u00CF',\n ETH: '\u00D0',\n Ntilde: '\u00D1',\n Ograve: '\u00D2',\n Oacute: '\u00D3',\n Ocirc: '\u00D4',\n Otilde: '\u00D5',\n Ouml: '\u00D6',\n times: '\u00D7',\n Oslash: '\u00D8',\n Ugrave: '\u00D9',\n Uacute: '\u00DA',\n Ucirc: '\u00DB',\n Uuml: '\u00DC',\n Yacute: '\u00DD',\n THORN: '\u00DE',\n szlig: '\u00DF',\n agrave: '\u00E0',\n aacute: '\u00E1',\n acirc: '\u00E2',\n atilde: '\u00E3',\n auml: '\u00E4',\n aring: '\u00E5',\n aelig: '\u00E6',\n ccedil: '\u00E7',\n egrave: '\u00E8',\n eacute: '\u00E9',\n ecirc: '\u00EA',\n euml: '\u00EB',\n igrave: '\u00EC',\n iacute: '\u00ED',\n icirc: '\u00EE',\n iuml: '\u00EF',\n eth: '\u00F0',\n ntilde: '\u00F1',\n ograve: '\u00F2',\n oacute: '\u00F3',\n ocirc: '\u00F4',\n otilde: '\u00F5',\n ouml: '\u00F6',\n divide: '\u00F7',\n oslash: '\u00F8',\n ugrave: '\u00F9',\n uacute: '\u00FA',\n ucirc: '\u00FB',\n uuml: '\u00FC',\n yacute: '\u00FD',\n thorn: '\u00FE',\n yuml: '\u00FF',\n fnof: '\u0192',\n Alpha: '\u0391',\n Beta: '\u0392',\n Gamma: '\u0393',\n Delta: '\u0394',\n Epsilon: '\u0395',\n Zeta: '\u0396',\n Eta: '\u0397',\n Theta: '\u0398',\n Iota: '\u0399',\n Kappa: '\u039A',\n Lambda: '\u039B',\n Mu: '\u039C',\n Nu: '\u039D',\n Xi: '\u039E',\n Omicron: '\u039F',\n Pi: '\u03A0',\n Rho: '\u03A1',\n Sigma: '\u03A3',\n Tau: '\u03A4',\n Upsilon: '\u03A5',\n Phi: '\u03A6',\n Chi: '\u03A7',\n Psi: '\u03A8',\n Omega: '\u03A9',\n alpha: '\u03B1',\n beta: '\u03B2',\n gamma: '\u03B3',\n delta: '\u03B4',\n epsilon: '\u03B5',\n zeta: '\u03B6',\n eta: '\u03B7',\n theta: '\u03B8',\n iota: '\u03B9',\n kappa: '\u03BA',\n lambda: '\u03BB',\n mu: '\u03BC',\n nu: '\u03BD',\n xi: '\u03BE',\n omicron: '\u03BF',\n pi: '\u03C0',\n rho: '\u03C1',\n sigmaf: '\u03C2',\n sigma: '\u03C3',\n tau: '\u03C4',\n upsilon: '\u03C5',\n phi: '\u03C6',\n chi: '\u03C7',\n psi: '\u03C8',\n omega: '\u03C9',\n thetasym: '\u03D1',\n upsih: '\u03D2',\n piv: '\u03D6',\n bull: '\u2022',\n hellip: '\u2026',\n prime: '\u2032',\n Prime: '\u2033',\n oline: '\u203E',\n frasl: '\u2044',\n weierp: '\u2118',\n image: '\u2111',\n real: '\u211C',\n trade: '\u2122',\n alefsym: '\u2135',\n larr: '\u2190',\n uarr: '\u2191',\n rarr: '\u2192',\n darr: '\u2193',\n harr: '\u2194',\n crarr: '\u21B5',\n lArr: '\u21D0',\n uArr: '\u21D1',\n rArr: '\u21D2',\n dArr: '\u21D3',\n hArr: '\u21D4',\n forall: '\u2200',\n part: '\u2202',\n exist: '\u2203',\n empty: '\u2205',\n nabla: '\u2207',\n isin: '\u2208',\n notin: '\u2209',\n ni: '\u220B',\n prod: '\u220F',\n sum: '\u2211',\n minus: '\u2212',\n lowast: '\u2217',\n radic: '\u221A',\n prop: '\u221D',\n infin: '\u221E',\n ang: '\u2220',\n and: '\u2227',\n or: '\u2228',\n cap: '\u2229',\n cup: '\u222A',\n int: '\u222B',\n there4: '\u2234',\n sim: '\u223C',\n cong: '\u2245',\n asymp: '\u2248',\n ne: '\u2260',\n equiv: '\u2261',\n le: '\u2264',\n ge: '\u2265',\n sub: '\u2282',\n sup: '\u2283',\n nsub: '\u2284',\n sube: '\u2286',\n supe: '\u2287',\n oplus: '\u2295',\n otimes: '\u2297',\n perp: '\u22A5',\n sdot: '\u22C5',\n lceil: '\u2308',\n rceil: '\u2309',\n lfloor: '\u230A',\n rfloor: '\u230B',\n lang: '\u2329',\n rang: '\u232A',\n loz: '\u25CA',\n spades: '\u2660',\n clubs: '\u2663',\n hearts: '\u2665',\n diams: '\u2666',\n quot: '\"',\n amp: '&',\n lt: '<',\n gt: '>',\n OElig: '\u0152',\n oelig: '\u0153',\n Scaron: '\u0160',\n scaron: '\u0161',\n Yuml: '\u0178',\n circ: '\u02C6',\n tilde: '\u02DC',\n ensp: '\u2002',\n emsp: '\u2003',\n thinsp: '\u2009',\n zwnj: '\u200C',\n zwj: '\u200D',\n lrm: '\u200E',\n rlm: '\u200F',\n ndash: '\u2013',\n mdash: '\u2014',\n lsquo: '\u2018',\n rsquo: '\u2019',\n sbquo: '\u201A',\n ldquo: '\u201C',\n rdquo: '\u201D',\n bdquo: '\u201E',\n dagger: '\u2020',\n Dagger: '\u2021',\n permil: '\u2030',\n lsaquo: '\u2039',\n rsaquo: '\u203A',\n euro: '\u20AC'\n}\n", "/**\n * List of legacy (that don\u2019t need a trailing `;`) named references which could,\n * depending on what follows them, turn into a different meaning\n *\n * @type {Array<string>}\n */\nexport const dangerous = [\n 'cent',\n 'copy',\n 'divide',\n 'gt',\n 'lt',\n 'not',\n 'para',\n 'times'\n]\n", "import {characterEntitiesLegacy} from 'character-entities-legacy'\nimport {characterEntitiesHtml4} from 'character-entities-html4'\nimport {dangerous} from '../constant/dangerous.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * `characterEntitiesHtml4` but inverted.\n *\n * @type {Record<string, string>}\n */\nconst characters = {}\n\n/** @type {string} */\nlet key\n\nfor (key in characterEntitiesHtml4) {\n if (own.call(characterEntitiesHtml4, key)) {\n characters[characterEntitiesHtml4[key]] = key\n }\n}\n\n/**\n * Configurable ways to encode characters as named references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @param {boolean|undefined} attribute\n * @returns {string}\n */\nexport function toNamed(code, next, omit, attribute) {\n const character = String.fromCharCode(code)\n\n if (own.call(characters, character)) {\n const name = characters[character]\n const value = '&' + name\n\n if (\n omit &&\n characterEntitiesLegacy.includes(name) &&\n !dangerous.includes(name) &&\n (!attribute ||\n (next &&\n next !== 61 /* `=` */ &&\n /[^\\da-z]/i.test(String.fromCharCode(next))))\n ) {\n return value\n }\n\n return value + ';'\n }\n\n return ''\n}\n", "/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n * Prefer named character references (`&`) where possible.\n * @property {boolean} [useShortestReferences=false]\n * Prefer the shortest possible reference, if that results in less bytes.\n * **Note**: `useNamedReferences` can be omitted when using `useShortestReferences`.\n * @property {boolean} [omitOptionalSemicolons=false]\n * Whether to omit semicolons when possible.\n * **Note**: This creates what HTML calls \u201Cparse errors\u201D but is otherwise still valid HTML \u2014 don\u2019t use this except when building a minifier.\n * Omitting semicolons is possible for certain named and numeric references in some cases.\n * @property {boolean} [attribute=false]\n * Create character references which don\u2019t fail in attributes.\n * **Note**: `attribute` only applies when operating dangerously with\n * `omitOptionalSemicolons: true`.\n */\n\nimport {toHexadecimal} from './to-hexadecimal.js'\nimport {toDecimal} from './to-decimal.js'\nimport {toNamed} from './to-named.js'\n\n/**\n * Configurable ways to encode a character yielding pretty or small results.\n *\n * @param {number} code\n * @param {number} next\n * @param {FormatSmartOptions} options\n * @returns {string}\n */\nexport function formatSmart(code, next, options) {\n let numeric = toHexadecimal(code, next, options.omitOptionalSemicolons)\n /** @type {string|undefined} */\n let named\n\n if (options.useNamedReferences || options.useShortestReferences) {\n named = toNamed(\n code,\n next,\n options.omitOptionalSemicolons,\n options.attribute\n )\n }\n\n // Use the shortest numeric reference when requested.\n // A simple algorithm would use decimal for all code points under 100, as\n // those are shorter than hexadecimal:\n //\n // * `c` vs `c` (decimal shorter)\n // * `d` vs `d` (equal)\n //\n // However, because we take `next` into consideration when `omit` is used,\n // And it would be possible that decimals are shorter on bigger values as\n // well if `next` is hexadecimal but not decimal, we instead compare both.\n if (\n (options.useShortestReferences || !named) &&\n options.useShortestReferences\n ) {\n const decimal = toDecimal(code, next, options.omitOptionalSemicolons)\n\n if (decimal.length < numeric.length) {\n numeric = decimal\n }\n }\n\n return named &&\n (!options.useShortestReferences || named.length < numeric.length)\n ? named\n : numeric\n}\n", "/**\n * @typedef {import('./core.js').CoreOptions & import('./util/format-smart.js').FormatSmartOptions} Options\n * @typedef {import('./core.js').CoreOptions} LightOptions\n */\n\nimport {core} from './core.js'\nimport {formatSmart} from './util/format-smart.js'\nimport {formatBasic} from './util/format-basic.js'\n\n/**\n * Encode special characters in `value`.\n *\n * @param {string} value\n * Value to encode.\n * @param {Options} [options]\n * Configuration.\n * @returns {string}\n * Encoded value.\n */\nexport function stringifyEntities(value, options) {\n return core(value, Object.assign({format: formatSmart}, options))\n}\n\n/**\n * Encode special characters in `value` as hexadecimals.\n *\n * @param {string} value\n * Value to encode.\n * @param {LightOptions} [options]\n * Configuration.\n * @returns {string}\n * Encoded value.\n */\nexport function stringifyEntitiesLight(value, options) {\n return core(value, Object.assign({format: formatBasic}, options))\n}\n", "/**\n * @typedef {import('../types.js').Comment} Comment\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').State} State\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\n/**\n * Serialize a comment.\n *\n * @param {Comment} node\n * Node to handle.\n * @param {number | undefined} _1\n * Index of `node` in `parent.\n * @param {Parent | undefined} _2\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function comment(node, _1, _2, state) {\n // See: <https://html.spec.whatwg.org/multipage/syntax.html#comments>\n return state.settings.bogusComments\n ? '<?' +\n stringifyEntities(\n node.value,\n Object.assign({}, state.settings.characterReferences, {subset: ['>']})\n ) +\n '>'\n : '<!--' + node.value.replace(/^>|^->|<!--|-->|--!>|<!-$/g, encode) + '-->'\n\n /**\n * @param {string} $0\n */\n function encode($0) {\n return stringifyEntities(\n $0,\n Object.assign({}, state.settings.characterReferences, {\n subset: ['<', '>']\n })\n )\n }\n}\n", "/**\n * @typedef {import('../types.js').DocType} DocType\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * Serialize a doctype.\n *\n * @param {DocType} _1\n * Node to handle.\n * @param {number | undefined} _2\n * Index of `node` in `parent.\n * @param {Parent | undefined} _3\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function doctype(_1, _2, _3, state) {\n return (\n '<!' +\n (state.settings.upperDoctype ? 'DOCTYPE' : 'doctype') +\n (state.settings.tightDoctype ? '' : ' ') +\n 'html>'\n )\n}\n", "/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n", "/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array<string>} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n", "/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n", "/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {unknown} thing\n * Thing to check (typically `Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`).\n * If a node is passed it must be a `Text` node, whose `value` field is\n * checked.\n */\nexport function whitespace(thing) {\n /** @type {string} */\n const value =\n // @ts-expect-error looks like a node.\n thing && typeof thing === 'object' && thing.type === 'text'\n ? // @ts-expect-error looks like a text.\n thing.value || ''\n : thing\n\n // HTML whitespace expression.\n // See <https://infra.spec.whatwg.org/#ascii-whitespace>.\n return typeof value === 'string' && value.replace(/[ \\t\\n\\f\\r]/g, '') === ''\n}\n", "/**\n * @typedef {import('../../types.js').Parent} Parent\n * @typedef {import('../../types.js').Content} Content\n */\n\nimport {whitespace} from 'hast-util-whitespace'\n\nexport const siblingAfter = siblings(1)\nexport const siblingBefore = siblings(-1)\n\n/**\n * Factory to check siblings in a direction.\n *\n * @param {number} increment\n */\nfunction siblings(increment) {\n return sibling\n\n /**\n * Find applicable siblings in a direction.\n *\n * @param {Parent | null | undefined} parent\n * @param {number | null | undefined} index\n * @param {boolean | null | undefined} [includeWhitespace=false]\n * @returns {Content}\n */\n function sibling(parent, index, includeWhitespace) {\n const siblings = parent ? parent.children : []\n let offset = (index || 0) + increment\n let next = siblings && siblings[offset]\n\n if (!includeWhitespace) {\n while (next && whitespace(next)) {\n offset += increment\n next = siblings[offset]\n }\n }\n\n return next\n }\n}\n", "/**\n * @typedef {import('../types.js').OmitHandle} OmitHandle\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to check if a given node can have a tag omitted.\n *\n * @param {Record<string, OmitHandle>} handlers\n * Omission handlers, where each key is a tag name, and each value is the\n * corresponding handler.\n * @returns {OmitHandle}\n * Whether to omit a tag of an element.\n */\nexport function omission(handlers) {\n return omit\n\n /**\n * Check if a given node can have a tag omitted.\n *\n * @type {OmitHandle}\n */\n function omit(node, index, parent) {\n return (\n own.call(handlers, node.tagName) &&\n handlers[node.tagName](node, index, parent)\n )\n }\n}\n", "/**\n * @typedef {import('../types.js').Element} Element\n * @typedef {import('../types.js').Parent} Parent\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter} from './util/siblings.js'\nimport {omission} from './omission.js'\n\nexport const closing = omission({\n html,\n head: headOrColgroupOrCaption,\n body,\n p,\n li,\n dt,\n dd,\n rt: rubyElement,\n rp: rubyElement,\n optgroup,\n option,\n menuitem,\n colgroup: headOrColgroupOrCaption,\n caption: headOrColgroupOrCaption,\n thead,\n tbody,\n tfoot,\n tr,\n td: cells,\n th: cells\n})\n\n/**\n * Macro for `</head>`, `</colgroup>`, and `</caption>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction headOrColgroupOrCaption(_, index, parent) {\n const next = siblingAfter(parent, index, true)\n return (\n !next ||\n (next.type !== 'comment' &&\n !(next.type === 'text' && whitespace(next.value.charAt(0))))\n )\n}\n\n/**\n * Whether to omit `</html>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction html(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</body>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction body(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</p>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\n// eslint-disable-next-line complexity\nfunction p(_, index, parent) {\n const next = siblingAfter(parent, index)\n return next\n ? next.type === 'element' &&\n (next.tagName === 'address' ||\n next.tagName === 'article' ||\n next.tagName === 'aside' ||\n next.tagName === 'blockquote' ||\n next.tagName === 'details' ||\n next.tagName === 'div' ||\n next.tagName === 'dl' ||\n next.tagName === 'fieldset' ||\n next.tagName === 'figcaption' ||\n next.tagName === 'figure' ||\n next.tagName === 'footer' ||\n next.tagName === 'form' ||\n next.tagName === 'h1' ||\n next.tagName === 'h2' ||\n next.tagName === 'h3' ||\n next.tagName === 'h4' ||\n next.tagName === 'h5' ||\n next.tagName === 'h6' ||\n next.tagName === 'header' ||\n next.tagName === 'hgroup' ||\n next.tagName === 'hr' ||\n next.tagName === 'main' ||\n next.tagName === 'menu' ||\n next.tagName === 'nav' ||\n next.tagName === 'ol' ||\n next.tagName === 'p' ||\n next.tagName === 'pre' ||\n next.tagName === 'section' ||\n next.tagName === 'table' ||\n next.tagName === 'ul')\n : !parent ||\n // Confusing parent.\n !(\n parent.type === 'element' &&\n (parent.tagName === 'a' ||\n parent.tagName === 'audio' ||\n parent.tagName === 'del' ||\n parent.tagName === 'ins' ||\n parent.tagName === 'map' ||\n parent.tagName === 'noscript' ||\n parent.tagName === 'video')\n )\n}\n\n/**\n * Whether to omit `</li>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction li(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'li')\n}\n\n/**\n * Whether to omit `</dt>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction dt(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n next &&\n next.type === 'element' &&\n (next.tagName === 'dt' || next.tagName === 'dd')\n )\n}\n\n/**\n * Whether to omit `</dd>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction dd(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'dt' || next.tagName === 'dd'))\n )\n}\n\n/**\n * Whether to omit `</rt>` or `</rp>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction rubyElement(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'rp' || next.tagName === 'rt'))\n )\n}\n\n/**\n * Whether to omit `</optgroup>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction optgroup(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'optgroup')\n}\n\n/**\n * Whether to omit `</option>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction option(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'option' || next.tagName === 'optgroup'))\n )\n}\n\n/**\n * Whether to omit `</menuitem>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction menuitem(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'menuitem' ||\n next.tagName === 'hr' ||\n next.tagName === 'menu'))\n )\n}\n\n/**\n * Whether to omit `</thead>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction thead(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n next &&\n next.type === 'element' &&\n (next.tagName === 'tbody' || next.tagName === 'tfoot')\n )\n}\n\n/**\n * Whether to omit `</tbody>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tbody(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'tbody' || next.tagName === 'tfoot'))\n )\n}\n\n/**\n * Whether to omit `</tfoot>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tfoot(_, index, parent) {\n return !siblingAfter(parent, index)\n}\n\n/**\n * Whether to omit `</tr>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tr(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'tr')\n}\n\n/**\n * Whether to omit `</td>` or `</th>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction cells(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'td' || next.tagName === 'th'))\n )\n}\n", "/**\n * @typedef {import('../types.js').Element} Element\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').Content} Content\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingBefore, siblingAfter} from './util/siblings.js'\nimport {closing} from './closing.js'\nimport {omission} from './omission.js'\n\nexport const opening = omission({\n html,\n head,\n body,\n colgroup,\n tbody\n})\n\n/**\n * Whether to omit `<html>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction html(node) {\n const head = siblingAfter(node, -1)\n return !head || head.type !== 'comment'\n}\n\n/**\n * Whether to omit `<head>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction head(node) {\n const children = node.children\n /** @type {Array<string>} */\n const seen = []\n let index = -1\n\n while (++index < children.length) {\n const child = children[index]\n if (\n child.type === 'element' &&\n (child.tagName === 'title' || child.tagName === 'base')\n ) {\n if (seen.includes(child.tagName)) return false\n seen.push(child.tagName)\n }\n }\n\n return children.length > 0\n}\n\n/**\n * Whether to omit `<body>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction body(node) {\n const head = siblingAfter(node, -1, true)\n\n return (\n !head ||\n (head.type !== 'comment' &&\n !(head.type === 'text' && whitespace(head.value.charAt(0))) &&\n !(\n head.type === 'element' &&\n (head.tagName === 'meta' ||\n head.tagName === 'link' ||\n head.tagName === 'script' ||\n head.tagName === 'style' ||\n head.tagName === 'template')\n ))\n )\n}\n\n/**\n * Whether to omit `<colgroup>`.\n * The spec describes some logic for the opening tag, but it\u2019s easier to\n * implement in the closing tag, to the same effect, so we handle it there\n * instead.\n *\n * @param {Element} node\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction colgroup(node, index, parent) {\n const previous = siblingBefore(parent, index)\n const head = siblingAfter(node, -1, true)\n\n // Previous colgroup was already omitted.\n if (\n parent &&\n previous &&\n previous.type === 'element' &&\n previous.tagName === 'colgroup' &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return head && head.type === 'element' && head.tagName === 'col'\n}\n\n/**\n * Whether to omit `<tbody>`.\n *\n * @param {Element} node\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parent | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction tbody(node, index, parent) {\n const previous = siblingBefore(parent, index)\n const head = siblingAfter(node, -1)\n\n // Previous table section was already omitted.\n if (\n parent &&\n previous &&\n previous.type === 'element' &&\n (previous.tagName === 'thead' || previous.tagName === 'tbody') &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return head && head.type === 'element' && head.tagName === 'tr'\n}\n", "/**\n * @typedef {import('../types.js').State} State\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').Element} Element\n * @typedef {import('../types.js').Properties} Properties\n * @typedef {import('../types.js').PropertyValue} PropertyValue\n */\n\nimport {ccount} from 'ccount'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {svg, find} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringifyEntities} from 'stringify-entities'\nimport {opening} from '../omission/opening.js'\nimport {closing} from '../omission/closing.js'\n\n/**\n * Maps of subsets.\n *\n * Each value is a matrix of tuples.\n * The value at `0` causes parse errors, the value at `1` is valid.\n * Of both, the value at `0` is unsafe, and the value at `1` is safe.\n *\n * @type {Record<'name' | 'unquoted' | 'single' | 'double', Array<[Array<string>, Array<string>]>>}\n */\nconst constants = {\n // See: <https://html.spec.whatwg.org/#attribute-name-state>.\n name: [\n ['\\t\\n\\f\\r &/=>'.split(''), '\\t\\n\\f\\r \"&\\'/=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'/<=>'.split(''), '\\0\\t\\n\\f\\r \"&\\'/<=>`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(unquoted)-state>.\n unquoted: [\n ['\\t\\n\\f\\r &>'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'<=>`'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state>.\n single: [\n [\"&'\".split(''), '\"&\\'`'.split('')],\n [\"\\0&'\".split(''), '\\0\"&\\'`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state>.\n double: [\n ['\"&'.split(''), '\"&\\'`'.split('')],\n ['\\0\"&'.split(''), '\\0\"&\\'`'.split('')]\n ]\n}\n\n/**\n * Serialize an element node.\n *\n * @param {Element} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parent | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\n// eslint-disable-next-line complexity\nexport function element(node, index, parent, state) {\n const schema = state.schema\n const omit = schema.space === 'svg' ? false : state.settings.omitOptionalTags\n let selfClosing =\n schema.space === 'svg'\n ? state.settings.closeEmptyElements\n : state.settings.voids.includes(node.tagName.toLowerCase())\n /** @type {Array<string>} */\n const parts = []\n /** @type {string} */\n let last\n\n if (schema.space === 'html' && node.tagName === 'svg') {\n state.schema = svg\n }\n\n const attrs = serializeAttributes(state, node.properties)\n\n const content = state.all(\n schema.space === 'html' && node.tagName === 'template' ? node.content : node\n )\n\n state.schema = schema\n\n // If the node is categorised as void, but it has children, remove the\n // categorisation.\n // This enables for example `menuitem`s, which are void in W3C HTML but not\n // void in WHATWG HTML, to be stringified properly.\n if (content) selfClosing = false\n\n if (attrs || !omit || !opening(node, index, parent)) {\n parts.push('<', node.tagName, attrs ? ' ' + attrs : '')\n\n if (\n selfClosing &&\n (schema.space === 'svg' || state.settings.closeSelfClosing)\n ) {\n last = attrs.charAt(attrs.length - 1)\n if (\n !state.settings.tightSelfClosing ||\n last === '/' ||\n (last && last !== '\"' && last !== \"'\")\n ) {\n parts.push(' ')\n }\n\n parts.push('/')\n }\n\n parts.push('>')\n }\n\n parts.push(content)\n\n if (!selfClosing && (!omit || !closing(node, index, parent))) {\n parts.push('</' + node.tagName + '>')\n }\n\n return parts.join('')\n}\n\n/**\n * @param {State} state\n * @param {Properties | null | undefined} props\n * @returns {string}\n */\nfunction serializeAttributes(state, props) {\n /** @type {Array<string>} */\n const values = []\n let index = -1\n /** @type {string} */\n let key\n\n if (props) {\n for (key in props) {\n if (props[key] !== undefined && props[key] !== null) {\n const value = serializeAttribute(state, key, props[key])\n if (value) values.push(value)\n }\n }\n }\n\n while (++index < values.length) {\n const last = state.settings.tightAttributes\n ? values[index].charAt(values[index].length - 1)\n : null\n\n // In tight mode, don\u2019t add a space after quoted attributes.\n if (index !== values.length - 1 && last !== '\"' && last !== \"'\") {\n values[index] += ' '\n }\n }\n\n return values.join('')\n}\n\n/**\n * @param {State} state\n * @param {string} key\n * @param {PropertyValue} value\n * @returns {string}\n */\n// eslint-disable-next-line complexity\nfunction serializeAttribute(state, key, value) {\n const info = find(state.schema, key)\n const x =\n state.settings.allowParseErrors && state.schema.space === 'html' ? 0 : 1\n const y = state.settings.allowDangerousCharacters ? 0 : 1\n let quote = state.quote\n /** @type {string | undefined} */\n let result\n\n if (info.overloadedBoolean && (value === info.attribute || value === '')) {\n value = true\n } else if (\n info.boolean ||\n (info.overloadedBoolean && typeof value !== 'string')\n ) {\n value = Boolean(value)\n }\n\n if (\n value === undefined ||\n value === null ||\n value === false ||\n (typeof value === 'number' && Number.isNaN(value))\n ) {\n return ''\n }\n\n const name = stringifyEntities(\n info.attribute,\n Object.assign({}, state.settings.characterReferences, {\n // Always encode without parse errors in non-HTML.\n subset: constants.name[x][y]\n })\n )\n\n // No value.\n // There is currently only one boolean property in SVG: `[download]` on\n // `<a>`.\n // This property does not seem to work in browsers (Firefox, Safari, Chrome),\n // so I can\u2019t test if dropping the value works.\n // But I assume that it should:\n //\n // ```html\n // <!doctype html>\n // <svg viewBox=\"0 0 100 100\">\n // <a href=https://example.com download>\n // <circle cx=50 cy=40 r=35 />\n // </a>\n // </svg>\n // ```\n //\n // See: <https://github.com/wooorm/property-information/blob/main/lib/svg.js>\n if (value === true) return name\n\n // `spaces` doesn\u2019t accept a second argument, but it\u2019s given here just to\n // keep the code cleaner.\n value = Array.isArray(value)\n ? (info.commaSeparated ? commas : spaces)(value, {\n padLeft: !state.settings.tightCommaSeparatedLists\n })\n : String(value)\n\n if (state.settings.collapseEmptyAttributes && !value) return name\n\n // Check unquoted value.\n if (state.settings.preferUnquoted) {\n result = stringifyEntities(\n value,\n Object.assign({}, state.settings.characterReferences, {\n subset: constants.unquoted[x][y],\n attribute: true\n })\n )\n }\n\n // If we don\u2019t want unquoted, or if `value` contains character references when\n // unquoted\u2026\n if (result !== value) {\n // If the alternative is less common than `quote`, switch.\n if (\n state.settings.quoteSmart &&\n ccount(value, quote) > ccount(value, state.alternative)\n ) {\n quote = state.alternative\n }\n\n result =\n quote +\n stringifyEntities(\n value,\n Object.assign({}, state.settings.characterReferences, {\n // Always encode without parse errors in non-HTML.\n subset: (quote === \"'\" ? constants.single : constants.double)[x][y],\n attribute: true\n })\n ) +\n quote\n }\n\n // Don\u2019t add a `=` for unquoted empties.\n return name + (result ? '=' + result : result)\n}\n", "/**\n * @typedef {import('../types.js').State} State\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').Raw} Raw\n * @typedef {import('../types.js').Text} Text\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\n/**\n * Serialize a text node.\n *\n * @param {Text | Raw} node\n * Node to handle.\n * @param {number | undefined} _\n * Index of `node` in `parent.\n * @param {Parent | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function text(node, _, parent, state) {\n // Check if content of `node` should be escaped.\n return parent &&\n parent.type === 'element' &&\n (parent.tagName === 'script' || parent.tagName === 'style')\n ? node.value\n : stringifyEntities(\n node.value,\n Object.assign({}, state.settings.characterReferences, {\n subset: ['<', '&']\n })\n )\n}\n", "/**\n * @typedef {import('../types.js').State} State\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').Raw} Raw\n */\n\nimport {text} from './text.js'\n\n/**\n * Serialize a raw node.\n *\n * @param {Raw} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parent | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function raw(node, index, parent, state) {\n return state.settings.allowDangerousHtml\n ? node.value\n : text(node, index, parent, state)\n}\n", "/**\n * @typedef {import('../types.js').Root} Root\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').State} State\n */\n\n/**\n * Serialize a root.\n *\n * @param {Root} node\n * Node to handle.\n * @param {number | undefined} _1\n * Index of `node` in `parent.\n * @param {Parent | undefined} _2\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function root(node, _1, _2, state) {\n return state.all(node)\n}\n", "/**\n * @typedef {import('../types.js').State} State\n * @typedef {import('../types.js').Node} Node\n * @typedef {import('../types.js').Parent} Parent\n */\n\nimport {zwitch} from 'zwitch'\nimport {comment} from './comment.js'\nimport {doctype} from './doctype.js'\nimport {element} from './element.js'\nimport {raw} from './raw.js'\nimport {root} from './root.js'\nimport {text} from './text.js'\n\n/**\n * @type {(node: Node, index: number | undefined, parent: Parent | undefined, state: State) => string}\n */\nexport const handle = zwitch('type', {\n invalid,\n unknown,\n handlers: {comment, doctype, element, raw, root, text}\n})\n\n/**\n * Fail when a non-node is found in the tree.\n *\n * @param {unknown} node\n * Unknown value.\n * @returns {never}\n * Never.\n */\nfunction invalid(node) {\n throw new Error('Expected node, not `' + node + '`')\n}\n\n/**\n * Fail when a node with an unknown type is found in the tree.\n *\n * @param {unknown} node\n * Unknown node.\n * @returns {never}\n * Never.\n */\nfunction unknown(node) {\n // @ts-expect-error: `type` is defined.\n throw new Error('Cannot compile unknown node `' + node.type + '`')\n}\n", "/**\n * @typedef {import('./types.js').Node} Node\n * @typedef {import('./types.js').Parent} Parent\n * @typedef {import('./types.js').Content} Content\n * @typedef {import('./types.js').Options} Options\n * @typedef {import('./types.js').State} State\n */\n\nimport {html, svg} from 'property-information'\nimport {htmlVoidElements} from 'html-void-elements'\nimport {handle} from './handle/index.js'\n\n/**\n * Serialize hast as HTML.\n *\n * @param {Node | Array<Content>} tree\n * Tree to serialize.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {string}\n * Serialized HTML.\n */\n// eslint-disable-next-line complexity\nexport function toHtml(tree, options) {\n const options_ = options || {}\n const quote = options_.quote || '\"'\n const alternative = quote === '\"' ? \"'\" : '\"'\n\n if (quote !== '\"' && quote !== \"'\") {\n throw new Error('Invalid quote `' + quote + '`, expected `\\'` or `\"`')\n }\n\n /** @type {State} */\n const state = {\n one,\n all,\n settings: {\n omitOptionalTags: options_.omitOptionalTags || false,\n allowParseErrors: options_.allowParseErrors || false,\n allowDangerousCharacters: options_.allowDangerousCharacters || false,\n quoteSmart: options_.quoteSmart || false,\n preferUnquoted: options_.preferUnquoted || false,\n tightAttributes: options_.tightAttributes || false,\n upperDoctype: options_.upperDoctype || false,\n tightDoctype: options_.tightDoctype || false,\n bogusComments: options_.bogusComments || false,\n tightCommaSeparatedLists: options_.tightCommaSeparatedLists || false,\n tightSelfClosing: options_.tightSelfClosing || false,\n collapseEmptyAttributes: options_.collapseEmptyAttributes || false,\n allowDangerousHtml: options_.allowDangerousHtml || false,\n voids: options_.voids || htmlVoidElements,\n characterReferences:\n options_.characterReferences || options_.entities || {},\n closeSelfClosing: options_.closeSelfClosing || false,\n closeEmptyElements: options_.closeEmptyElements || false\n },\n schema: options_.space === 'svg' ? svg : html,\n quote,\n alternative\n }\n\n return state.one(\n Array.isArray(tree) ? {type: 'root', children: tree} : tree,\n undefined,\n undefined\n )\n}\n\n/**\n * Serialize a node.\n *\n * @this {State}\n * Info passed around about the current state.\n * @param {Node} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parent | undefined} parent\n * Parent of `node`.\n * @returns {string}\n * Serialized node.\n */\nfunction one(node, index, parent) {\n return handle(node, index, parent, this)\n}\n\n/**\n * Serialize all children of `parent`.\n *\n * @this {State}\n * Info passed around about the current state.\n * @param {Parent | undefined} parent\n * Parent whose children to serialize.\n * @returns {string}\n */\nexport function all(parent) {\n /** @type {Array<string>} */\n const results = []\n const children = (parent && parent.children) || []\n let index = -1\n\n while (++index < children.length) {\n results[index] = this.one(children[index], index, parent)\n }\n\n return results.join('')\n}\n", "import { toHtml } from 'hast-util-to-html'\nimport rangeParser from 'parse-numeric-range'\nimport { refractor } from 'refractor'\nimport css from 'refractor/lang/css'\nimport tsx from 'refractor/lang/tsx'\n\nimport { highlightLine } from './highlightLine'\nimport { highlightWord } from './highlightWord'\n\nrefractor.register(tsx)\nrefractor.register(css)\n\nexport function codeToHTML(\n source: string,\n language: 'tsx' | 'css' | string,\n line = '0',\n) {\n let result: any = refractor.highlight(source, language)\n result = highlightLine(result, rangeParser(line))\n result = highlightWord(result)\n result = toHtml(result)\n return result as string\n}\n", "// @ts-nocheck\nclike.displayName = 'clike'\nclike.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function clike(Prism) {\n Prism.languages.clike = {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n lookbehind: true,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword:\n /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: /\\b\\w+(?=\\()/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n", "// @ts-nocheck\nimport refractorClike from './clike.js'\nc.displayName = 'c'\nc.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function c(Prism) {\n Prism.register(refractorClike)\n Prism.languages.c = Prism.languages.extend('clike', {\n comment: {\n pattern:\n /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n string: {\n // https://en.cppreference.com/w/c/language/string_literal\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n lookbehind: true\n },\n keyword:\n /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number:\n /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n })\n Prism.languages.insertBefore('c', 'string', {\n char: {\n // https://en.cppreference.com/w/c/language/character_constant\n pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n greedy: true\n }\n })\n Prism.languages.insertBefore('c', 'string', {\n macro: {\n // allow for multiline macro definitions\n // spaces after the # character compile fine with gcc\n pattern:\n /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true,\n greedy: true,\n alias: 'property',\n inside: {\n string: [\n {\n // highlight the path of the include statement as a string\n pattern: /^(#\\s*include\\s*)<[^>]+>/,\n lookbehind: true\n },\n Prism.languages.c['string']\n ],\n char: Prism.languages.c['char'],\n comment: Prism.languages.c['comment'],\n 'macro-name': [\n {\n pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n lookbehind: true\n },\n {\n pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n lookbehind: true,\n alias: 'function'\n }\n ],\n // highlight macro directives as keywords\n directive: {\n pattern: /^(#\\s*)[a-z]+/,\n lookbehind: true,\n alias: 'keyword'\n },\n 'directive-hash': /^#/,\n punctuation: /##|\\\\(?=[\\r\\n])/,\n expression: {\n pattern: /\\S[\\s\\S]*/,\n inside: Prism.languages.c\n }\n }\n }\n })\n Prism.languages.insertBefore('c', 'function', {\n // highlight predefined macros as constants\n constant:\n /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n })\n delete Prism.languages.c['boolean']\n}\n", "// @ts-nocheck\nimport refractorC from './c.js'\ncpp.displayName = 'cpp'\ncpp.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function cpp(Prism) {\n Prism.register(refractorC)\n ;(function (Prism) {\n var keyword =\n /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/\n var modName = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(\n /<keyword>/g,\n function () {\n return keyword.source\n }\n )\n Prism.languages.cpp = Prism.languages.extend('c', {\n 'class-name': [\n {\n pattern: RegExp(\n /(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(\n /<keyword>/g,\n function () {\n return keyword.source\n }\n )\n ),\n lookbehind: true\n },\n // This is intended to capture the class name of method implementations like:\n // void foo::bar() const {}\n // However! The `foo` in the above example could also be a namespace, so we only capture the class name if\n // it starts with an uppercase letter. This approximation should give decent results.\n /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/,\n // This will capture the class name before destructors like:\n // Foo::~Foo() {}\n /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i,\n // This also intends to capture the class name of method implementations but here the class has template\n // parameters, so it can't be a namespace (until C++ adds generic namespaces).\n /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/\n ],\n keyword: keyword,\n number: {\n pattern:\n /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,\n greedy: true\n },\n operator:\n />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,\n boolean: /\\b(?:false|true)\\b/\n })\n Prism.languages.insertBefore('cpp', 'string', {\n module: {\n // https://en.cppreference.com/w/cpp/language/modules\n pattern: RegExp(\n /(\\b(?:import|module)\\s+)/.source +\n '(?:' +\n // header-name\n /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source +\n '|' +\n // module name or partition or both\n /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(\n /<mod-name>/g,\n function () {\n return modName\n }\n ) +\n ')'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n string: /^[<\"][\\s\\S]+/,\n operator: /:/,\n punctuation: /\\./\n }\n },\n 'raw-string': {\n pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n alias: 'string',\n greedy: true\n }\n })\n Prism.languages.insertBefore('cpp', 'keyword', {\n 'generic-function': {\n pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,\n inside: {\n function: /^\\w+/,\n generic: {\n pattern: /<[\\s\\S]+/,\n alias: 'class-name',\n inside: Prism.languages.cpp\n }\n }\n }\n })\n Prism.languages.insertBefore('cpp', 'operator', {\n 'double-colon': {\n pattern: /::/,\n alias: 'punctuation'\n }\n })\n Prism.languages.insertBefore('cpp', 'class-name', {\n // the base clause is an optional list of parent classes\n // https://en.cppreference.com/w/cpp/language/class\n 'base-clause': {\n pattern:\n /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,\n lookbehind: true,\n greedy: true,\n inside: Prism.languages.extend('cpp', {})\n }\n })\n Prism.languages.insertBefore(\n 'inside',\n 'double-colon',\n {\n // All untokenized words that are not namespaces should be class names\n 'class-name': /\\b[a-z_]\\w*\\b(?!\\s*::)/i\n },\n Prism.languages.cpp['base-clause']\n )\n })(Prism)\n}\n", "// @ts-nocheck\nimport refractorCpp from './cpp.js'\narduino.displayName = 'arduino'\narduino.aliases = ['ino']\n\n/** @type {import('../core.js').Syntax} */\nexport default function arduino(Prism) {\n Prism.register(refractorCpp)\n Prism.languages.arduino = Prism.languages.extend('cpp', {\n keyword:\n /\\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\\b/,\n constant:\n /\\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\\b/,\n builtin:\n /\\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\\b/\n })\n Prism.languages.ino = Prism.languages.arduino\n}\n", "// @ts-nocheck\nbash.displayName = 'bash'\nbash.aliases = ['sh', 'shell']\n\n/** @type {import('../core.js').Syntax} */\nexport default function bash(Prism) {\n ;(function (Prism) {\n // $ set | grep '^[A-Z][^[:space:]]*=' | cut -d= -f1 | tr '\\n' '|'\n // + LC_ALL, RANDOM, REPLY, SECONDS.\n // + make sure PS1..4 are here as they are not always set,\n // - some useless things.\n var envVars =\n '\\\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\\\b'\n var commandAfterHeredoc = {\n pattern: /(^([\"']?)\\w+\\2)[ \\t]+\\S.*/,\n lookbehind: true,\n alias: 'punctuation',\n // this looks reasonably well in all themes\n inside: null // see below\n }\n\n var insideString = {\n bash: commandAfterHeredoc,\n environment: {\n pattern: RegExp('\\\\$' + envVars),\n alias: 'constant'\n },\n variable: [\n // [0]: Arithmetic Environment\n {\n pattern: /\\$?\\(\\([\\s\\S]+?\\)\\)/,\n greedy: true,\n inside: {\n // If there is a $ sign at the beginning highlight $(( and )) as variable\n variable: [\n {\n pattern: /(^\\$\\(\\([\\s\\S]+)\\)\\)/,\n lookbehind: true\n },\n /^\\$\\(\\(/\n ],\n number:\n /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n // Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic\n operator:\n /--|\\+\\+|\\*\\*=?|<<=?|>>=?|&&|\\|\\||[=!+\\-*/%<>^&|]=?|[?~:]/,\n // If there is no $ sign at the beginning highlight (( and )) as punctuation\n punctuation: /\\(\\(?|\\)\\)?|,|;/\n }\n },\n // [1]: Command Substitution\n {\n pattern: /\\$\\((?:\\([^)]+\\)|[^()])+\\)|`[^`]+`/,\n greedy: true,\n inside: {\n variable: /^\\$\\(|^`|\\)$|`$/\n }\n },\n // [2]: Brace expansion\n {\n pattern: /\\$\\{[^}]+\\}/,\n greedy: true,\n inside: {\n operator: /:[-=?+]?|[!\\/]|##?|%%?|\\^\\^?|,,?/,\n punctuation: /[\\[\\]]/,\n environment: {\n pattern: RegExp('(\\\\{)' + envVars),\n lookbehind: true,\n alias: 'constant'\n }\n }\n },\n /\\$(?:\\w+|[#?*!@$])/\n ],\n // Escape sequences from echo and printf's manuals, and escaped quotes.\n entity:\n /\\\\(?:[abceEfnrtv\\\\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/\n }\n Prism.languages.bash = {\n shebang: {\n pattern: /^#!\\s*\\/.*/,\n alias: 'important'\n },\n comment: {\n pattern: /(^|[^\"{\\\\$])#.*/,\n lookbehind: true\n },\n 'function-name': [\n // a) function foo {\n // b) foo() {\n // c) function foo() {\n // but not \u201Cfoo {\u201D\n {\n // a) and c)\n pattern: /(\\bfunction\\s+)[\\w-]+(?=(?:\\s*\\(?:\\s*\\))?\\s*\\{)/,\n lookbehind: true,\n alias: 'function'\n },\n {\n // b)\n pattern: /\\b[\\w-]+(?=\\s*\\(\\s*\\)\\s*\\{)/,\n alias: 'function'\n }\n ],\n // Highlight variable names as variables in for and select beginnings.\n 'for-or-select': {\n pattern: /(\\b(?:for|select)\\s+)\\w+(?=\\s+in\\s)/,\n alias: 'variable',\n lookbehind: true\n },\n // Highlight variable names as variables in the left-hand part\n // of assignments (\u201C=\u201D and \u201C+=\u201D).\n 'assign-left': {\n pattern: /(^|[\\s;|&]|[<>]\\()\\w+(?:\\.\\w+)*(?=\\+?=)/,\n inside: {\n environment: {\n pattern: RegExp('(^|[\\\\s;|&]|[<>]\\\\()' + envVars),\n lookbehind: true,\n alias: 'constant'\n }\n },\n alias: 'variable',\n lookbehind: true\n },\n // Highlight parameter names as variables\n parameter: {\n pattern: /(^|\\s)-{1,2}(?:\\w+:[+-]?)?\\w+(?:\\.\\w+)*(?=[=\\s]|$)/,\n alias: 'variable',\n lookbehind: true\n },\n string: [\n // Support for Here-documents https://en.wikipedia.org/wiki/Here_document\n {\n pattern: /((?:^|[^<])<<-?\\s*)(\\w+)\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\2/,\n lookbehind: true,\n greedy: true,\n inside: insideString\n },\n // Here-document with quotes around the tag\n // \u2192 No expansion (so no \u201Cinside\u201D).\n {\n pattern: /((?:^|[^<])<<-?\\s*)([\"'])(\\w+)\\2\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\3/,\n lookbehind: true,\n greedy: true,\n inside: {\n bash: commandAfterHeredoc\n }\n },\n // \u201CNormal\u201D string\n {\n // https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html\n pattern:\n /(^|[^\\\\](?:\\\\\\\\)*)\"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^\"\\\\`$])*\"/,\n lookbehind: true,\n greedy: true,\n inside: insideString\n },\n {\n // https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html\n pattern: /(^|[^$\\\\])'[^']*'/,\n lookbehind: true,\n greedy: true\n },\n {\n // https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html\n pattern: /\\$'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n greedy: true,\n inside: {\n entity: insideString.entity\n }\n }\n ],\n environment: {\n pattern: RegExp('\\\\$?' + envVars),\n alias: 'constant'\n },\n variable: insideString.variable,\n function: {\n pattern:\n /(^|[\\s;|&]|[<>]\\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n keyword: {\n pattern:\n /(^|[\\s;|&]|[<>]\\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n // https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n builtin: {\n pattern:\n /(^|[\\s;|&]|[<>]\\()(?:\\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\\s;|&])/,\n lookbehind: true,\n // Alias added to make those easier to distinguish from strings.\n alias: 'class-name'\n },\n boolean: {\n pattern: /(^|[\\s;|&]|[<>]\\()(?:false|true)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n 'file-descriptor': {\n pattern: /\\B&\\d\\b/,\n alias: 'important'\n },\n operator: {\n // Lots of redirections here, but not just that.\n pattern:\n /\\d?<>|>\\||\\+=|=[=~]?|!=?|<<[<-]?|[&\\d]?>>|\\d[<>]&?|[<>][&=]?|&[>&]?|\\|[&|]?/,\n inside: {\n 'file-descriptor': {\n pattern: /^\\d/,\n alias: 'important'\n }\n }\n },\n punctuation: /\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];\\\\]/,\n number: {\n pattern: /(^|\\s)(?:[1-9]\\d*|0)(?:[.,]\\d+)?\\b/,\n lookbehind: true\n }\n }\n commandAfterHeredoc.inside = Prism.languages.bash\n\n /* Patterns in command substitution. */\n var toBeCopied = [\n 'comment',\n 'function-name',\n 'for-or-select',\n 'assign-left',\n 'parameter',\n 'string',\n 'environment',\n 'function',\n 'keyword',\n 'builtin',\n 'boolean',\n 'file-descriptor',\n 'operator',\n 'punctuation',\n 'number'\n ]\n var inside = insideString.variable[1].inside\n for (var i = 0; i < toBeCopied.length; i++) {\n inside[toBeCopied[i]] = Prism.languages.bash[toBeCopied[i]]\n }\n Prism.languages.sh = Prism.languages.bash\n Prism.languages.shell = Prism.languages.bash\n })(Prism)\n}\n", "// @ts-nocheck\nimport refractorClike from './clike.js'\ncsharp.displayName = 'csharp'\ncsharp.aliases = ['cs', 'dotnet']\n\n/** @type {import('../core.js').Syntax} */\nexport default function csharp(Prism) {\n Prism.register(refractorClike)\n ;(function (Prism) {\n /**\n * Replaces all placeholders \"<<n>>\" of given pattern with the n-th replacement (zero based).\n *\n * Note: This is a simple text based replacement. Be careful when using backreferences!\n *\n * @param {string} pattern the given pattern.\n * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.\n * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.\n * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source\n */\n function replace(pattern, replacements) {\n return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n return '(?:' + replacements[+index] + ')'\n })\n }\n /**\n * @param {string} pattern\n * @param {string[]} replacements\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function re(pattern, replacements, flags) {\n return RegExp(replace(pattern, replacements), flags || '')\n }\n\n /**\n * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n *\n * @param {string} pattern\n * @param {number} depthLog2\n * @returns {string}\n */\n function nested(pattern, depthLog2) {\n for (var i = 0; i < depthLog2; i++) {\n pattern = pattern.replace(/<<self>>/g, function () {\n return '(?:' + pattern + ')'\n })\n }\n return pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]')\n }\n\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/\n var keywordKinds = {\n // keywords which represent a return or variable type\n type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',\n // keywords which are used to declare a type\n typeDeclaration: 'class enum interface record struct',\n // contextual keywords\n // (\"var\" and \"dynamic\" are missing because they are used like types)\n contextual:\n 'add alias and ascending async await by descending from(?=\\\\s*(?:\\\\w|$)) get global group into init(?=\\\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\\\s*{)',\n // all other keywords\n other:\n 'abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield'\n }\n\n // keywords\n function keywordsToPattern(words) {\n return '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b'\n }\n var typeDeclarationKeywords = keywordsToPattern(\n keywordKinds.typeDeclaration\n )\n var keywords = RegExp(\n keywordsToPattern(\n keywordKinds.type +\n ' ' +\n keywordKinds.typeDeclaration +\n ' ' +\n keywordKinds.contextual +\n ' ' +\n keywordKinds.other\n )\n )\n var nonTypeKeywords = keywordsToPattern(\n keywordKinds.typeDeclaration +\n ' ' +\n keywordKinds.contextual +\n ' ' +\n keywordKinds.other\n )\n var nonContextualKeywords = keywordsToPattern(\n keywordKinds.type +\n ' ' +\n keywordKinds.typeDeclaration +\n ' ' +\n keywordKinds.other\n )\n\n // types\n var generic = nested(/<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>/.source, 2) // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.\n var nestedRound = nested(/\\((?:[^()]|<<self>>)*\\)/.source, 2)\n var name = /@?\\b[A-Za-z_]\\w*\\b/.source\n var genericName = replace(/<<0>>(?:\\s*<<1>>)?/.source, [name, generic])\n var identifier = replace(/(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*/.source, [\n nonTypeKeywords,\n genericName\n ])\n var array = /\\[\\s*(?:,\\s*)*\\]/.source\n var typeExpressionWithoutTuple = replace(\n /<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?/.source,\n [identifier, array]\n )\n var tupleElement = replace(\n /[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,\n [generic, nestedRound, array]\n )\n var tuple = replace(/\\(<<0>>+(?:,<<0>>+)+\\)/.source, [tupleElement])\n var typeExpression = replace(\n /(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source,\n [tuple, identifier, array]\n )\n var typeInside = {\n keyword: keywords,\n punctuation: /[<>()?,.:[\\]]/\n }\n\n // strings & characters\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals\n var character = /'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'/.source // simplified pattern\n var regularString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/.source\n var verbatimString = /@\"(?:\"\"|\\\\[\\s\\S]|[^\\\\\"])*\"(?!\")/.source\n Prism.languages.csharp = Prism.languages.extend('clike', {\n string: [\n {\n pattern: re(/(^|[^$\\\\])<<0>>/.source, [verbatimString]),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: re(/(^|[^@$\\\\])<<0>>/.source, [regularString]),\n lookbehind: true,\n greedy: true\n }\n ],\n 'class-name': [\n {\n // Using static\n // using static System.Math;\n pattern: re(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source, [\n identifier\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Using alias (type)\n // using Project = PC.MyCompany.Project;\n pattern: re(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source, [\n name,\n typeExpression\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Using alias (alias)\n // using Project = PC.MyCompany.Project;\n pattern: re(/(\\busing\\s+)<<0>>(?=\\s*=)/.source, [name]),\n lookbehind: true\n },\n {\n // Type declarations\n // class Foo<A, B>\n // interface Foo<out A, B>\n pattern: re(/(\\b<<0>>\\s+)<<1>>/.source, [\n typeDeclarationKeywords,\n genericName\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Single catch exception declaration\n // catch(Foo)\n // (things like catch(Foo e) is covered by variable declaration)\n pattern: re(/(\\bcatch\\s*\\(\\s*)<<0>>/.source, [identifier]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Name of the type parameter of generic constraints\n // where Foo : class\n pattern: re(/(\\bwhere\\s+)<<0>>/.source, [name]),\n lookbehind: true\n },\n {\n // Casts and checks via as and is.\n // as Foo<A>, is Bar<B>\n // (things like if(a is Foo b) is covered by variable declaration)\n pattern: re(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source, [\n typeExpressionWithoutTuple\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Variable, field and parameter declaration\n // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)\n pattern: re(\n /\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/\n .source,\n [typeExpression, nonContextualKeywords, name]\n ),\n inside: typeInside\n }\n ],\n keyword: keywords,\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals\n number:\n /(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:[dflmu]|lu|ul)?\\b/i,\n operator: />>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,\n punctuation: /\\?\\.?|::|[{}[\\];(),.:]/\n })\n Prism.languages.insertBefore('csharp', 'number', {\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n }\n })\n Prism.languages.insertBefore('csharp', 'punctuation', {\n 'named-parameter': {\n pattern: re(/([(,]\\s*)<<0>>(?=\\s*:)/.source, [name]),\n lookbehind: true,\n alias: 'punctuation'\n }\n })\n Prism.languages.insertBefore('csharp', 'class-name', {\n namespace: {\n // namespace Foo.Bar {}\n // using Foo.Bar;\n pattern: re(\n /(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])/.source,\n [name]\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n 'type-expression': {\n // default(Foo), typeof(Foo<Bar>), sizeof(int)\n pattern: re(\n /(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))/\n .source,\n [nestedRound]\n ),\n lookbehind: true,\n alias: 'class-name',\n inside: typeInside\n },\n 'return-type': {\n // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0\n // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];\n // int Foo => 0; int Foo { get; set } = 0;\n pattern: re(\n /<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source,\n [typeExpression, identifier]\n ),\n inside: typeInside,\n alias: 'class-name'\n },\n 'constructor-invocation': {\n // new List<Foo<Bar[]>> { }\n pattern: re(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source, [typeExpression]),\n lookbehind: true,\n inside: typeInside,\n alias: 'class-name'\n },\n /*'explicit-implementation': {\n// int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();\npattern: replace(/\\b<<0>>(?=\\.<<1>>)/, className, methodOrPropertyDeclaration),\ninside: classNameInside,\nalias: 'class-name'\n},*/\n 'generic-method': {\n // foo<Bar>()\n pattern: re(/<<0>>\\s*<<1>>(?=\\s*\\()/.source, [name, generic]),\n inside: {\n function: re(/^<<0>>/.source, [name]),\n generic: {\n pattern: RegExp(generic),\n alias: 'class-name',\n inside: typeInside\n }\n }\n },\n 'type-list': {\n // The list of types inherited or of generic constraints\n // class Foo<F> : Bar, IList<FooBar>\n // where F : Bar, IList<int>\n pattern: re(\n /\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))/\n .source,\n [\n typeDeclarationKeywords,\n genericName,\n name,\n typeExpression,\n keywords.source,\n nestedRound,\n /\\bnew\\s*\\(\\s*\\)/.source\n ]\n ),\n lookbehind: true,\n inside: {\n 'record-arguments': {\n pattern: re(/(^(?!new\\s*\\()<<0>>\\s*)<<1>>/.source, [\n genericName,\n nestedRound\n ]),\n lookbehind: true,\n greedy: true,\n inside: Prism.languages.csharp\n },\n keyword: keywords,\n 'class-name': {\n pattern: RegExp(typeExpression),\n greedy: true,\n inside: typeInside\n },\n punctuation: /[,()]/\n }\n },\n preprocessor: {\n pattern: /(^[\\t ]*)#.*/m,\n lookbehind: true,\n alias: 'property',\n inside: {\n // highlight preprocessor directives as keywords\n directive: {\n pattern:\n /(#)\\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\\b/,\n lookbehind: true,\n alias: 'keyword'\n }\n }\n }\n })\n\n // attributes\n var regularStringOrCharacter = regularString + '|' + character\n var regularStringCharacterOrComment = replace(\n /\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source,\n [regularStringOrCharacter]\n )\n var roundExpression = nested(\n replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [\n regularStringCharacterOrComment\n ]),\n 2\n )\n\n // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets\n var attrTarget =\n /\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/\n .source\n var attr = replace(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source, [\n identifier,\n roundExpression\n ])\n Prism.languages.insertBefore('csharp', 'class-name', {\n attribute: {\n // Attributes\n // [Foo], [Foo(1), Bar(2, Prop = \"foo\")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]\n pattern: re(\n /((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/\n .source,\n [attrTarget, attr]\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n target: {\n pattern: re(/^<<0>>(?=\\s*:)/.source, [attrTarget]),\n alias: 'keyword'\n },\n 'attribute-arguments': {\n pattern: re(/\\(<<0>>*\\)/.source, [roundExpression]),\n inside: Prism.languages.csharp\n },\n 'class-name': {\n pattern: RegExp(identifier),\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[:,]/\n }\n }\n })\n\n // string interpolation\n var formatString = /:[^}\\r\\n]+/.source\n // multi line\n var mInterpolationRound = nested(\n replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [\n regularStringCharacterOrComment\n ]),\n 2\n )\n var mInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [\n mInterpolationRound,\n formatString\n ])\n // single line\n var sInterpolationRound = nested(\n replace(\n /[^\"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/\n .source,\n [regularStringOrCharacter]\n ),\n 2\n )\n var sInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [\n sInterpolationRound,\n formatString\n ])\n function createInterpolationInside(interpolation, interpolationRound) {\n return {\n interpolation: {\n pattern: re(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source, [interpolation]),\n lookbehind: true,\n inside: {\n 'format-string': {\n pattern: re(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source, [\n interpolationRound,\n formatString\n ]),\n lookbehind: true,\n inside: {\n punctuation: /^:/\n }\n },\n punctuation: /^\\{|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n alias: 'language-csharp',\n inside: Prism.languages.csharp\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n Prism.languages.insertBefore('csharp', 'string', {\n 'interpolation-string': [\n {\n pattern: re(\n /(^|[^\\\\])(?:\\$@|@\\$)\"(?:\"\"|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{\"])*\"/.source,\n [mInterpolation]\n ),\n lookbehind: true,\n greedy: true,\n inside: createInterpolationInside(mInterpolation, mInterpolationRound)\n },\n {\n pattern: re(/(^|[^@\\\\])\\$\"(?:\\\\.|\\{\\{|<<0>>|[^\\\\\"{])*\"/.source, [\n sInterpolation\n ]),\n lookbehind: true,\n greedy: true,\n inside: createInterpolationInside(sInterpolation, sInterpolationRound)\n }\n ],\n char: {\n pattern: RegExp(character),\n greedy: true\n }\n })\n Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp\n })(Prism)\n}\n", "// @ts-nocheck\nmarkup.displayName = 'markup'\nmarkup.aliases = ['atom', 'html', 'mathml', 'rss', 'ssml', 'svg', 'xml']\n\n/** @type {import('../core.js').Syntax} */\nexport default function markup(Prism) {\n Prism.languages.markup = {\n comment: {\n pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n greedy: true\n },\n prolog: {\n pattern: /<\\?[\\s\\S]+?\\?>/,\n greedy: true\n },\n doctype: {\n // https://www.w3.org/TR/xml/#NT-doctypedecl\n pattern:\n /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n greedy: true,\n inside: {\n 'internal-subset': {\n pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n\n string: {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n punctuation: /^<!|>$|[[\\]]/,\n 'doctype-tag': /^DOCTYPE/i,\n name: /[^\\s<>'\"]+/\n }\n },\n cdata: {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n greedy: true\n },\n tag: {\n pattern:\n /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n greedy: true,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/\n }\n },\n 'special-attr': [],\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n inside: {\n punctuation: [\n {\n pattern: /^=/,\n alias: 'attr-equals'\n },\n {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: true\n }\n ]\n }\n },\n punctuation: /\\/?>/,\n 'attr-name': {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n entity: [\n {\n pattern: /&[\\da-z]{1,8};/i,\n alias: 'named-entity'\n },\n /&#x?[\\da-f]{1,8};/i\n ]\n }\n Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n Prism.languages.markup['entity']\n Prism.languages.markup['doctype'].inside['internal-subset'].inside =\n Prism.languages.markup\n\n // Plugin to make entity title show the real entity, idea by Roman Komarov\n Prism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.value.replace(/&/, '&')\n }\n })\n Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n /**\n * Adds an inlined language to markup.\n *\n * An example of an inlined language is CSS with `<style>` tags.\n *\n * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addInlined('style', 'css');\n */\n value: function addInlined(tagName, lang) {\n var includedCdataInside = {}\n includedCdataInside['language-' + lang] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: true,\n inside: Prism.languages[lang]\n }\n includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i\n var inside = {\n 'included-cdata': {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: includedCdataInside\n }\n }\n inside['language-' + lang] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[lang]\n }\n var def = {}\n def[tagName] = {\n pattern: RegExp(\n /(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(\n /__/g,\n function () {\n return tagName\n }\n ),\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n inside: inside\n }\n Prism.languages.insertBefore('markup', 'cdata', def)\n }\n })\n Object.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n /**\n * Adds an pattern to highlight languages embedded in HTML attributes.\n *\n * An example of an inlined language is CSS with `style` attributes.\n *\n * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addAttribute('style', 'css');\n */\n value: function (attrName, lang) {\n Prism.languages.markup.tag.inside['special-attr'].push({\n pattern: RegExp(\n /(^|[\"'\\s])/.source +\n '(?:' +\n attrName +\n ')' +\n /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n 'i'\n ),\n lookbehind: true,\n inside: {\n 'attr-name': /^[^\\s=]+/,\n 'attr-value': {\n pattern: /=[\\s\\S]+/,\n inside: {\n value: {\n pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n lookbehind: true,\n alias: [lang, 'language-' + lang],\n inside: Prism.languages[lang]\n },\n punctuation: [\n {\n pattern: /^=/,\n alias: 'attr-equals'\n },\n /\"|'/\n ]\n }\n }\n }\n })\n }\n })\n Prism.languages.html = Prism.languages.markup\n Prism.languages.mathml = Prism.languages.markup\n Prism.languages.svg = Prism.languages.markup\n Prism.languages.xml = Prism.languages.extend('markup', {})\n Prism.languages.ssml = Prism.languages.xml\n Prism.languages.atom = Prism.languages.xml\n Prism.languages.rss = Prism.languages.xml\n}\n", "// @ts-nocheck\ncss.displayName = 'css'\ncss.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function css(Prism) {\n ;(function (Prism) {\n var string =\n /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/\n Prism.languages.css = {\n comment: /\\/\\*[\\s\\S]*?\\*\\//,\n atrule: {\n pattern: RegExp(\n '@[\\\\w-](?:' +\n /[^;{\\s\"']|\\s+(?!\\s)/.source +\n '|' +\n string.source +\n ')*?' +\n /(?:;|(?=\\s*\\{))/.source\n ),\n inside: {\n rule: /^@[\\w-]+/,\n 'selector-function-argument': {\n pattern:\n /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n lookbehind: true,\n alias: 'selector'\n },\n keyword: {\n pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n lookbehind: true\n }\n // See rest below\n }\n },\n\n url: {\n // https://drafts.csswg.org/css-values-3/#urls\n pattern: RegExp(\n '\\\\burl\\\\((?:' +\n string.source +\n '|' +\n /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source +\n ')\\\\)',\n 'i'\n ),\n greedy: true,\n inside: {\n function: /^url/i,\n punctuation: /^\\(|\\)$/,\n string: {\n pattern: RegExp('^' + string.source + '$'),\n alias: 'url'\n }\n }\n },\n selector: {\n pattern: RegExp(\n '(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' +\n string.source +\n ')*(?=\\\\s*\\\\{)'\n ),\n lookbehind: true\n },\n string: {\n pattern: string,\n greedy: true\n },\n property: {\n pattern:\n /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n lookbehind: true\n },\n important: /!important\\b/i,\n function: {\n pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n lookbehind: true\n },\n punctuation: /[(){};:,]/\n }\n Prism.languages.css['atrule'].inside.rest = Prism.languages.css\n var markup = Prism.languages.markup\n if (markup) {\n markup.tag.addInlined('style', 'css')\n markup.tag.addAttribute('style', 'css')\n }\n })(Prism)\n}\n", "// @ts-nocheck\ndiff.displayName = 'diff'\ndiff.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function diff(Prism) {\n ;(function (Prism) {\n Prism.languages.diff = {\n coord: [\n // Match all kinds of coord lines (prefixed by \"+++\", \"---\" or \"***\").\n /^(?:\\*{3}|-{3}|\\+{3}).*$/m,\n // Match \"@@ ... @@\" coord lines in unified diff.\n /^@@.*@@$/m,\n // Match coord lines in normal diff (starts with a number).\n /^\\d.*$/m\n ]\n\n // deleted, inserted, unchanged, diff\n }\n\n /**\n * A map from the name of a block to its line prefix.\n *\n * @type {Object<string, string>}\n */\n var PREFIXES = {\n 'deleted-sign': '-',\n 'deleted-arrow': '<',\n 'inserted-sign': '+',\n 'inserted-arrow': '>',\n unchanged: ' ',\n diff: '!'\n }\n\n // add a token for each prefix\n Object.keys(PREFIXES).forEach(function (name) {\n var prefix = PREFIXES[name]\n var alias = []\n if (!/^\\w+$/.test(name)) {\n // \"deleted-sign\" -> \"deleted\"\n alias.push(/\\w+/.exec(name)[0])\n }\n if (name === 'diff') {\n alias.push('bold')\n }\n Prism.languages.diff[name] = {\n pattern: RegExp(\n '^(?:[' + prefix + '].*(?:\\r\\n?|\\n|(?![\\\\s\\\\S])))+',\n 'm'\n ),\n alias: alias,\n inside: {\n line: {\n pattern: /(.)(?=[\\s\\S]).*(?:\\r\\n?|\\n)?/,\n lookbehind: true\n },\n prefix: {\n pattern: /[\\s\\S]/,\n alias: /\\w+/.exec(name)[0]\n }\n }\n }\n })\n\n // make prefixes available to Diff plugin\n Object.defineProperty(Prism.languages.diff, 'PREFIXES', {\n value: PREFIXES\n })\n })(Prism)\n}\n", "// @ts-nocheck\nimport refractorClike from './clike.js'\ngo.displayName = 'go'\ngo.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function go(Prism) {\n Prism.register(refractorClike)\n Prism.languages.go = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,\n boolean: /\\b(?:_|false|iota|nil|true)\\b/,\n number: [\n // binary and octal integers\n /\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i,\n // hexadecimal integers and floats\n /\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i,\n // decimal integers and floats\n /(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i\n ],\n operator:\n /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,\n builtin:\n /\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/\n })\n Prism.languages.insertBefore('go', 'string', {\n char: {\n pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/,\n greedy: true\n }\n })\n delete Prism.languages.go['class-name']\n}\n", "// @ts-nocheck\nini.displayName = 'ini'\nini.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function ini(Prism) {\n Prism.languages.ini = {\n /**\n * The component mimics the behavior of the Win32 API parser.\n *\n * @see {@link https://github.com/PrismJS/prism/issues/2775#issuecomment-787477723}\n */\n\n comment: {\n pattern: /(^[ \\f\\t\\v]*)[#;][^\\n\\r]*/m,\n lookbehind: true\n },\n section: {\n pattern: /(^[ \\f\\t\\v]*)\\[[^\\n\\r\\]]*\\]?/m,\n lookbehind: true,\n inside: {\n 'section-name': {\n pattern: /(^\\[[ \\f\\t\\v]*)[^ \\f\\t\\v\\]]+(?:[ \\f\\t\\v]+[^ \\f\\t\\v\\]]+)*/,\n lookbehind: true,\n alias: 'selector'\n },\n punctuation: /\\[|\\]/\n }\n },\n key: {\n pattern:\n /(^[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v=]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v=]+)*(?=[ \\f\\t\\v]*=)/m,\n lookbehind: true,\n alias: 'attr-name'\n },\n value: {\n pattern: /(=[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v]+)*/,\n lookbehind: true,\n alias: 'attr-value',\n inside: {\n 'inner-value': {\n pattern: /^(\"|').+(?=\\1$)/,\n lookbehind: true\n }\n }\n },\n punctuation: /=/\n }\n}\n", "// @ts-nocheck\nimport refractorClike from './clike.js'\njava.displayName = 'java'\njava.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function java(Prism) {\n Prism.register(refractorClike)\n ;(function (Prism) {\n var keywords =\n /\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\\s*[(){}[\\]<>=%~.:,;?+\\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/\n\n // full package (optional) + parent classes (optional)\n var classNamePrefix = /(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source\n\n // based on the java naming conventions\n var className = {\n pattern: RegExp(\n /(^|[^\\w.])/.source +\n classNamePrefix +\n /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source\n ),\n lookbehind: true,\n inside: {\n namespace: {\n pattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /\\./\n }\n }\n Prism.languages.java = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': [\n className,\n {\n // variables, parameters, and constructor references\n // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n pattern: RegExp(\n /(^|[^\\w.])/.source +\n classNamePrefix +\n /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)/\n .source\n ),\n lookbehind: true,\n inside: className.inside\n },\n {\n // class names based on keyword\n // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n pattern: RegExp(\n /(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)/\n .source +\n classNamePrefix +\n /[A-Z]\\w*\\b/.source\n ),\n lookbehind: true,\n inside: className.inside\n }\n ],\n keyword: keywords,\n function: [\n Prism.languages.clike.function,\n {\n pattern: /(::\\s*)[a-z_]\\w*/,\n lookbehind: true\n }\n ],\n number:\n /\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n operator: {\n pattern:\n /(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,\n lookbehind: true\n },\n constant: /\\b[A-Z][A-Z_\\d]+\\b/\n })\n Prism.languages.insertBefore('java', 'string', {\n 'triple-quoted-string': {\n // http://openjdk.java.net/jeps/355#Description\n pattern: /\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n char: {\n pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){1,6}'/,\n greedy: true\n }\n })\n Prism.languages.insertBefore('java', 'class-name', {\n annotation: {\n pattern: /(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,\n lookbehind: true,\n alias: 'punctuation'\n },\n generics: {\n pattern:\n /<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,\n inside: {\n 'class-name': className,\n keyword: keywords,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n },\n import: [\n {\n pattern: RegExp(\n /(\\bimport\\s+)/.source +\n classNamePrefix +\n /(?:[A-Z]\\w*|\\*)(?=\\s*;)/.source\n ),\n lookbehind: true,\n inside: {\n namespace: className.inside.namespace,\n punctuation: /\\./,\n operator: /\\*/,\n 'class-name': /\\w+/\n }\n },\n {\n pattern: RegExp(\n /(\\bimport\\s+static\\s+)/.source +\n classNamePrefix +\n /(?:\\w+|\\*)(?=\\s*;)/.source\n ),\n lookbehind: true,\n alias: 'static',\n inside: {\n namespace: className.inside.namespace,\n static: /\\b\\w+$/,\n punctuation: /\\./,\n operator: /\\*/,\n 'class-name': /\\w+/\n }\n }\n ],\n namespace: {\n pattern: RegExp(\n /(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/.source.replace(\n /<keyword>/g,\n function () {\n return keywords.source\n }\n )\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n })\n })(Prism)\n}\n", "// @ts-nocheck\nregex.displayName = 'regex'\nregex.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function regex(Prism) {\n ;(function (Prism) {\n var specialEscape = {\n pattern: /\\\\[\\\\(){}[\\]^$+*?|.]/,\n alias: 'escape'\n }\n var escape =\n /\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/\n var charSet = {\n pattern: /\\.|\\\\[wsd]|\\\\p\\{[^{}]+\\}/i,\n alias: 'class-name'\n }\n var charSetWithoutDot = {\n pattern: /\\\\[wsd]|\\\\p\\{[^{}]+\\}/i,\n alias: 'class-name'\n }\n var rangeChar = '(?:[^\\\\\\\\-]|' + escape.source + ')'\n var range = RegExp(rangeChar + '-' + rangeChar)\n\n // the name of a capturing group\n var groupName = {\n pattern: /(<|')[^<>']+(?=[>']$)/,\n lookbehind: true,\n alias: 'variable'\n }\n Prism.languages.regex = {\n 'char-class': {\n pattern: /((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/,\n lookbehind: true,\n inside: {\n 'char-class-negation': {\n pattern: /(^\\[)\\^/,\n lookbehind: true,\n alias: 'operator'\n },\n 'char-class-punctuation': {\n pattern: /^\\[|\\]$/,\n alias: 'punctuation'\n },\n range: {\n pattern: range,\n inside: {\n escape: escape,\n 'range-punctuation': {\n pattern: /-/,\n alias: 'operator'\n }\n }\n },\n 'special-escape': specialEscape,\n 'char-set': charSetWithoutDot,\n escape: escape\n }\n },\n 'special-escape': specialEscape,\n 'char-set': charSet,\n backreference: [\n {\n // a backreference which is not an octal escape\n pattern: /\\\\(?![123][0-7]{2})[1-9]/,\n alias: 'keyword'\n },\n {\n pattern: /\\\\k<[^<>']+>/,\n alias: 'keyword',\n inside: {\n 'group-name': groupName\n }\n }\n ],\n anchor: {\n pattern: /[$^]|\\\\[ABbGZz]/,\n alias: 'function'\n },\n escape: escape,\n group: [\n {\n // https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html\n // https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference?view=netframework-4.7.2#grouping-constructs\n\n // (), (?<name>), (?'name'), (?>), (?:), (?=), (?!), (?<=), (?<!), (?is-m), (?i-m:)\n pattern:\n /\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,\n alias: 'punctuation',\n inside: {\n 'group-name': groupName\n }\n },\n {\n pattern: /\\)/,\n alias: 'punctuation'\n }\n ],\n quantifier: {\n pattern: /(?:[+*?]|\\{\\d+(?:,\\d*)?\\})[?+]?/,\n alias: 'number'\n },\n alternation: {\n pattern: /\\|/,\n alias: 'keyword'\n }\n }\n })(Prism)\n}\n", "// @ts-nocheck\nimport refractorClike from './clike.js'\njavascript.displayName = 'javascript'\njavascript.aliases = ['js']\n\n/** @type {import('../core.js').Syntax} */\nexport default function javascript(Prism) {\n Prism.register(refractorClike)\n Prism.languages.javascript = Prism.languages.extend('clike', {\n 'class-name': [\n Prism.languages.clike['class-name'],\n {\n pattern:\n /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n lookbehind: true\n }\n ],\n keyword: [\n {\n pattern: /((?:^|\\})\\s*)catch\\b/,\n lookbehind: true\n },\n {\n pattern:\n /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n lookbehind: true\n }\n ],\n // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n function:\n /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n number: {\n pattern: RegExp(\n /(^|[^\\w$])/.source +\n '(?:' +\n // constant\n (/NaN|Infinity/.source +\n '|' +\n // binary integer\n /0[bB][01]+(?:_[01]+)*n?/.source +\n '|' +\n // octal integer\n /0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n '|' +\n // hexadecimal integer\n /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n '|' +\n // decimal bigint\n /\\d+(?:_\\d+)*n/.source +\n '|' +\n // decimal number (integer or float) but no bigint\n /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/\n .source) +\n ')' +\n /(?![\\w$])/.source\n ),\n lookbehind: true\n },\n operator:\n /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n })\n Prism.languages.javascript['class-name'][0].pattern =\n /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/\n Prism.languages.insertBefore('javascript', 'keyword', {\n regex: {\n pattern: RegExp(\n // lookbehind\n // eslint-disable-next-line regexp/no-dupe-characters-character-class\n /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n // Regex pattern:\n // There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n // classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n // with the only syntax, so we have to define 2 different regex patterns.\n /\\//.source +\n '(?:' +\n /(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/\n .source +\n '|' +\n // `v` flag syntax. This supports 3 levels of nested character classes.\n /(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/\n .source +\n ')' +\n // lookahead\n /(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n 'regex-source': {\n pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n lookbehind: true,\n alias: 'language-regex',\n inside: Prism.languages.regex\n },\n 'regex-delimiter': /^\\/|\\/$/,\n 'regex-flags': /^[a-z]+$/\n }\n },\n // This must be declared before keyword because we use \"function\" inside the look-forward\n 'function-variable': {\n pattern:\n /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n alias: 'function'\n },\n parameter: [\n {\n pattern:\n /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern:\n /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern:\n /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern:\n /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n ],\n constant: /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n })\n Prism.languages.insertBefore('javascript', 'string', {\n hashbang: {\n pattern: /^#!.*/,\n greedy: true,\n alias: 'comment'\n },\n 'template-string': {\n pattern:\n /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.javascript\n }\n },\n string: /[\\s\\S]+/\n }\n },\n 'string-property': {\n pattern:\n /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n }\n })\n Prism.languages.insertBefore('javascript', 'operator', {\n 'literal-property': {\n pattern:\n /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n lookbehind: true,\n alias: 'property'\n }\n })\n if (Prism.languages.markup) {\n Prism.languages.markup.tag.addInlined('script', 'javascript')\n\n // add attribute support for all DOM events.\n // https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n Prism.languages.markup.tag.addAttribute(\n /on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/\n .source,\n 'javascript'\n )\n }\n Prism.languages.js = Prism.languages.javascript\n}\n", "// @ts-nocheck\njson.displayName = 'json'\njson.aliases = ['webmanifest']\n\n/** @type {import('../core.js').Syntax} */\nexport default function json(Prism) {\n // https://www.json.org/json-en.html\n Prism.languages.json = {\n property: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,\n lookbehind: true,\n greedy: true\n },\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n punctuation: /[{}[\\],]/,\n operator: /:/,\n boolean: /\\b(?:false|true)\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n }\n }\n Prism.languages.webmanifest = Prism.languages.json\n}\n", "// @ts-nocheck\nimport refractorClike from './clike.js'\nkotlin.displayName = 'kotlin'\nkotlin.aliases = ['kt', 'kts']\n\n/** @type {import('../core.js').Syntax} */\nexport default function kotlin(Prism) {\n Prism.register(refractorClike)\n ;(function (Prism) {\n Prism.languages.kotlin = Prism.languages.extend('clike', {\n keyword: {\n // The lookbehind prevents wrong highlighting of e.g. kotlin.properties.get\n pattern:\n /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/,\n lookbehind: true\n },\n function: [\n {\n pattern: /(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/,\n greedy: true\n },\n {\n pattern: /(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/,\n lookbehind: true,\n greedy: true\n }\n ],\n number:\n /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,\n operator:\n /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/\n })\n delete Prism.languages.kotlin['class-name']\n var interpolationInside = {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{?|\\}$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.kotlin\n }\n }\n Prism.languages.insertBefore('kotlin', 'string', {\n // https://kotlinlang.org/spec/expressions.html#string-interpolation-expressions\n 'string-literal': [\n {\n pattern: /\"\"\"(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?\"\"\"/,\n alias: 'multiline',\n inside: {\n interpolation: {\n pattern: /\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,\n inside: interpolationInside\n },\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: /\"(?:[^\"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*\"/,\n alias: 'singleline',\n inside: {\n interpolation: {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,\n lookbehind: true,\n inside: interpolationInside\n },\n string: /[\\s\\S]+/\n }\n }\n ],\n char: {\n // https://kotlinlang.org/spec/expressions.html#character-literals\n pattern: /'(?:[^'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))'/,\n greedy: true\n }\n })\n delete Prism.languages.kotlin['string']\n Prism.languages.insertBefore('kotlin', 'keyword', {\n annotation: {\n pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,\n alias: 'builtin'\n }\n })\n Prism.languages.insertBefore('kotlin', 'function', {\n label: {\n pattern: /\\b\\w+@|@\\w+\\b/,\n alias: 'symbol'\n }\n })\n Prism.languages.kt = Prism.languages.kotlin\n Prism.languages.kts = Prism.languages.kotlin\n })(Prism)\n}\n", "// @ts-nocheck\nimport refractorCss from './css.js'\nless.displayName = 'less'\nless.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function less(Prism) {\n Prism.register(refractorCss)\n /* FIXME :\n:extend() is not handled specifically : its highlighting is buggy.\nMixin usage must be inside a ruleset to be highlighted.\nAt-rules (e.g. import) containing interpolations are buggy.\nDetached rulesets are highlighted as at-rules.\nA comment before a mixin usage prevents the latter to be properly highlighted.\n*/\n\n Prism.languages.less = Prism.languages.extend('css', {\n comment: [\n /\\/\\*[\\s\\S]*?\\*\\//,\n {\n pattern: /(^|[^\\\\])\\/\\/.*/,\n lookbehind: true\n }\n ],\n atrule: {\n pattern:\n /@[\\w-](?:\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,\n inside: {\n punctuation: /[:()]/\n }\n },\n // selectors and mixins are considered the same\n selector: {\n pattern:\n /(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};@\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,\n inside: {\n // mixin parameters\n variable: /@+[\\w-]+/\n }\n },\n property: /(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/,\n operator: /[+\\-*\\/]/\n })\n Prism.languages.insertBefore('less', 'property', {\n variable: [\n // Variable declaration (the colon must be consumed!)\n {\n pattern: /@[\\w-]+\\s*:/,\n inside: {\n punctuation: /:/\n }\n },\n // Variable usage\n /@@?[\\w-]+/\n ],\n 'mixin-usage': {\n pattern: /([{;]\\s*)[.#](?!\\d)[\\w-].*?(?=[(;])/,\n lookbehind: true,\n alias: 'function'\n }\n })\n}\n", "// @ts-nocheck\nlua.displayName = 'lua'\nlua.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function lua(Prism) {\n Prism.languages.lua = {\n comment: /^#!.+|--(?:\\[(=*)\\[[\\s\\S]*?\\]\\1\\]|.*)/m,\n // \\z may be used to skip the following space\n string: {\n pattern:\n /([\"'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\z(?:\\r\\n|\\s)|\\\\(?:\\r\\n|[^z]))*\\1|\\[(=*)\\[[\\s\\S]*?\\]\\2\\]/,\n greedy: true\n },\n number:\n /\\b0x[a-f\\d]+(?:\\.[a-f\\d]*)?(?:p[+-]?\\d+)?\\b|\\b\\d+(?:\\.\\B|(?:\\.\\d*)?(?:e[+-]?\\d+)?\\b)|\\B\\.\\d+(?:e[+-]?\\d+)?\\b/i,\n keyword:\n /\\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\\b/,\n function: /(?!\\d)\\w+(?=\\s*(?:[({]))/,\n operator: [\n /[-+*%^&|#]|\\/\\/?|<[<=]?|>[>=]?|[=~]=?/,\n {\n // Match \"..\" but don't break \"...\"\n pattern: /(^|[^.])\\.\\.(?!\\.)/,\n lookbehind: true\n }\n ],\n punctuation: /[\\[\\](){},;]|\\.+|:+/\n }\n}\n", "// @ts-nocheck\nmakefile.displayName = 'makefile'\nmakefile.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function makefile(Prism) {\n Prism.languages.makefile = {\n comment: {\n pattern: /(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,\n lookbehind: true\n },\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'builtin-target': {\n pattern: /\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,\n alias: 'builtin'\n },\n target: {\n pattern: /^(?:[^:=\\s]|[ \\t]+(?![\\s:]))+(?=\\s*:(?!=))/m,\n alias: 'symbol',\n inside: {\n variable: /\\$+(?:(?!\\$)[^(){}:#=\\s]+|(?=[({]))/\n }\n },\n variable: /\\$+(?:(?!\\$)[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,\n // Directives\n keyword:\n /-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/,\n function: {\n pattern:\n /(\\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \\t])/,\n lookbehind: true\n },\n operator: /(?:::|[?:+!])?=|[|@]/,\n punctuation: /[:;(){}]/\n }\n}\n", "// @ts-nocheck\nyaml.displayName = 'yaml'\nyaml.aliases = ['yml']\n\n/** @type {import('../core.js').Syntax} */\nexport default function yaml(Prism) {\n ;(function (Prism) {\n // https://yaml.org/spec/1.2/spec.html#c-ns-anchor-property\n // https://yaml.org/spec/1.2/spec.html#c-ns-alias-node\n var anchorOrAlias = /[*&][^\\s[\\]{},]+/\n // https://yaml.org/spec/1.2/spec.html#c-ns-tag-property\n var tag =\n /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/\n // https://yaml.org/spec/1.2/spec.html#c-ns-properties(n,c)\n var properties =\n '(?:' +\n tag.source +\n '(?:[ \\t]+' +\n anchorOrAlias.source +\n ')?|' +\n anchorOrAlias.source +\n '(?:[ \\t]+' +\n tag.source +\n ')?)'\n // https://yaml.org/spec/1.2/spec.html#ns-plain(n,c)\n // This is a simplified version that doesn't support \"#\" and multiline keys\n // All these long scarry character classes are simplified versions of YAML's characters\n var plainKey =\n /(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(\n /<PLAIN>/g,\n function () {\n return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/\n .source\n }\n )\n var string = /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source\n\n /**\n *\n * @param {string} value\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function createValuePattern(value, flags) {\n flags = (flags || '').replace(/m/g, '') + 'm' // add m flag\n var pattern =\n /([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source\n .replace(/<<prop>>/g, function () {\n return properties\n })\n .replace(/<<value>>/g, function () {\n return value\n })\n return RegExp(pattern, flags)\n }\n Prism.languages.yaml = {\n scalar: {\n pattern: RegExp(\n /([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(\n /<<prop>>/g,\n function () {\n return properties\n }\n )\n ),\n lookbehind: true,\n alias: 'string'\n },\n comment: /#.*/,\n key: {\n pattern: RegExp(\n /((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source\n .replace(/<<prop>>/g, function () {\n return properties\n })\n .replace(/<<key>>/g, function () {\n return '(?:' + plainKey + '|' + string + ')'\n })\n ),\n lookbehind: true,\n greedy: true,\n alias: 'atrule'\n },\n directive: {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: true,\n alias: 'important'\n },\n datetime: {\n pattern: createValuePattern(\n /\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/\n .source\n ),\n lookbehind: true,\n alias: 'number'\n },\n boolean: {\n pattern: createValuePattern(/false|true/.source, 'i'),\n lookbehind: true,\n alias: 'important'\n },\n null: {\n pattern: createValuePattern(/null|~/.source, 'i'),\n lookbehind: true,\n alias: 'important'\n },\n string: {\n pattern: createValuePattern(string),\n lookbehind: true,\n greedy: true\n },\n number: {\n pattern: createValuePattern(\n /[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/\n .source,\n 'i'\n ),\n lookbehind: true\n },\n tag: tag,\n important: anchorOrAlias,\n punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n }\n Prism.languages.yml = Prism.languages.yaml\n })(Prism)\n}\n", "// @ts-nocheck\nimport refractorMarkup from './markup.js'\nmarkdown.displayName = 'markdown'\nmarkdown.aliases = ['md']\n\n/** @type {import('../core.js').Syntax} */\nexport default function markdown(Prism) {\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n // Allow only one line break\n var inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source\n\n /**\n * This function is intended for the creation of the bold or italic pattern.\n *\n * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n *\n * _Note:_ Keep in mind that this adds a capturing group.\n *\n * @param {string} pattern\n * @returns {RegExp}\n */\n function createInline(pattern) {\n pattern = pattern.replace(/<inner>/g, function () {\n return inner\n })\n return RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')')\n }\n var tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/\n .source\n var tableRow =\n /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(\n /__/g,\n function () {\n return tableCell\n }\n )\n var tableLine =\n /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/\n .source\n Prism.languages.markdown = Prism.languages.extend('markup', {})\n Prism.languages.insertBefore('markdown', 'prolog', {\n 'front-matter-block': {\n pattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n lookbehind: true,\n greedy: true,\n inside: {\n punctuation: /^---|---$/,\n 'front-matter': {\n pattern: /\\S+(?:\\s+\\S+)*/,\n alias: ['yaml', 'language-yaml'],\n inside: Prism.languages.yaml\n }\n }\n },\n blockquote: {\n // > ...\n pattern: /^>(?:[\\t ]*>)*/m,\n alias: 'punctuation'\n },\n table: {\n pattern: RegExp(\n '^' + tableRow + tableLine + '(?:' + tableRow + ')*',\n 'm'\n ),\n inside: {\n 'table-data-rows': {\n pattern: RegExp(\n '^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'\n ),\n lookbehind: true,\n inside: {\n 'table-data': {\n pattern: RegExp(tableCell),\n inside: Prism.languages.markdown\n },\n punctuation: /\\|/\n }\n },\n 'table-line': {\n pattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n lookbehind: true,\n inside: {\n punctuation: /\\||:?-{3,}:?/\n }\n },\n 'table-header-row': {\n pattern: RegExp('^' + tableRow + '$'),\n inside: {\n 'table-header': {\n pattern: RegExp(tableCell),\n alias: 'important',\n inside: Prism.languages.markdown\n },\n punctuation: /\\|/\n }\n }\n }\n },\n code: [\n {\n // Prefixed by 4 spaces or 1 tab and preceded by an empty line\n pattern:\n /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n lookbehind: true,\n alias: 'keyword'\n },\n {\n // ```optional language\n // code block\n // ```\n pattern: /^```[\\s\\S]*?^```$/m,\n greedy: true,\n inside: {\n 'code-block': {\n pattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n lookbehind: true\n },\n 'code-language': {\n pattern: /^(```).+/,\n lookbehind: true\n },\n punctuation: /```/\n }\n }\n ],\n title: [\n {\n // title 1\n // =======\n\n // title 2\n // -------\n pattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n alias: 'important',\n inside: {\n punctuation: /==+$|--+$/\n }\n },\n {\n // # title 1\n // ###### title 6\n pattern: /(^\\s*)#.+/m,\n lookbehind: true,\n alias: 'important',\n inside: {\n punctuation: /^#+|#+$/\n }\n }\n ],\n hr: {\n // ***\n // ---\n // * * *\n // -----------\n pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n list: {\n // * item\n // + item\n // - item\n // 1. item\n pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'url-reference': {\n // [id]: http://example.com \"Optional title\"\n // [id]: http://example.com 'Optional title'\n // [id]: http://example.com (Optional title)\n // [id]: <http://example.com> \"Optional title\"\n pattern:\n /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n inside: {\n variable: {\n pattern: /^(!?\\[)[^\\]]+/,\n lookbehind: true\n },\n string:\n /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n punctuation: /^[\\[\\]!:]|[<>]/\n },\n alias: 'url'\n },\n bold: {\n // **strong**\n // __strong__\n\n // allow one nested instance of italic text using the same delimiter\n pattern: createInline(\n /\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n content: {\n pattern: /(^..)[\\s\\S]+(?=..$)/,\n lookbehind: true,\n inside: {} // see below\n },\n\n punctuation: /\\*\\*|__/\n }\n },\n italic: {\n // *em*\n // _em_\n\n // allow one nested instance of bold text using the same delimiter\n pattern: createInline(\n /\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n content: {\n pattern: /(^.)[\\s\\S]+(?=.$)/,\n lookbehind: true,\n inside: {} // see below\n },\n\n punctuation: /[*_]/\n }\n },\n strike: {\n // ~~strike through~~\n // ~strike~\n // eslint-disable-next-line regexp/strict\n pattern: createInline(/(~~?)(?:(?!~)<inner>)+\\2/.source),\n lookbehind: true,\n greedy: true,\n inside: {\n content: {\n pattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n lookbehind: true,\n inside: {} // see below\n },\n\n punctuation: /~~?/\n }\n },\n 'code-snippet': {\n // `code`\n // ``code``\n pattern:\n /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,\n lookbehind: true,\n greedy: true,\n alias: ['code', 'keyword']\n },\n url: {\n // [example](http://example.com \"Optional title\")\n // [example][id]\n // [example] [id]\n pattern: createInline(\n /!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n operator: /^!/,\n content: {\n pattern: /(^\\[)[^\\]]+(?=\\])/,\n lookbehind: true,\n inside: {} // see below\n },\n\n variable: {\n pattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n lookbehind: true\n },\n url: {\n pattern: /(^\\]\\()[^\\s)]+/,\n lookbehind: true\n },\n string: {\n pattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n lookbehind: true\n }\n }\n }\n })\n ;['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n ;['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (\n inside\n ) {\n if (token !== inside) {\n Prism.languages.markdown[token].inside.content.inside[inside] =\n Prism.languages.markdown[inside]\n }\n })\n })\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'markdown' && env.language !== 'md') {\n return\n }\n function walkTokens(tokens) {\n if (!tokens || typeof tokens === 'string') {\n return\n }\n for (var i = 0, l = tokens.length; i < l; i++) {\n var token = tokens[i]\n if (token.type !== 'code') {\n walkTokens(token.content)\n continue\n }\n\n /*\n * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n * is optional. But the grammar is defined so that there is only one case we have to handle:\n *\n * token.content = [\n * <span class=\"punctuation\">```</span>,\n * <span class=\"code-language\">xxxx</span>,\n * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n * <span class=\"code-block\">...</span>,\n * '\\n', // exactly one new lines again\n * <span class=\"punctuation\">```</span>\n * ];\n */\n\n var codeLang = token.content[1]\n var codeBlock = token.content[3]\n if (\n codeLang &&\n codeBlock &&\n codeLang.type === 'code-language' &&\n codeBlock.type === 'code-block' &&\n typeof codeLang.content === 'string'\n ) {\n // this might be a language that Prism does not support\n\n // do some replacements to support C++, C#, and F#\n var lang = codeLang.content\n .replace(/\\b#/g, 'sharp')\n .replace(/\\b\\+\\+/g, 'pp')\n // only use the first word\n lang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase()\n var alias = 'language-' + lang\n\n // add alias\n if (!codeBlock.alias) {\n codeBlock.alias = [alias]\n } else if (typeof codeBlock.alias === 'string') {\n codeBlock.alias = [codeBlock.alias, alias]\n } else {\n codeBlock.alias.push(alias)\n }\n }\n }\n }\n walkTokens(env.tokens)\n })\n Prism.hooks.add('wrap', function (env) {\n if (env.type !== 'code-block') {\n return\n }\n var codeLang = ''\n for (var i = 0, l = env.classes.length; i < l; i++) {\n var cls = env.classes[i]\n var match = /language-(.+)/.exec(cls)\n if (match) {\n codeLang = match[1]\n break\n }\n }\n var grammar = Prism.languages[codeLang]\n if (!grammar) {\n if (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n var id =\n 'md-' +\n new Date().valueOf() +\n '-' +\n Math.floor(Math.random() * 1e16)\n env.attributes['id'] = id\n Prism.plugins.autoloader.loadLanguages(codeLang, function () {\n var ele = document.getElementById(id)\n if (ele) {\n ele.innerHTML = Prism.highlight(\n ele.textContent,\n Prism.languages[codeLang],\n codeLang\n )\n }\n })\n }\n } else {\n env.content = Prism.highlight(env.content.value, grammar, codeLang)\n }\n })\n var tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi')\n\n /**\n * A list of known entity names.\n *\n * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.\n *\n * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}\n */\n var KNOWN_ENTITY_NAMES = {\n amp: '&',\n lt: '<',\n gt: '>',\n quot: '\"'\n }\n\n // IE 11 doesn't support `String.fromCodePoint`\n var fromCodePoint = String.fromCodePoint || String.fromCharCode\n\n /**\n * Returns the text content of a given HTML source code string.\n *\n * @param {string} html\n * @returns {string}\n */\n function textContent(html) {\n // remove all tags\n var text = html.replace(tagPattern, '')\n\n // decode known entities\n text = text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function (m, code) {\n code = code.toLowerCase()\n if (code[0] === '#') {\n var value\n if (code[1] === 'x') {\n value = parseInt(code.slice(2), 16)\n } else {\n value = Number(code.slice(1))\n }\n return fromCodePoint(value)\n } else {\n var known = KNOWN_ENTITY_NAMES[code]\n if (known) {\n return known\n }\n\n // unable to decode\n return m\n }\n })\n return text\n }\n Prism.languages.md = Prism.languages.markdown\n })(Prism)\n}\n", "// @ts-nocheck\nimport refractorC from './c.js'\nobjectivec.displayName = 'objectivec'\nobjectivec.aliases = ['objc']\n\n/** @type {import('../core.js').Syntax} */\nexport default function objectivec(Prism) {\n Prism.register(refractorC)\n Prism.languages.objectivec = Prism.languages.extend('c', {\n string: {\n pattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n operator: /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n })\n delete Prism.languages.objectivec['class-name']\n Prism.languages.objc = Prism.languages.objectivec\n}\n", "// @ts-nocheck\nperl.displayName = 'perl'\nperl.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function perl(Prism) {\n ;(function (Prism) {\n var brackets =\n /(?:\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}|\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)/\n .source\n Prism.languages.perl = {\n comment: [\n {\n // POD\n pattern: /(^\\s*)=\\w[\\s\\S]*?=cut.*/m,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n // TODO Could be nice to handle Heredoc too.\n string: [\n {\n pattern: RegExp(\n /\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*/.source +\n '(?:' +\n [\n // q/.../\n /([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,\n // q a...a\n // eslint-disable-next-line regexp/strict\n /([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source,\n // q(...)\n // q{...}\n // q[...]\n // q<...>\n brackets\n ].join('|') +\n ')'\n ),\n greedy: true\n },\n // \"...\", `...`\n {\n pattern: /(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: true\n },\n // '...'\n // FIXME Multi-line single-quoted strings are not supported as they would break variables containing '\n {\n pattern: /'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: true\n }\n ],\n regex: [\n {\n pattern: RegExp(\n /\\b(?:m|qr)(?![a-zA-Z0-9])\\s*/.source +\n '(?:' +\n [\n // m/.../\n /([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,\n // m a...a\n // eslint-disable-next-line regexp/strict\n /([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source,\n // m(...)\n // m{...}\n // m[...]\n // m<...>\n brackets\n ].join('|') +\n ')' +\n /[msixpodualngc]*/.source\n ),\n greedy: true\n },\n // The lookbehinds prevent -s from breaking\n {\n pattern: RegExp(\n /(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*/.source +\n '(?:' +\n [\n // s/.../.../\n // eslint-disable-next-line regexp/strict\n /([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/\n .source,\n // s a...a...a\n // eslint-disable-next-line regexp/strict\n /([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3/\n .source,\n // s(...)(...)\n // s{...}{...}\n // s[...][...]\n // s<...><...>\n // s(...)[...]\n brackets + /\\s*/.source + brackets\n ].join('|') +\n ')' +\n /[msixpodualngcer]*/.source\n ),\n lookbehind: true,\n greedy: true\n },\n // /.../\n // The look-ahead tries to prevent two divisions on\n // the same line from being highlighted as regex.\n // This does not support multi-line regex.\n {\n pattern:\n /\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\\b))/,\n greedy: true\n }\n ],\n // FIXME Not sure about the handling of ::, ', and #\n variable: [\n // ${^POSTMATCH}\n /[&*$@%]\\{\\^[A-Z]+\\}/,\n // $^V\n /[&*$@%]\\^[A-Z_]/,\n // ${...}\n /[&*$@%]#?(?=\\{)/,\n // $foo\n /[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+(?![\\w$]))+(?:::)*/,\n // $1\n /[&*$@%]\\d+/,\n // $_, @_, %!\n // The negative lookahead prevents from breaking the %= operator\n /(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/\n ],\n filehandle: {\n // <>, <FOO>, _\n pattern: /<(?![<=])\\S*?>|\\b_\\b/,\n alias: 'symbol'\n },\n 'v-string': {\n // v1.2, 1.2.3\n pattern: /v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,\n alias: 'string'\n },\n function: {\n pattern: /(\\bsub[ \\t]+)\\w+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,\n number:\n /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,\n operator:\n /-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\\b/,\n punctuation: /[{}[\\];(),:]/\n }\n })(Prism)\n}\n", "// @ts-nocheck\nimport refractorMarkup from './markup.js'\nmarkupTemplating.displayName = 'markup-templating'\nmarkupTemplating.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function markupTemplating(Prism) {\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n /**\n * Returns the placeholder for the given language id and index.\n *\n * @param {string} language\n * @param {string|number} index\n * @returns {string}\n */\n function getPlaceholder(language, index) {\n return '___' + language.toUpperCase() + index + '___'\n }\n Object.defineProperties((Prism.languages['markup-templating'] = {}), {\n buildPlaceholders: {\n /**\n * Tokenize all inline templating expressions matching `placeholderPattern`.\n *\n * If `replaceFilter` is provided, only matches of `placeholderPattern` for which `replaceFilter` returns\n * `true` will be replaced.\n *\n * @param {object} env The environment of the `before-tokenize` hook.\n * @param {string} language The language id.\n * @param {RegExp} placeholderPattern The matches of this pattern will be replaced by placeholders.\n * @param {(match: string) => boolean} [replaceFilter]\n */\n value: function (env, language, placeholderPattern, replaceFilter) {\n if (env.language !== language) {\n return\n }\n var tokenStack = (env.tokenStack = [])\n env.code = env.code.replace(placeholderPattern, function (match) {\n if (typeof replaceFilter === 'function' && !replaceFilter(match)) {\n return match\n }\n var i = tokenStack.length\n var placeholder\n\n // Check for existing strings\n while (\n env.code.indexOf((placeholder = getPlaceholder(language, i))) !==\n -1\n ) {\n ++i\n }\n\n // Create a sparse array\n tokenStack[i] = match\n return placeholder\n })\n\n // Switch the grammar to markup\n env.grammar = Prism.languages.markup\n }\n },\n tokenizePlaceholders: {\n /**\n * Replace placeholders with proper tokens after tokenizing.\n *\n * @param {object} env The environment of the `after-tokenize` hook.\n * @param {string} language The language id.\n */\n value: function (env, language) {\n if (env.language !== language || !env.tokenStack) {\n return\n }\n\n // Switch the grammar back\n env.grammar = Prism.languages[language]\n var j = 0\n var keys = Object.keys(env.tokenStack)\n function walkTokens(tokens) {\n for (var i = 0; i < tokens.length; i++) {\n // all placeholders are replaced already\n if (j >= keys.length) {\n break\n }\n var token = tokens[i]\n if (\n typeof token === 'string' ||\n (token.content && typeof token.content === 'string')\n ) {\n var k = keys[j]\n var t = env.tokenStack[k]\n var s = typeof token === 'string' ? token : token.content\n var placeholder = getPlaceholder(language, k)\n var index = s.indexOf(placeholder)\n if (index > -1) {\n ++j\n var before = s.substring(0, index)\n var middle = new Prism.Token(\n language,\n Prism.tokenize(t, env.grammar),\n 'language-' + language,\n t\n )\n var after = s.substring(index + placeholder.length)\n var replacement = []\n if (before) {\n replacement.push.apply(replacement, walkTokens([before]))\n }\n replacement.push(middle)\n if (after) {\n replacement.push.apply(replacement, walkTokens([after]))\n }\n if (typeof token === 'string') {\n tokens.splice.apply(tokens, [i, 1].concat(replacement))\n } else {\n token.content = replacement\n }\n }\n } else if (\n token.content /* && typeof token.content !== 'string' */\n ) {\n walkTokens(token.content)\n }\n }\n return tokens\n }\n walkTokens(env.tokens)\n }\n }\n })\n })(Prism)\n}\n", "// @ts-nocheck\nimport refractorMarkupTemplating from './markup-templating.js'\nphp.displayName = 'php'\nphp.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function php(Prism) {\n Prism.register(refractorMarkupTemplating)\n /**\n * Original by Aaron Harun: http://aahacreative.com/2012/07/31/php-syntax-highlighting-prism/\n * Modified by Miles Johnson: http://milesj.me\n * Rewritten by Tom Pavelec\n *\n * Supports PHP 5.3 - 8.0\n */\n ;(function (Prism) {\n var comment = /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/\n var constant = [\n {\n pattern: /\\b(?:false|true)\\b/i,\n alias: 'boolean'\n },\n {\n pattern: /(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,\n greedy: true,\n lookbehind: true\n },\n /\\b(?:null)\\b/i,\n /\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/\n ]\n var number =\n /\\b0b[01]+(?:_[01]+)*\\b|\\b0o[0-7]+(?:_[0-7]+)*\\b|\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b|(?:\\b\\d+(?:_\\d+)*\\.?(?:\\d+(?:_\\d+)*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i\n var operator =\n /<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/\n var punctuation = /[{}\\[\\](),:;]/\n Prism.languages.php = {\n delimiter: {\n pattern: /\\?>$|^<\\?(?:php(?=\\s)|=)?/i,\n alias: 'important'\n },\n comment: comment,\n variable: /\\$+(?:\\w+\\b|(?=\\{))/,\n package: {\n pattern:\n /(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n 'class-name-definition': {\n pattern: /(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n lookbehind: true,\n alias: 'class-name'\n },\n 'function-definition': {\n pattern: /(\\bfunction\\s+)[a-z_]\\w*(?=\\s*\\()/i,\n lookbehind: true,\n alias: 'function'\n },\n keyword: [\n {\n pattern:\n /(\\(\\s*)\\b(?:array|bool|boolean|float|int|integer|object|string)\\b(?=\\s*\\))/i,\n alias: 'type-casting',\n greedy: true,\n lookbehind: true\n },\n {\n pattern:\n /([(,?]\\s*)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string)\\b(?=\\s*\\$)/i,\n alias: 'type-hint',\n greedy: true,\n lookbehind: true\n },\n {\n pattern:\n /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|never|object|self|static|string|void)\\b/i,\n alias: 'return-type',\n greedy: true,\n lookbehind: true\n },\n {\n pattern:\n /\\b(?:array(?!\\s*\\()|bool|float|int|iterable|mixed|object|string|void)\\b/i,\n alias: 'type-declaration',\n greedy: true\n },\n {\n pattern: /(\\|\\s*)(?:false|null)\\b|\\b(?:false|null)(?=\\s*\\|)/i,\n alias: 'type-declaration',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /\\b(?:parent|self|static)(?=\\s*::)/i,\n alias: 'static-context',\n greedy: true\n },\n {\n // yield from\n pattern: /(\\byield\\s+)from\\b/i,\n lookbehind: true\n },\n // `class` is always a keyword unlike other keywords\n /\\bclass\\b/i,\n {\n // https://www.php.net/manual/en/reserved.keywords.php\n //\n // keywords cannot be preceded by \"->\"\n // the complex lookbehind means `(?<!(?:->|::)\\s*)`\n pattern:\n /((?:^|[^\\s>:]|(?:^|[^-])>|(?:^|[^:]):)\\s*)\\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\\b/i,\n lookbehind: true\n }\n ],\n 'argument-name': {\n pattern: /([(,]\\s*)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n lookbehind: true\n },\n 'class-name': [\n {\n pattern:\n /(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,\n greedy: true\n },\n {\n pattern: /(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern:\n /(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /\\b[a-z_]\\w*(?=\\s*\\$)/i,\n alias: 'type-declaration',\n greedy: true\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n alias: ['class-name-fully-qualified', 'type-declaration'],\n greedy: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /\\b[a-z_]\\w*(?=\\s*::)/i,\n alias: 'static-context',\n greedy: true\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,\n alias: ['class-name-fully-qualified', 'static-context'],\n greedy: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,\n alias: 'type-hint',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n alias: ['class-name-fully-qualified', 'type-hint'],\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n alias: 'return-type',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n alias: ['class-name-fully-qualified', 'return-type'],\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n }\n ],\n constant: constant,\n function: {\n pattern: /(^|[^\\\\\\w])\\\\?[a-z_](?:[\\w\\\\]*\\w)?(?=\\s*\\()/i,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n property: {\n pattern: /(->\\s*)\\w+/,\n lookbehind: true\n },\n number: number,\n operator: operator,\n punctuation: punctuation\n }\n var string_interpolation = {\n pattern:\n /\\{\\$(?:\\{(?:\\{[^{}]+\\}|[^{}]+)\\}|[^{}])+\\}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)?)/,\n lookbehind: true,\n inside: Prism.languages.php\n }\n var string = [\n {\n pattern: /<<<'([^']+)'[\\r\\n](?:.*[\\r\\n])*?\\1;/,\n alias: 'nowdoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n alias: 'symbol',\n inside: {\n punctuation: /^<<<'?|[';]$/\n }\n }\n }\n },\n {\n pattern:\n /<<<(?:\"([^\"]+)\"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n alias: 'symbol',\n inside: {\n punctuation: /^<<<\"?|[\";]$/\n }\n },\n interpolation: string_interpolation\n }\n },\n {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n alias: 'backtick-quoted-string',\n greedy: true\n },\n {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n alias: 'single-quoted-string',\n greedy: true\n },\n {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n alias: 'double-quoted-string',\n greedy: true,\n inside: {\n interpolation: string_interpolation\n }\n }\n ]\n Prism.languages.insertBefore('php', 'variable', {\n string: string,\n attribute: {\n pattern:\n /#\\[(?:[^\"'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*')+\\](?=\\s*[a-z$#])/im,\n greedy: true,\n inside: {\n 'attribute-content': {\n pattern: /^(#\\[)[\\s\\S]+(?=\\]$)/,\n lookbehind: true,\n // inside can appear subset of php\n inside: {\n comment: comment,\n string: string,\n 'attribute-class-name': [\n {\n pattern: /([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n alias: 'class-name',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,\n alias: ['class-name', 'class-name-fully-qualified'],\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n }\n ],\n constant: constant,\n number: number,\n operator: operator,\n punctuation: punctuation\n }\n },\n delimiter: {\n pattern: /^#\\[|\\]$/,\n alias: 'punctuation'\n }\n }\n }\n })\n Prism.hooks.add('before-tokenize', function (env) {\n if (!/<\\?/.test(env.code)) {\n return\n }\n var phpPattern =\n /<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'php',\n phpPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'php')\n })\n })(Prism)\n}\n", "// @ts-nocheck\npython.displayName = 'python'\npython.aliases = ['py']\n\n/** @type {import('../core.js').Syntax} */\nexport default function python(Prism) {\n Prism.languages.python = {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true,\n greedy: true\n },\n 'string-interpolation': {\n pattern:\n /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n greedy: true,\n inside: {\n interpolation: {\n // \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n pattern:\n /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n lookbehind: true,\n inside: {\n 'format-spec': {\n pattern: /(:)[^:(){}]+(?=\\}$)/,\n lookbehind: true\n },\n 'conversion-option': {\n pattern: //,\n alias: 'punctuation'\n },\n rest: null\n }\n },\n string: /[\\s\\S]+/\n }\n },\n 'triple-quoted-string': {\n pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n greedy: true,\n alias: 'string'\n },\n string: {\n pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n greedy: true\n },\n function: {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n lookbehind: true\n },\n 'class-name': {\n pattern: /(\\bclass\\s+)\\w+/i,\n lookbehind: true\n },\n decorator: {\n pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n lookbehind: true,\n alias: ['annotation', 'punctuation'],\n inside: {\n punctuation: /\\./\n }\n },\n keyword:\n /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n builtin:\n /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n boolean: /\\b(?:False|None|True)\\b/,\n number:\n /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n operator: /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.python['string-interpolation'].inside[\n 'interpolation'\n ].inside.rest = Prism.languages.python\n Prism.languages.py = Prism.languages.python\n}\n", "// @ts-nocheck\nr.displayName = 'r'\nr.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function r(Prism) {\n Prism.languages.r = {\n comment: /#.*/,\n string: {\n pattern: /(['\"])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'percent-operator': {\n // Includes user-defined operators\n // and %%, %*%, %/%, %in%, %o%, %x%\n pattern: /%[^%\\s]*%/,\n alias: 'operator'\n },\n boolean: /\\b(?:FALSE|TRUE)\\b/,\n ellipsis: /\\.\\.(?:\\.|\\d+)/,\n number: [\n /\\b(?:Inf|NaN)\\b/,\n /(?:\\b0x[\\dA-Fa-f]+(?:\\.\\d*)?|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[EePp][+-]?\\d+)?[iL]?/\n ],\n keyword:\n /\\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\\b/,\n operator: /->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\\|\\|?|[+*\\/^$@~]/,\n punctuation: /[(){}\\[\\],;]/\n }\n}\n", "// @ts-nocheck\nimport refractorClike from './clike.js'\nruby.displayName = 'ruby'\nruby.aliases = ['rb']\n\n/** @type {import('../core.js').Syntax} */\nexport default function ruby(Prism) {\n Prism.register(refractorClike)\n /**\n * Original by Samuel Flores\n *\n * Adds the following new token classes:\n * constant, builtin, variable, symbol, regex\n */\n ;(function (Prism) {\n Prism.languages.ruby = Prism.languages.extend('clike', {\n comment: {\n pattern: /#.*|^=begin\\s[\\s\\S]*?^=end/m,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:class|module)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+|\\b[A-Z_]\\w*(?=\\s*\\.\\s*new\\b)/,\n lookbehind: true,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword:\n /\\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/,\n operator:\n /\\.{2,3}|&\\.|===|<?=>|[!=]?~|(?:&&|\\|\\||<<|>>|\\*\\*|[+\\-*/%<>!^&|=])=?|[?:]/,\n punctuation: /[(){}[\\].,;]/\n })\n Prism.languages.insertBefore('ruby', 'operator', {\n 'double-colon': {\n pattern: /::/,\n alias: 'punctuation'\n }\n })\n var interpolation = {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)#\\{(?:[^{}]|\\{[^{}]*\\})*\\}/,\n lookbehind: true,\n inside: {\n content: {\n pattern: /^(#\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: 'punctuation'\n }\n }\n }\n delete Prism.languages.ruby.function\n var percentExpression =\n '(?:' +\n [\n /([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,\n /\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)/.source,\n /\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}/.source,\n /\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]/.source,\n /<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>/.source\n ].join('|') +\n ')'\n var symbolName =\n /(?:\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)/\n .source\n Prism.languages.insertBefore('ruby', 'keyword', {\n 'regex-literal': [\n {\n pattern: RegExp(\n /%r/.source + percentExpression + /[egimnosux]{0,6}/.source\n ),\n greedy: true,\n inside: {\n interpolation: interpolation,\n regex: /[\\s\\S]+/\n }\n },\n {\n pattern:\n /(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[egimnosux]{0,6}(?=\\s*(?:$|[\\r\\n,.;})#]))/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: interpolation,\n regex: /[\\s\\S]+/\n }\n }\n ],\n variable: /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n symbol: [\n {\n pattern: RegExp(/(^|[^:]):/.source + symbolName),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: RegExp(\n /([\\r\\n{(,][ \\t]*)/.source + symbolName + /(?=:(?!:))/.source\n ),\n lookbehind: true,\n greedy: true\n }\n ],\n 'method-definition': {\n pattern: /(\\bdef\\s+)\\w+(?:\\s*\\.\\s*\\w+)?/,\n lookbehind: true,\n inside: {\n function: /\\b\\w+$/,\n keyword: /^self\\b/,\n 'class-name': /^\\w+/,\n punctuation: /\\./\n }\n }\n })\n Prism.languages.insertBefore('ruby', 'string', {\n 'string-literal': [\n {\n pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),\n greedy: true,\n inside: {\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern:\n /(\"|')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,\n greedy: true,\n inside: {\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: /<<[-~]?([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<[-~]?[a-z_]\\w*|\\b[a-z_]\\w*$/i,\n inside: {\n symbol: /\\b\\w+/,\n punctuation: /^<<[-~]?/\n }\n },\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: /<<[-~]?'([a-z_]\\w*)'[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<[-~]?'[a-z_]\\w*'|\\b[a-z_]\\w*$/i,\n inside: {\n symbol: /\\b\\w+/,\n punctuation: /^<<[-~]?'|'$/\n }\n },\n string: /[\\s\\S]+/\n }\n }\n ],\n 'command-literal': [\n {\n pattern: RegExp(/%x/.source + percentExpression),\n greedy: true,\n inside: {\n interpolation: interpolation,\n command: {\n pattern: /[\\s\\S]+/,\n alias: 'string'\n }\n }\n },\n {\n pattern: /`(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|[^\\\\`#\\r\\n])*`/,\n greedy: true,\n inside: {\n interpolation: interpolation,\n command: {\n pattern: /[\\s\\S]+/,\n alias: 'string'\n }\n }\n }\n ]\n })\n delete Prism.languages.ruby.string\n Prism.languages.insertBefore('ruby', 'number', {\n builtin:\n /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\\b/,\n constant: /\\b[A-Z][A-Z0-9_]*(?:[?!]|\\b)/\n })\n Prism.languages.rb = Prism.languages.ruby\n })(Prism)\n}\n", "// @ts-nocheck\nrust.displayName = 'rust'\nrust.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function rust(Prism) {\n ;(function (Prism) {\n var multilineComment = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source\n for (var i = 0; i < 2; i++) {\n // support 4 levels of nested comments\n multilineComment = multilineComment.replace(/<self>/g, function () {\n return multilineComment\n })\n }\n multilineComment = multilineComment.replace(/<self>/g, function () {\n return /[^\\s\\S]/.source\n })\n Prism.languages.rust = {\n comment: [\n {\n pattern: RegExp(/(^|[^\\\\])/.source + multilineComment),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,\n greedy: true\n },\n char: {\n pattern:\n /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,\n greedy: true\n },\n attribute: {\n pattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,\n greedy: true,\n alias: 'attr-name',\n inside: {\n string: null // see below\n }\n },\n\n // Closure params should not be confused with bitwise OR |\n 'closure-params': {\n pattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,\n lookbehind: true,\n greedy: true,\n inside: {\n 'closure-punctuation': {\n pattern: /^\\||\\|$/,\n alias: 'punctuation'\n },\n rest: null // see below\n }\n },\n\n 'lifetime-annotation': {\n pattern: /'\\w+/,\n alias: 'symbol'\n },\n 'fragment-specifier': {\n pattern: /(\\$\\w+:)[a-z]+/,\n lookbehind: true,\n alias: 'punctuation'\n },\n variable: /\\$\\w+/,\n 'function-definition': {\n pattern: /(\\bfn\\s+)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n 'type-definition': {\n pattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,\n lookbehind: true,\n alias: 'class-name'\n },\n 'module-declaration': [\n {\n pattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,\n lookbehind: true,\n alias: 'namespace'\n },\n {\n pattern:\n /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,\n lookbehind: true,\n alias: 'namespace',\n inside: {\n punctuation: /::/\n }\n }\n ],\n keyword: [\n // https://github.com/rust-lang/reference/blob/master/src/keywords.md\n /\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n // primitives and str\n // https://doc.rust-lang.org/stable/rust-by-example/primitives.html\n /\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/\n ],\n // functions can technically start with an upper-case letter, but this will introduce a lot of false positives\n // and Rust's naming conventions recommend snake_case anyway.\n // https://doc.rust-lang.org/1.0.0/style/style/naming/README.html\n function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,\n macro: {\n pattern: /\\b\\w+!/,\n alias: 'property'\n },\n constant: /\\b[A-Z_][A-Z_\\d]+\\b/,\n 'class-name': /\\b[A-Z]\\w*\\b/,\n namespace: {\n pattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,\n inside: {\n punctuation: /::/\n }\n },\n // Hex, oct, bin, dec numbers with visual separators and type suffix\n number:\n /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,\n boolean: /\\b(?:false|true)\\b/,\n punctuation: /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,\n operator: /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/\n }\n Prism.languages.rust['closure-params'].inside.rest = Prism.languages.rust\n Prism.languages.rust['attribute'].inside['string'] =\n Prism.languages.rust['string']\n })(Prism)\n}\n", "// @ts-nocheck\nimport refractorCss from './css.js'\nsass.displayName = 'sass'\nsass.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function sass(Prism) {\n Prism.register(refractorCss)\n ;(function (Prism) {\n Prism.languages.sass = Prism.languages.extend('css', {\n // Sass comments don't need to be closed, only indented\n comment: {\n pattern: /^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t].+)*/m,\n lookbehind: true,\n greedy: true\n }\n })\n Prism.languages.insertBefore('sass', 'atrule', {\n // We want to consume the whole line\n 'atrule-line': {\n // Includes support for = and + shortcuts\n pattern: /^(?:[ \\t]*)[@+=].+/m,\n greedy: true,\n inside: {\n atrule: /(?:@[\\w-]+|[+=])/\n }\n }\n })\n delete Prism.languages.sass.atrule\n var variable = /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n var operator = [\n /[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|not|or)\\b/,\n {\n pattern: /(\\s)-(?=\\s)/,\n lookbehind: true\n }\n ]\n Prism.languages.insertBefore('sass', 'property', {\n // We want to consume the whole line\n 'variable-line': {\n pattern: /^[ \\t]*\\$.+/m,\n greedy: true,\n inside: {\n punctuation: /:/,\n variable: variable,\n operator: operator\n }\n },\n // We want to consume the whole line\n 'property-line': {\n pattern: /^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s].*)/m,\n greedy: true,\n inside: {\n property: [\n /[^:\\s]+(?=\\s*:)/,\n {\n pattern: /(:)[^:\\s]+/,\n lookbehind: true\n }\n ],\n punctuation: /:/,\n variable: variable,\n operator: operator,\n important: Prism.languages.sass.important\n }\n }\n })\n delete Prism.languages.sass.property\n delete Prism.languages.sass.important\n\n // Now that whole lines for other patterns are consumed,\n // what's left should be selectors\n Prism.languages.insertBefore('sass', 'punctuation', {\n selector: {\n pattern:\n /^([ \\t]*)\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*)*/m,\n lookbehind: true,\n greedy: true\n }\n })\n })(Prism)\n}\n", "// @ts-nocheck\nimport refractorCss from './css.js'\nscss.displayName = 'scss'\nscss.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function scss(Prism) {\n Prism.register(refractorCss)\n Prism.languages.scss = Prism.languages.extend('css', {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true\n },\n atrule: {\n pattern: /@[\\w-](?:\\([^()]+\\)|[^()\\s]|\\s+(?!\\s))*?(?=\\s+[{;])/,\n inside: {\n rule: /@[\\w-]+/\n // See rest below\n }\n },\n\n // url, compassified\n url: /(?:[-a-z]+-)?url(?=\\()/i,\n // CSS selector regex is not appropriate for Sass\n // since there can be lot more things (var, @ directive, nesting..)\n // a selector must start at the end of a property or after a brace (end of other rules or nesting)\n // it can contain some characters that aren't used for defining rules or end of selector, & (parent selector), or interpolated variable\n // the end of a selector is found when there is no rules in it ( {} or {\\s}) or if there is a property (because an interpolated var\n // can \"pass\" as a selector- e.g: proper#{$erty})\n // this one was hard to do, so please be careful if you edit this one :)\n selector: {\n // Initial look-ahead is used to prevent matching of blank selectors\n pattern:\n /(?=\\S)[^@;{}()]?(?:[^@;{}()\\s]|\\s+(?!\\s)|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}][^:{}]*[:{][^}]))/,\n inside: {\n parent: {\n pattern: /&/,\n alias: 'important'\n },\n placeholder: /%[-\\w]+/,\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n },\n property: {\n pattern: /(?:[-\\w]|\\$[-\\w]|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,\n inside: {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n }\n })\n Prism.languages.insertBefore('scss', 'atrule', {\n keyword: [\n /@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\\b/i,\n {\n pattern: /( )(?:from|through)(?= )/,\n lookbehind: true\n }\n ]\n })\n Prism.languages.insertBefore('scss', 'important', {\n // var and interpolated vars\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n })\n Prism.languages.insertBefore('scss', 'function', {\n 'module-modifier': {\n pattern: /\\b(?:as|hide|show|with)\\b/i,\n alias: 'keyword'\n },\n placeholder: {\n pattern: /%[-\\w]+/,\n alias: 'selector'\n },\n statement: {\n pattern: /\\B!(?:default|optional)\\b/i,\n alias: 'keyword'\n },\n boolean: /\\b(?:false|true)\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n },\n operator: {\n pattern: /(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|not|or)(?=\\s)/,\n lookbehind: true\n }\n })\n Prism.languages.scss['atrule'].inside.rest = Prism.languages.scss\n}\n", "// @ts-nocheck\nsql.displayName = 'sql'\nsql.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function sql(Prism) {\n Prism.languages.sql = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: true\n },\n variable: [\n {\n pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n greedy: true\n },\n /@[\\w.$]+/\n ],\n string: {\n pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n greedy: true,\n lookbehind: true\n },\n identifier: {\n pattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /^`|`$/\n }\n },\n function:\n /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,\n // Should we highlight user defined functions too?\n keyword:\n /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n boolean: /\\b(?:FALSE|NULL|TRUE)\\b/i,\n number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n operator:\n /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n punctuation: /[;[\\]()`,.]/\n }\n}\n", "// @ts-nocheck\nswift.displayName = 'swift'\nswift.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function swift(Prism) {\n Prism.languages.swift = {\n comment: {\n // Nested comments are supported up to 2 levels\n pattern:\n /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,\n lookbehind: true,\n greedy: true\n },\n 'string-literal': [\n // https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html\n {\n pattern: RegExp(\n /(^|[^\"#])/.source +\n '(?:' +\n // single-line string\n /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/\n .source +\n '|' +\n // multi-line string\n /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/\n .source +\n ')' +\n /(?![\"#])/.source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n lookbehind: true,\n inside: null // see below\n },\n\n 'interpolation-punctuation': {\n pattern: /^\\)|\\\\\\($/,\n alias: 'punctuation'\n },\n punctuation: /\\\\(?=[\\r\\n])/,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: RegExp(\n /(^|[^\"#])(#+)/.source +\n '(?:' +\n // single-line string\n /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/\n .source +\n '|' +\n // multi-line string\n /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source +\n ')' +\n '\\\\2'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n lookbehind: true,\n inside: null // see below\n },\n\n 'interpolation-punctuation': {\n pattern: /^\\)|\\\\#+\\($/,\n alias: 'punctuation'\n },\n string: /[\\s\\S]+/\n }\n }\n ],\n directive: {\n // directives with conditions\n pattern: RegExp(\n /#/.source +\n '(?:' +\n (/(?:elseif|if)\\b/.source +\n '(?:[ \\t]*' +\n // This regex is a little complex. It's equivalent to this:\n // (?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*<round>)?|<round>)(?:[ \\t]*(?:&&|\\|\\|))?\n // where <round> is a general parentheses expression.\n /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/\n .source +\n ')+') +\n '|' +\n /(?:else|endif)\\b/.source +\n ')'\n ),\n alias: 'property',\n inside: {\n 'directive-name': /^#\\w+/,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b\\d+(?:\\.\\d+)*\\b/,\n operator: /!|&&|\\|\\||[<>]=?/,\n punctuation: /[(),]/\n }\n },\n literal: {\n pattern:\n /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,\n alias: 'constant'\n },\n 'other-directive': {\n pattern: /#\\w+\\b/,\n alias: 'property'\n },\n attribute: {\n pattern: /@\\w+/,\n alias: 'atrule'\n },\n 'function-definition': {\n pattern: /(\\bfunc\\s+)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n label: {\n // https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141\n pattern:\n /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,\n lookbehind: true,\n alias: 'important'\n },\n keyword:\n /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n nil: {\n pattern: /\\bnil\\b/,\n alias: 'constant'\n },\n 'short-argument': /\\$\\d+\\b/,\n omit: {\n pattern: /\\b_\\b/,\n alias: 'keyword'\n },\n number:\n /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n // A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.\n 'class-name': /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n constant: /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n // Operators are generic in Swift. Developers can even create new operators (e.g. +++).\n // https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481\n // This regex only supports ASCII operators.\n operator: /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,\n punctuation: /[{}[\\]();,.:\\\\]/\n }\n Prism.languages.swift['string-literal'].forEach(function (rule) {\n rule.inside['interpolation'].inside = Prism.languages.swift\n })\n}\n", "// @ts-nocheck\nimport refractorJavascript from './javascript.js'\ntypescript.displayName = 'typescript'\ntypescript.aliases = ['ts']\n\n/** @type {import('../core.js').Syntax} */\nexport default function typescript(Prism) {\n Prism.register(refractorJavascript)\n ;(function (Prism) {\n Prism.languages.typescript = Prism.languages.extend('javascript', {\n 'class-name': {\n pattern:\n /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n\n builtin:\n /\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/\n })\n\n // The keywords TypeScript adds to JavaScript\n Prism.languages.typescript.keyword.push(\n /\\b(?:abstract|declare|is|keyof|readonly|require)\\b/,\n // keywords that have to be followed by an identifier\n /\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/,\n // This is for `import type *, {}`\n /\\btype\\b(?=\\s*(?:[\\{*]|$))/\n )\n\n // doesn't work with TS because TS is too complex\n delete Prism.languages.typescript['parameter']\n delete Prism.languages.typescript['literal-property']\n\n // a version of typescript specifically for highlighting types\n var typeInside = Prism.languages.extend('typescript', {})\n delete typeInside['class-name']\n Prism.languages.typescript['class-name'].inside = typeInside\n Prism.languages.insertBefore('typescript', 'function', {\n decorator: {\n pattern: /@[$\\w\\xA0-\\uFFFF]+/,\n inside: {\n at: {\n pattern: /^@/,\n alias: 'operator'\n },\n function: /^[\\s\\S]+/\n }\n },\n 'generic-function': {\n // e.g. foo<T extends \"bar\" | \"baz\">( ...\n pattern:\n /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,\n greedy: true,\n inside: {\n function: /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,\n generic: {\n pattern: /<[\\s\\S]+/,\n // everything after the first <\n alias: 'class-name',\n inside: typeInside\n }\n }\n }\n })\n Prism.languages.ts = Prism.languages.typescript\n })(Prism)\n}\n", "// @ts-nocheck\nbasic.displayName = 'basic'\nbasic.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function basic(Prism) {\n Prism.languages.basic = {\n comment: {\n pattern: /(?:!|REM\\b).+/i,\n inside: {\n keyword: /^REM/i\n }\n },\n string: {\n pattern: /\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^\\w +\\-.])*\"/,\n greedy: true\n },\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n keyword:\n /\\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\\$|\\b)/i,\n function:\n /\\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\\$|\\b)/i,\n operator: /<[=>]?|>=?|[+\\-*\\/^=&]|\\b(?:AND|EQV|IMP|NOT|OR|XOR)\\b/i,\n punctuation: /[,;:()]/\n }\n}\n", "// @ts-nocheck\nimport refractorBasic from './basic.js'\nvbnet.displayName = 'vbnet'\nvbnet.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function vbnet(Prism) {\n Prism.register(refractorBasic)\n Prism.languages.vbnet = Prism.languages.extend('basic', {\n comment: [\n {\n pattern: /(?:!|REM\\b).+/i,\n inside: {\n keyword: /^REM/i\n }\n },\n {\n pattern: /(^|[^\\\\:])'.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /(^|[^\"])\"(?:\"\"|[^\"])*\"(?!\")/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /(?:\\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\\$|\\b)/i,\n punctuation: /[,;:(){}]/\n })\n}\n", "/**\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element} Element\n */\n\nconst search = /[#.]/g\n\n/**\n * Create a hast element from a simple CSS selector.\n *\n * @template {string} Selector\n * Type of selector.\n * @template {string} [DefaultTagName='div']\n * Type of default tag name.\n * @param {Selector | null | undefined} [selector]\n * Simple CSS selector.\n *\n * Can contain a tag name (`foo`), classes (`.bar`), and an ID (`#baz`).\n * Multiple classes are allowed.\n * Uses the last ID if multiple IDs are found.\n * @param {DefaultTagName | null | undefined} [defaultTagName='div']\n * Tag name to use if `selector` does not specify one (default: `'div'`).\n * @returns {Element & {tagName: import('./extract.js').ExtractTagName<Selector, DefaultTagName>}}\n * Built element.\n */\nexport function parseSelector(selector, defaultTagName) {\n const value = selector || ''\n /** @type {Properties} */\n const props = {}\n let start = 0\n /** @type {string | undefined} */\n let previous\n /** @type {string | undefined} */\n let tagName\n\n while (start < value.length) {\n search.lastIndex = start\n const match = search.exec(value)\n const subvalue = value.slice(start, match ? match.index : value.length)\n\n if (subvalue) {\n if (!previous) {\n tagName = subvalue\n } else if (previous === '#') {\n props.id = subvalue\n } else if (Array.isArray(props.className)) {\n props.className.push(subvalue)\n } else {\n props.className = [subvalue]\n }\n\n start += subvalue.length\n }\n\n if (match) {\n previous = match[0]\n start++\n }\n }\n\n return {\n type: 'element',\n // @ts-expect-error: fine.\n tagName: tagName || defaultTagName || 'div',\n properties: props,\n children: []\n }\n}\n", "/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Content} Content\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('property-information').Info} Info\n * @typedef {import('property-information').Schema} Schema\n */\n\n/**\n * @typedef {Content | Root} Node\n * Any concrete `hast` node.\n * @typedef {Root | Element} HResult\n * Result from a `h` (or `s`) call.\n *\n * @typedef {string | number} HStyleValue\n * Value for a CSS style field.\n * @typedef {Record<string, HStyleValue>} HStyle\n * Supported value of a `style` prop.\n * @typedef {string | number | boolean | null | undefined} HPrimitiveValue\n * Primitive property value.\n * @typedef {Array<string | number>} HArrayValue\n * List of property values for space- or comma separated values (such as `className`).\n * @typedef {HPrimitiveValue | HArrayValue} HPropertyValue\n * Primitive value or list value.\n * @typedef {{[property: string]: HPropertyValue | HStyle}} HProperties\n * Acceptable value for element properties.\n *\n * @typedef {string | number | null | undefined} HPrimitiveChild\n * Primitive children, either ignored (nullish), or turned into text nodes.\n * @typedef {Array<Node | HPrimitiveChild>} HArrayChild\n * List of children.\n * @typedef {Node | HPrimitiveChild | HArrayChild} HChild\n * Acceptable child value.\n */\n\nimport {find, normalize} from 'property-information'\nimport {parseSelector} from 'hast-util-parse-selector'\nimport {parse as spaces} from 'space-separated-tokens'\nimport {parse as commas} from 'comma-separated-tokens'\n\nconst buttonTypes = new Set(['menu', 'submit', 'reset', 'button'])\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Schema} schema\n * @param {string} defaultTagName\n * @param {Array<string>} [caseSensitive]\n */\nexport function core(schema, defaultTagName, caseSensitive) {\n const adjust = caseSensitive && createAdjustMap(caseSensitive)\n\n const h =\n /**\n * @type {{\n * (): Root\n * (selector: null | undefined, ...children: Array<HChild>): Root\n * (selector: string, properties?: HProperties, ...children: Array<HChild>): Element\n * (selector: string, ...children: Array<HChild>): Element\n * }}\n */\n (\n /**\n * Hyperscript compatible DSL for creating virtual hast trees.\n *\n * @param {string | null} [selector]\n * @param {HProperties | HChild} [properties]\n * @param {Array<HChild>} children\n * @returns {HResult}\n */\n function (selector, properties, ...children) {\n let index = -1\n /** @type {HResult} */\n let node\n\n if (selector === undefined || selector === null) {\n node = {type: 'root', children: []}\n // @ts-expect-error Properties are not supported for roots.\n children.unshift(properties)\n } else {\n node = parseSelector(selector, defaultTagName)\n // Normalize the name.\n node.tagName = node.tagName.toLowerCase()\n if (adjust && own.call(adjust, node.tagName)) {\n node.tagName = adjust[node.tagName]\n }\n\n // Handle props.\n if (isProperties(properties, node.tagName)) {\n /** @type {string} */\n let key\n\n for (key in properties) {\n if (own.call(properties, key)) {\n // @ts-expect-error `node.properties` is set.\n addProperty(schema, node.properties, key, properties[key])\n }\n }\n } else {\n children.unshift(properties)\n }\n }\n\n // Handle children.\n while (++index < children.length) {\n addChild(node.children, children[index])\n }\n\n if (node.type === 'element' && node.tagName === 'template') {\n node.content = {type: 'root', children: node.children}\n node.children = []\n }\n\n return node\n }\n )\n\n return h\n}\n\n/**\n * @param {HProperties | HChild} value\n * @param {string} name\n * @returns {value is HProperties}\n */\nfunction isProperties(value, name) {\n if (\n value === null ||\n value === undefined ||\n typeof value !== 'object' ||\n Array.isArray(value)\n ) {\n return false\n }\n\n if (name === 'input' || !value.type || typeof value.type !== 'string') {\n return true\n }\n\n if ('children' in value && Array.isArray(value.children)) {\n return false\n }\n\n if (name === 'button') {\n return buttonTypes.has(value.type.toLowerCase())\n }\n\n return !('value' in value)\n}\n\n/**\n * @param {Schema} schema\n * @param {Properties} properties\n * @param {string} key\n * @param {HStyle | HPropertyValue} value\n * @returns {void}\n */\nfunction addProperty(schema, properties, key, value) {\n const info = find(schema, key)\n let index = -1\n /** @type {HPropertyValue} */\n let result\n\n // Ignore nullish and NaN values.\n if (value === undefined || value === null) return\n\n if (typeof value === 'number') {\n // Ignore NaN.\n if (Number.isNaN(value)) return\n\n result = value\n }\n // Booleans.\n else if (typeof value === 'boolean') {\n result = value\n }\n // Handle list values.\n else if (typeof value === 'string') {\n if (info.spaceSeparated) {\n result = spaces(value)\n } else if (info.commaSeparated) {\n result = commas(value)\n } else if (info.commaOrSpaceSeparated) {\n result = spaces(commas(value).join(' '))\n } else {\n result = parsePrimitive(info, info.property, value)\n }\n } else if (Array.isArray(value)) {\n result = value.concat()\n } else {\n result = info.property === 'style' ? style(value) : String(value)\n }\n\n if (Array.isArray(result)) {\n /** @type {Array<string | number>} */\n const finalResult = []\n\n while (++index < result.length) {\n // @ts-expect-error Assume no booleans in array.\n finalResult[index] = parsePrimitive(info, info.property, result[index])\n }\n\n result = finalResult\n }\n\n // Class names (which can be added both on the `selector` and here).\n if (info.property === 'className' && Array.isArray(properties.className)) {\n // @ts-expect-error Assume no booleans in `className`.\n result = properties.className.concat(result)\n }\n\n properties[info.property] = result\n}\n\n/**\n * @param {Array<Content>} nodes\n * @param {HChild} value\n * @returns {void}\n */\nfunction addChild(nodes, value) {\n let index = -1\n\n if (value === undefined || value === null) {\n // Empty.\n } else if (typeof value === 'string' || typeof value === 'number') {\n nodes.push({type: 'text', value: String(value)})\n } else if (Array.isArray(value)) {\n while (++index < value.length) {\n addChild(nodes, value[index])\n }\n } else if (typeof value === 'object' && 'type' in value) {\n if (value.type === 'root') {\n addChild(nodes, value.children)\n } else {\n nodes.push(value)\n }\n } else {\n throw new Error('Expected node, nodes, or string, got `' + value + '`')\n }\n}\n\n/**\n * Parse a single primitives.\n *\n * @param {Info} info\n * @param {string} name\n * @param {HPrimitiveValue} value\n * @returns {HPrimitiveValue}\n */\nfunction parsePrimitive(info, name, value) {\n if (typeof value === 'string') {\n if (info.number && value && !Number.isNaN(Number(value))) {\n return Number(value)\n }\n\n if (\n (info.boolean || info.overloadedBoolean) &&\n (value === '' || normalize(value) === normalize(name))\n ) {\n return true\n }\n }\n\n return value\n}\n\n/**\n * Serialize a `style` object as a string.\n *\n * @param {HStyle} value\n * Style object.\n * @returns {string}\n * CSS string.\n */\nfunction style(value) {\n /** @type {Array<string>} */\n const result = []\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n result.push([key, value[key]].join(': '))\n }\n }\n\n return result.join('; ')\n}\n\n/**\n * Create a map to adjust casing.\n *\n * @param {Array<string>} values\n * List of properly cased keys.\n * @returns {Record<string, string>}\n * Map of lowercase keys to uppercase keys.\n */\nfunction createAdjustMap(values) {\n /** @type {Record<string, string>} */\n const result = {}\n let index = -1\n\n while (++index < values.length) {\n result[values[index].toLowerCase()] = values[index]\n }\n\n return result\n}\n", "/**\n * @typedef {import('./core.js').HChild} Child\n * Acceptable child value.\n * @typedef {import('./core.js').HProperties} Properties\n * Acceptable value for element properties.\n * @typedef {import('./core.js').HResult} Result\n * Result from a `h` (or `s`) call.\n *\n * @typedef {import('./jsx-classic.js').Element} h.JSX.Element\n * @typedef {import('./jsx-classic.js').IntrinsicAttributes} h.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic.js').IntrinsicElements} h.JSX.IntrinsicElements\n * @typedef {import('./jsx-classic.js').ElementChildrenAttribute} h.JSX.ElementChildrenAttribute\n */\n\nimport {html} from 'property-information'\nimport {core} from './core.js'\n\nexport const h = core(html, 'div')\n", "export const svgCaseSensitiveTagNames = [\n 'altGlyph',\n 'altGlyphDef',\n 'altGlyphItem',\n 'animateColor',\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'glyphRef',\n 'linearGradient',\n 'radialGradient',\n 'solidColor',\n 'textArea',\n 'textPath'\n]\n", "/**\n * @typedef {import('./core.js').HChild} Child\n * Acceptable child value.\n * @typedef {import('./core.js').HProperties} Properties\n * Acceptable value for element properties.\n * @typedef {import('./core.js').HResult} Result\n * Result from a `h` (or `s`) call.\n *\n * @typedef {import('./jsx-classic.js').Element} s.JSX.Element\n * @typedef {import('./jsx-classic.js').IntrinsicAttributes} s.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic.js').IntrinsicElements} s.JSX.IntrinsicElements\n * @typedef {import('./jsx-classic.js').ElementChildrenAttribute} s.JSX.ElementChildrenAttribute\n */\n\nimport {svg} from 'property-information'\nimport {core} from './core.js'\nimport {svgCaseSensitiveTagNames} from './svg-case-sensitive-tag-names.js'\n\nexport const s = core(svg, 'g', svgCaseSensitiveTagNames)\n", "/**\n * Map of invalid numeric character references to their replacements, according to HTML.\n *\n * @type {Record<number, string>}\n */\nexport const characterReferenceInvalid = {\n 0: '\uFFFD',\n 128: '\u20AC',\n 130: '\u201A',\n 131: '\u0192',\n 132: '\u201E',\n 133: '\u2026',\n 134: '\u2020',\n 135: '\u2021',\n 136: '\u02C6',\n 137: '\u2030',\n 138: '\u0160',\n 139: '\u2039',\n 140: '\u0152',\n 142: '\u017D',\n 145: '\u2018',\n 146: '\u2019',\n 147: '\u201C',\n 148: '\u201D',\n 149: '\u2022',\n 150: '\u2013',\n 151: '\u2014',\n 152: '\u02DC',\n 153: '\u2122',\n 154: '\u0161',\n 155: '\u203A',\n 156: '\u0153',\n 158: '\u017E',\n 159: '\u0178'\n}\n", "/**\n * Check if the given character code, or the character code at the first\n * character, is decimal.\n *\n * @param {string|number} character\n * @returns {boolean} Whether `character` is a decimal\n */\nexport function isDecimal(character) {\n const code =\n typeof character === 'string' ? character.charCodeAt(0) : character\n\n return code >= 48 && code <= 57 /* 0-9 */\n}\n", "/**\n * Check if the given character code, or the character code at the first\n * character, is hexadecimal.\n *\n * @param {string|number} character\n * @returns {boolean} Whether `character` is hexadecimal\n */\nexport function isHexadecimal(character) {\n const code =\n typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 /* a */ && code <= 102) /* z */ ||\n (code >= 65 /* A */ && code <= 70) /* Z */ ||\n (code >= 48 /* A */ && code <= 57) /* Z */\n )\n}\n", "/**\n * Check if the given character code, or the character code at the first\n * character, is alphabetical.\n *\n * @param {string|number} character\n * @returns {boolean} Whether `character` is alphabetical.\n */\nexport function isAlphabetical(character) {\n const code =\n typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 && code <= 122) /* a-z */ ||\n (code >= 65 && code <= 90) /* A-Z */\n )\n}\n", "import {isAlphabetical} from 'is-alphabetical'\nimport {isDecimal} from 'is-decimal'\n\n/**\n * Check if the given character code, or the character code at the first\n * character, is alphanumerical.\n *\n * @param {string|number} character\n * @returns {boolean} Whether `character` is alphanumerical.\n */\nexport function isAlphanumerical(character) {\n return isAlphabetical(character) || isDecimal(character)\n}\n", "/**\n * Map of named character references.\n *\n * @type {Record<string, string>}\n */\nexport const characterEntities = {\n AElig: '\u00C6',\n AMP: '&',\n Aacute: '\u00C1',\n Abreve: '\u0102',\n Acirc: '\u00C2',\n Acy: '\u0410',\n Afr: '\uD835\uDD04',\n Agrave: '\u00C0',\n Alpha: '\u0391',\n Amacr: '\u0100',\n And: '\u2A53',\n Aogon: '\u0104',\n Aopf: '\uD835\uDD38',\n ApplyFunction: '\u2061',\n Aring: '\u00C5',\n Ascr: '\uD835\uDC9C',\n Assign: '\u2254',\n Atilde: '\u00C3',\n Auml: '\u00C4',\n Backslash: '\u2216',\n Barv: '\u2AE7',\n Barwed: '\u2306',\n Bcy: '\u0411',\n Because: '\u2235',\n Bernoullis: '\u212C',\n Beta: '\u0392',\n Bfr: '\uD835\uDD05',\n Bopf: '\uD835\uDD39',\n Breve: '\u02D8',\n Bscr: '\u212C',\n Bumpeq: '\u224E',\n CHcy: '\u0427',\n COPY: '\u00A9',\n Cacute: '\u0106',\n Cap: '\u22D2',\n CapitalDifferentialD: '\u2145',\n Cayleys: '\u212D',\n Ccaron: '\u010C',\n Ccedil: '\u00C7',\n Ccirc: '\u0108',\n Cconint: '\u2230',\n Cdot: '\u010A',\n Cedilla: '\u00B8',\n CenterDot: '\u00B7',\n Cfr: '\u212D',\n Chi: '\u03A7',\n CircleDot: '\u2299',\n CircleMinus: '\u2296',\n CirclePlus: '\u2295',\n CircleTimes: '\u2297',\n ClockwiseContourIntegral: '\u2232',\n CloseCurlyDoubleQuote: '\u201D',\n CloseCurlyQuote: '\u2019',\n Colon: '\u2237',\n Colone: '\u2A74',\n Congruent: '\u2261',\n Conint: '\u222F',\n ContourIntegral: '\u222E',\n Copf: '\u2102',\n Coproduct: '\u2210',\n CounterClockwiseContourIntegral: '\u2233',\n Cross: '\u2A2F',\n Cscr: '\uD835\uDC9E',\n Cup: '\u22D3',\n CupCap: '\u224D',\n DD: '\u2145',\n DDotrahd: '\u2911',\n DJcy: '\u0402',\n DScy: '\u0405',\n DZcy: '\u040F',\n Dagger: '\u2021',\n Darr: '\u21A1',\n Dashv: '\u2AE4',\n Dcaron: '\u010E',\n Dcy: '\u0414',\n Del: '\u2207',\n Delta: '\u0394',\n Dfr: '\uD835\uDD07',\n DiacriticalAcute: '\u00B4',\n DiacriticalDot: '\u02D9',\n DiacriticalDoubleAcute: '\u02DD',\n DiacriticalGrave: '`',\n DiacriticalTilde: '\u02DC',\n Diamond: '\u22C4',\n DifferentialD: '\u2146',\n Dopf: '\uD835\uDD3B',\n Dot: '\u00A8',\n DotDot: '\u20DC',\n DotEqual: '\u2250',\n DoubleContourIntegral: '\u222F',\n DoubleDot: '\u00A8',\n DoubleDownArrow: '\u21D3',\n DoubleLeftArrow: '\u21D0',\n DoubleLeftRightArrow: '\u21D4',\n DoubleLeftTee: '\u2AE4',\n DoubleLongLeftArrow: '\u27F8',\n DoubleLongLeftRightArrow: '\u27FA',\n DoubleLongRightArrow: '\u27F9',\n DoubleRightArrow: '\u21D2',\n DoubleRightTee: '\u22A8',\n DoubleUpArrow: '\u21D1',\n DoubleUpDownArrow: '\u21D5',\n DoubleVerticalBar: '\u2225',\n DownArrow: '\u2193',\n DownArrowBar: '\u2913',\n DownArrowUpArrow: '\u21F5',\n DownBreve: '\u0311',\n DownLeftRightVector: '\u2950',\n DownLeftTeeVector: '\u295E',\n DownLeftVector: '\u21BD',\n DownLeftVectorBar: '\u2956',\n DownRightTeeVector: '\u295F',\n DownRightVector: '\u21C1',\n DownRightVectorBar: '\u2957',\n DownTee: '\u22A4',\n DownTeeArrow: '\u21A7',\n Downarrow: '\u21D3',\n Dscr: '\uD835\uDC9F',\n Dstrok: '\u0110',\n ENG: '\u014A',\n ETH: '\u00D0',\n Eacute: '\u00C9',\n Ecaron: '\u011A',\n Ecirc: '\u00CA',\n Ecy: '\u042D',\n Edot: '\u0116',\n Efr: '\uD835\uDD08',\n Egrave: '\u00C8',\n Element: '\u2208',\n Emacr: '\u0112',\n EmptySmallSquare: '\u25FB',\n EmptyVerySmallSquare: '\u25AB',\n Eogon: '\u0118',\n Eopf: '\uD835\uDD3C',\n Epsilon: '\u0395',\n Equal: '\u2A75',\n EqualTilde: '\u2242',\n Equilibrium: '\u21CC',\n Escr: '\u2130',\n Esim: '\u2A73',\n Eta: '\u0397',\n Euml: '\u00CB',\n Exists: '\u2203',\n ExponentialE: '\u2147',\n Fcy: '\u0424',\n Ffr: '\uD835\uDD09',\n FilledSmallSquare: '\u25FC',\n FilledVerySmallSquare: '\u25AA',\n Fopf: '\uD835\uDD3D',\n ForAll: '\u2200',\n Fouriertrf: '\u2131',\n Fscr: '\u2131',\n GJcy: '\u0403',\n GT: '>',\n Gamma: '\u0393',\n Gammad: '\u03DC',\n Gbreve: '\u011E',\n Gcedil: '\u0122',\n Gcirc: '\u011C',\n Gcy: '\u0413',\n Gdot: '\u0120',\n Gfr: '\uD835\uDD0A',\n Gg: '\u22D9',\n Gopf: '\uD835\uDD3E',\n GreaterEqual: '\u2265',\n GreaterEqualLess: '\u22DB',\n GreaterFullEqual: '\u2267',\n GreaterGreater: '\u2AA2',\n GreaterLess: '\u2277',\n GreaterSlantEqual: '\u2A7E',\n GreaterTilde: '\u2273',\n Gscr: '\uD835\uDCA2',\n Gt: '\u226B',\n HARDcy: '\u042A',\n Hacek: '\u02C7',\n Hat: '^',\n Hcirc: '\u0124',\n Hfr: '\u210C',\n HilbertSpace: '\u210B',\n Hopf: '\u210D',\n HorizontalLine: '\u2500',\n Hscr: '\u210B',\n Hstrok: '\u0126',\n HumpDownHump: '\u224E',\n HumpEqual: '\u224F',\n IEcy: '\u0415',\n IJlig: '\u0132',\n IOcy: '\u0401',\n Iacute: '\u00CD',\n Icirc: '\u00CE',\n Icy: '\u0418',\n Idot: '\u0130',\n Ifr: '\u2111',\n Igrave: '\u00CC',\n Im: '\u2111',\n Imacr: '\u012A',\n ImaginaryI: '\u2148',\n Implies: '\u21D2',\n Int: '\u222C',\n Integral: '\u222B',\n Intersection: '\u22C2',\n InvisibleComma: '\u2063',\n InvisibleTimes: '\u2062',\n Iogon: '\u012E',\n Iopf: '\uD835\uDD40',\n Iota: '\u0399',\n Iscr: '\u2110',\n Itilde: '\u0128',\n Iukcy: '\u0406',\n Iuml: '\u00CF',\n Jcirc: '\u0134',\n Jcy: '\u0419',\n Jfr: '\uD835\uDD0D',\n Jopf: '\uD835\uDD41',\n Jscr: '\uD835\uDCA5',\n Jsercy: '\u0408',\n Jukcy: '\u0404',\n KHcy: '\u0425',\n KJcy: '\u040C',\n Kappa: '\u039A',\n Kcedil: '\u0136',\n Kcy: '\u041A',\n Kfr: '\uD835\uDD0E',\n Kopf: '\uD835\uDD42',\n Kscr: '\uD835\uDCA6',\n LJcy: '\u0409',\n LT: '<',\n Lacute: '\u0139',\n Lambda: '\u039B',\n Lang: '\u27EA',\n Laplacetrf: '\u2112',\n Larr: '\u219E',\n Lcaron: '\u013D',\n Lcedil: '\u013B',\n Lcy: '\u041B',\n LeftAngleBracket: '\u27E8',\n LeftArrow: '\u2190',\n LeftArrowBar: '\u21E4',\n LeftArrowRightArrow: '\u21C6',\n LeftCeiling: '\u2308',\n LeftDoubleBracket: '\u27E6',\n LeftDownTeeVector: '\u2961',\n LeftDownVector: '\u21C3',\n LeftDownVectorBar: '\u2959',\n LeftFloor: '\u230A',\n LeftRightArrow: '\u2194',\n LeftRightVector: '\u294E',\n LeftTee: '\u22A3',\n LeftTeeArrow: '\u21A4',\n LeftTeeVector: '\u295A',\n LeftTriangle: '\u22B2',\n LeftTriangleBar: '\u29CF',\n LeftTriangleEqual: '\u22B4',\n LeftUpDownVector: '\u2951',\n LeftUpTeeVector: '\u2960',\n LeftUpVector: '\u21BF',\n LeftUpVectorBar: '\u2958',\n LeftVector: '\u21BC',\n LeftVectorBar: '\u2952',\n Leftarrow: '\u21D0',\n Leftrightarrow: '\u21D4',\n LessEqualGreater: '\u22DA',\n LessFullEqual: '\u2266',\n LessGreater: '\u2276',\n LessLess: '\u2AA1',\n LessSlantEqual: '\u2A7D',\n LessTilde: '\u2272',\n Lfr: '\uD835\uDD0F',\n Ll: '\u22D8',\n Lleftarrow: '\u21DA',\n Lmidot: '\u013F',\n LongLeftArrow: '\u27F5',\n LongLeftRightArrow: '\u27F7',\n LongRightArrow: '\u27F6',\n Longleftarrow: '\u27F8',\n Longleftrightarrow: '\u27FA',\n Longrightarrow: '\u27F9',\n Lopf: '\uD835\uDD43',\n LowerLeftArrow: '\u2199',\n LowerRightArrow: '\u2198',\n Lscr: '\u2112',\n Lsh: '\u21B0',\n Lstrok: '\u0141',\n Lt: '\u226A',\n Map: '\u2905',\n Mcy: '\u041C',\n MediumSpace: '\u205F',\n Mellintrf: '\u2133',\n Mfr: '\uD835\uDD10',\n MinusPlus: '\u2213',\n Mopf: '\uD835\uDD44',\n Mscr: '\u2133',\n Mu: '\u039C',\n NJcy: '\u040A',\n Nacute: '\u0143',\n Ncaron: '\u0147',\n Ncedil: '\u0145',\n Ncy: '\u041D',\n NegativeMediumSpace: '\u200B',\n NegativeThickSpace: '\u200B',\n NegativeThinSpace: '\u200B',\n NegativeVeryThinSpace: '\u200B',\n NestedGreaterGreater: '\u226B',\n NestedLessLess: '\u226A',\n NewLine: '\\n',\n Nfr: '\uD835\uDD11',\n NoBreak: '\u2060',\n NonBreakingSpace: '\u00A0',\n Nopf: '\u2115',\n Not: '\u2AEC',\n NotCongruent: '\u2262',\n NotCupCap: '\u226D',\n NotDoubleVerticalBar: '\u2226',\n NotElement: '\u2209',\n NotEqual: '\u2260',\n NotEqualTilde: '\u2242\u0338',\n NotExists: '\u2204',\n NotGreater: '\u226F',\n NotGreaterEqual: '\u2271',\n NotGreaterFullEqual: '\u2267\u0338',\n NotGreaterGreater: '\u226B\u0338',\n NotGreaterLess: '\u2279',\n NotGreaterSlantEqual: '\u2A7E\u0338',\n NotGreaterTilde: '\u2275',\n NotHumpDownHump: '\u224E\u0338',\n NotHumpEqual: '\u224F\u0338',\n NotLeftTriangle: '\u22EA',\n NotLeftTriangleBar: '\u29CF\u0338',\n NotLeftTriangleEqual: '\u22EC',\n NotLess: '\u226E',\n NotLessEqual: '\u2270',\n NotLessGreater: '\u2278',\n NotLessLess: '\u226A\u0338',\n NotLessSlantEqual: '\u2A7D\u0338',\n NotLessTilde: '\u2274',\n NotNestedGreaterGreater: '\u2AA2\u0338',\n NotNestedLessLess: '\u2AA1\u0338',\n NotPrecedes: '\u2280',\n NotPrecedesEqual: '\u2AAF\u0338',\n NotPrecedesSlantEqual: '\u22E0',\n NotReverseElement: '\u220C',\n NotRightTriangle: '\u22EB',\n NotRightTriangleBar: '\u29D0\u0338',\n NotRightTriangleEqual: '\u22ED',\n NotSquareSubset: '\u228F\u0338',\n NotSquareSubsetEqual: '\u22E2',\n NotSquareSuperset: '\u2290\u0338',\n NotSquareSupersetEqual: '\u22E3',\n NotSubset: '\u2282\u20D2',\n NotSubsetEqual: '\u2288',\n NotSucceeds: '\u2281',\n NotSucceedsEqual: '\u2AB0\u0338',\n NotSucceedsSlantEqual: '\u22E1',\n NotSucceedsTilde: '\u227F\u0338',\n NotSuperset: '\u2283\u20D2',\n NotSupersetEqual: '\u2289',\n NotTilde: '\u2241',\n NotTildeEqual: '\u2244',\n NotTildeFullEqual: '\u2247',\n NotTildeTilde: '\u2249',\n NotVerticalBar: '\u2224',\n Nscr: '\uD835\uDCA9',\n Ntilde: '\u00D1',\n Nu: '\u039D',\n OElig: '\u0152',\n Oacute: '\u00D3',\n Ocirc: '\u00D4',\n Ocy: '\u041E',\n Odblac: '\u0150',\n Ofr: '\uD835\uDD12',\n Ograve: '\u00D2',\n Omacr: '\u014C',\n Omega: '\u03A9',\n Omicron: '\u039F',\n Oopf: '\uD835\uDD46',\n OpenCurlyDoubleQuote: '\u201C',\n OpenCurlyQuote: '\u2018',\n Or: '\u2A54',\n Oscr: '\uD835\uDCAA',\n Oslash: '\u00D8',\n Otilde: '\u00D5',\n Otimes: '\u2A37',\n Ouml: '\u00D6',\n OverBar: '\u203E',\n OverBrace: '\u23DE',\n OverBracket: '\u23B4',\n OverParenthesis: '\u23DC',\n PartialD: '\u2202',\n Pcy: '\u041F',\n Pfr: '\uD835\uDD13',\n Phi: '\u03A6',\n Pi: '\u03A0',\n PlusMinus: '\u00B1',\n Poincareplane: '\u210C',\n Popf: '\u2119',\n Pr: '\u2ABB',\n Precedes: '\u227A',\n PrecedesEqual: '\u2AAF',\n PrecedesSlantEqual: '\u227C',\n PrecedesTilde: '\u227E',\n Prime: '\u2033',\n Product: '\u220F',\n Proportion: '\u2237',\n Proportional: '\u221D',\n Pscr: '\uD835\uDCAB',\n Psi: '\u03A8',\n QUOT: '\"',\n Qfr: '\uD835\uDD14',\n Qopf: '\u211A',\n Qscr: '\uD835\uDCAC',\n RBarr: '\u2910',\n REG: '\u00AE',\n Racute: '\u0154',\n Rang: '\u27EB',\n Rarr: '\u21A0',\n Rarrtl: '\u2916',\n Rcaron: '\u0158',\n Rcedil: '\u0156',\n Rcy: '\u0420',\n Re: '\u211C',\n ReverseElement: '\u220B',\n ReverseEquilibrium: '\u21CB',\n ReverseUpEquilibrium: '\u296F',\n Rfr: '\u211C',\n Rho: '\u03A1',\n RightAngleBracket: '\u27E9',\n RightArrow: '\u2192',\n RightArrowBar: '\u21E5',\n RightArrowLeftArrow: '\u21C4',\n RightCeiling: '\u2309',\n RightDoubleBracket: '\u27E7',\n RightDownTeeVector: '\u295D',\n RightDownVector: '\u21C2',\n RightDownVectorBar: '\u2955',\n RightFloor: '\u230B',\n RightTee: '\u22A2',\n RightTeeArrow: '\u21A6',\n RightTeeVector: '\u295B',\n RightTriangle: '\u22B3',\n RightTriangleBar: '\u29D0',\n RightTriangleEqual: '\u22B5',\n RightUpDownVector: '\u294F',\n RightUpTeeVector: '\u295C',\n RightUpVector: '\u21BE',\n RightUpVectorBar: '\u2954',\n RightVector: '\u21C0',\n RightVectorBar: '\u2953',\n Rightarrow: '\u21D2',\n Ropf: '\u211D',\n RoundImplies: '\u2970',\n Rrightarrow: '\u21DB',\n Rscr: '\u211B',\n Rsh: '\u21B1',\n RuleDelayed: '\u29F4',\n SHCHcy: '\u0429',\n SHcy: '\u0428',\n SOFTcy: '\u042C',\n Sacute: '\u015A',\n Sc: '\u2ABC',\n Scaron: '\u0160',\n Scedil: '\u015E',\n Scirc: '\u015C',\n Scy: '\u0421',\n Sfr: '\uD835\uDD16',\n ShortDownArrow: '\u2193',\n ShortLeftArrow: '\u2190',\n ShortRightArrow: '\u2192',\n ShortUpArrow: '\u2191',\n Sigma: '\u03A3',\n SmallCircle: '\u2218',\n Sopf: '\uD835\uDD4A',\n Sqrt: '\u221A',\n Square: '\u25A1',\n SquareIntersection: '\u2293',\n SquareSubset: '\u228F',\n SquareSubsetEqual: '\u2291',\n SquareSuperset: '\u2290',\n SquareSupersetEqual: '\u2292',\n SquareUnion: '\u2294',\n Sscr: '\uD835\uDCAE',\n Star: '\u22C6',\n Sub: '\u22D0',\n Subset: '\u22D0',\n SubsetEqual: '\u2286',\n Succeeds: '\u227B',\n SucceedsEqual: '\u2AB0',\n SucceedsSlantEqual: '\u227D',\n SucceedsTilde: '\u227F',\n SuchThat: '\u220B',\n Sum: '\u2211',\n Sup: '\u22D1',\n Superset: '\u2283',\n SupersetEqual: '\u2287',\n Supset: '\u22D1',\n THORN: '\u00DE',\n TRADE: '\u2122',\n TSHcy: '\u040B',\n TScy: '\u0426',\n Tab: '\\t',\n Tau: '\u03A4',\n Tcaron: '\u0164',\n Tcedil: '\u0162',\n Tcy: '\u0422',\n Tfr: '\uD835\uDD17',\n Therefore: '\u2234',\n Theta: '\u0398',\n ThickSpace: '\u205F\u200A',\n ThinSpace: '\u2009',\n Tilde: '\u223C',\n TildeEqual: '\u2243',\n TildeFullEqual: '\u2245',\n TildeTilde: '\u2248',\n Topf: '\uD835\uDD4B',\n TripleDot: '\u20DB',\n Tscr: '\uD835\uDCAF',\n Tstrok: '\u0166',\n Uacute: '\u00DA',\n Uarr: '\u219F',\n Uarrocir: '\u2949',\n Ubrcy: '\u040E',\n Ubreve: '\u016C',\n Ucirc: '\u00DB',\n Ucy: '\u0423',\n Udblac: '\u0170',\n Ufr: '\uD835\uDD18',\n Ugrave: '\u00D9',\n Umacr: '\u016A',\n UnderBar: '_',\n UnderBrace: '\u23DF',\n UnderBracket: '\u23B5',\n UnderParenthesis: '\u23DD',\n Union: '\u22C3',\n UnionPlus: '\u228E',\n Uogon: '\u0172',\n Uopf: '\uD835\uDD4C',\n UpArrow: '\u2191',\n UpArrowBar: '\u2912',\n UpArrowDownArrow: '\u21C5',\n UpDownArrow: '\u2195',\n UpEquilibrium: '\u296E',\n UpTee: '\u22A5',\n UpTeeArrow: '\u21A5',\n Uparrow: '\u21D1',\n Updownarrow: '\u21D5',\n UpperLeftArrow: '\u2196',\n UpperRightArrow: '\u2197',\n Upsi: '\u03D2',\n Upsilon: '\u03A5',\n Uring: '\u016E',\n Uscr: '\uD835\uDCB0',\n Utilde: '\u0168',\n Uuml: '\u00DC',\n VDash: '\u22AB',\n Vbar: '\u2AEB',\n Vcy: '\u0412',\n Vdash: '\u22A9',\n Vdashl: '\u2AE6',\n Vee: '\u22C1',\n Verbar: '\u2016',\n Vert: '\u2016',\n VerticalBar: '\u2223',\n VerticalLine: '|',\n VerticalSeparator: '\u2758',\n VerticalTilde: '\u2240',\n VeryThinSpace: '\u200A',\n Vfr: '\uD835\uDD19',\n Vopf: '\uD835\uDD4D',\n Vscr: '\uD835\uDCB1',\n Vvdash: '\u22AA',\n Wcirc: '\u0174',\n Wedge: '\u22C0',\n Wfr: '\uD835\uDD1A',\n Wopf: '\uD835\uDD4E',\n Wscr: '\uD835\uDCB2',\n Xfr: '\uD835\uDD1B',\n Xi: '\u039E',\n Xopf: '\uD835\uDD4F',\n Xscr: '\uD835\uDCB3',\n YAcy: '\u042F',\n YIcy: '\u0407',\n YUcy: '\u042E',\n Yacute: '\u00DD',\n Ycirc: '\u0176',\n Ycy: '\u042B',\n Yfr: '\uD835\uDD1C',\n Yopf: '\uD835\uDD50',\n Yscr: '\uD835\uDCB4',\n Yuml: '\u0178',\n ZHcy: '\u0416',\n Zacute: '\u0179',\n Zcaron: '\u017D',\n Zcy: '\u0417',\n Zdot: '\u017B',\n ZeroWidthSpace: '\u200B',\n Zeta: '\u0396',\n Zfr: '\u2128',\n Zopf: '\u2124',\n Zscr: '\uD835\uDCB5',\n aacute: '\u00E1',\n abreve: '\u0103',\n ac: '\u223E',\n acE: '\u223E\u0333',\n acd: '\u223F',\n acirc: '\u00E2',\n acute: '\u00B4',\n acy: '\u0430',\n aelig: '\u00E6',\n af: '\u2061',\n afr: '\uD835\uDD1E',\n agrave: '\u00E0',\n alefsym: '\u2135',\n aleph: '\u2135',\n alpha: '\u03B1',\n amacr: '\u0101',\n amalg: '\u2A3F',\n amp: '&',\n and: '\u2227',\n andand: '\u2A55',\n andd: '\u2A5C',\n andslope: '\u2A58',\n andv: '\u2A5A',\n ang: '\u2220',\n ange: '\u29A4',\n angle: '\u2220',\n angmsd: '\u2221',\n angmsdaa: '\u29A8',\n angmsdab: '\u29A9',\n angmsdac: '\u29AA',\n angmsdad: '\u29AB',\n angmsdae: '\u29AC',\n angmsdaf: '\u29AD',\n angmsdag: '\u29AE',\n angmsdah: '\u29AF',\n angrt: '\u221F',\n angrtvb: '\u22BE',\n angrtvbd: '\u299D',\n angsph: '\u2222',\n angst: '\u00C5',\n angzarr: '\u237C',\n aogon: '\u0105',\n aopf: '\uD835\uDD52',\n ap: '\u2248',\n apE: '\u2A70',\n apacir: '\u2A6F',\n ape: '\u224A',\n apid: '\u224B',\n apos: \"'\",\n approx: '\u2248',\n approxeq: '\u224A',\n aring: '\u00E5',\n ascr: '\uD835\uDCB6',\n ast: '*',\n asymp: '\u2248',\n asympeq: '\u224D',\n atilde: '\u00E3',\n auml: '\u00E4',\n awconint: '\u2233',\n awint: '\u2A11',\n bNot: '\u2AED',\n backcong: '\u224C',\n backepsilon: '\u03F6',\n backprime: '\u2035',\n backsim: '\u223D',\n backsimeq: '\u22CD',\n barvee: '\u22BD',\n barwed: '\u2305',\n barwedge: '\u2305',\n bbrk: '\u23B5',\n bbrktbrk: '\u23B6',\n bcong: '\u224C',\n bcy: '\u0431',\n bdquo: '\u201E',\n becaus: '\u2235',\n because: '\u2235',\n bemptyv: '\u29B0',\n bepsi: '\u03F6',\n bernou: '\u212C',\n beta: '\u03B2',\n beth: '\u2136',\n between: '\u226C',\n bfr: '\uD835\uDD1F',\n bigcap: '\u22C2',\n bigcirc: '\u25EF',\n bigcup: '\u22C3',\n bigodot: '\u2A00',\n bigoplus: '\u2A01',\n bigotimes: '\u2A02',\n bigsqcup: '\u2A06',\n bigstar: '\u2605',\n bigtriangledown: '\u25BD',\n bigtriangleup: '\u25B3',\n biguplus: '\u2A04',\n bigvee: '\u22C1',\n bigwedge: '\u22C0',\n bkarow: '\u290D',\n blacklozenge: '\u29EB',\n blacksquare: '\u25AA',\n blacktriangle: '\u25B4',\n blacktriangledown: '\u25BE',\n blacktriangleleft: '\u25C2',\n blacktriangleright: '\u25B8',\n blank: '\u2423',\n blk12: '\u2592',\n blk14: '\u2591',\n blk34: '\u2593',\n block: '\u2588',\n bne: '=\u20E5',\n bnequiv: '\u2261\u20E5',\n bnot: '\u2310',\n bopf: '\uD835\uDD53',\n bot: '\u22A5',\n bottom: '\u22A5',\n bowtie: '\u22C8',\n boxDL: '\u2557',\n boxDR: '\u2554',\n boxDl: '\u2556',\n boxDr: '\u2553',\n boxH: '\u2550',\n boxHD: '\u2566',\n boxHU: '\u2569',\n boxHd: '\u2564',\n boxHu: '\u2567',\n boxUL: '\u255D',\n boxUR: '\u255A',\n boxUl: '\u255C',\n boxUr: '\u2559',\n boxV: '\u2551',\n boxVH: '\u256C',\n boxVL: '\u2563',\n boxVR: '\u2560',\n boxVh: '\u256B',\n boxVl: '\u2562',\n boxVr: '\u255F',\n boxbox: '\u29C9',\n boxdL: '\u2555',\n boxdR: '\u2552',\n boxdl: '\u2510',\n boxdr: '\u250C',\n boxh: '\u2500',\n boxhD: '\u2565',\n boxhU: '\u2568',\n boxhd: '\u252C',\n boxhu: '\u2534',\n boxminus: '\u229F',\n boxplus: '\u229E',\n boxtimes: '\u22A0',\n boxuL: '\u255B',\n boxuR: '\u2558',\n boxul: '\u2518',\n boxur: '\u2514',\n boxv: '\u2502',\n boxvH: '\u256A',\n boxvL: '\u2561',\n boxvR: '\u255E',\n boxvh: '\u253C',\n boxvl: '\u2524',\n boxvr: '\u251C',\n bprime: '\u2035',\n breve: '\u02D8',\n brvbar: '\u00A6',\n bscr: '\uD835\uDCB7',\n bsemi: '\u204F',\n bsim: '\u223D',\n bsime: '\u22CD',\n bsol: '\\\\',\n bsolb: '\u29C5',\n bsolhsub: '\u27C8',\n bull: '\u2022',\n bullet: '\u2022',\n bump: '\u224E',\n bumpE: '\u2AAE',\n bumpe: '\u224F',\n bumpeq: '\u224F',\n cacute: '\u0107',\n cap: '\u2229',\n capand: '\u2A44',\n capbrcup: '\u2A49',\n capcap: '\u2A4B',\n capcup: '\u2A47',\n capdot: '\u2A40',\n caps: '\u2229\uFE00',\n caret: '\u2041',\n caron: '\u02C7',\n ccaps: '\u2A4D',\n ccaron: '\u010D',\n ccedil: '\u00E7',\n ccirc: '\u0109',\n ccups: '\u2A4C',\n ccupssm: '\u2A50',\n cdot: '\u010B',\n cedil: '\u00B8',\n cemptyv: '\u29B2',\n cent: '\u00A2',\n centerdot: '\u00B7',\n cfr: '\uD835\uDD20',\n chcy: '\u0447',\n check: '\u2713',\n checkmark: '\u2713',\n chi: '\u03C7',\n cir: '\u25CB',\n cirE: '\u29C3',\n circ: '\u02C6',\n circeq: '\u2257',\n circlearrowleft: '\u21BA',\n circlearrowright: '\u21BB',\n circledR: '\u00AE',\n circledS: '\u24C8',\n circledast: '\u229B',\n circledcirc: '\u229A',\n circleddash: '\u229D',\n cire: '\u2257',\n cirfnint: '\u2A10',\n cirmid: '\u2AEF',\n cirscir: '\u29C2',\n clubs: '\u2663',\n clubsuit: '\u2663',\n colon: ':',\n colone: '\u2254',\n coloneq: '\u2254',\n comma: ',',\n commat: '@',\n comp: '\u2201',\n compfn: '\u2218',\n complement: '\u2201',\n complexes: '\u2102',\n cong: '\u2245',\n congdot: '\u2A6D',\n conint: '\u222E',\n copf: '\uD835\uDD54',\n coprod: '\u2210',\n copy: '\u00A9',\n copysr: '\u2117',\n crarr: '\u21B5',\n cross: '\u2717',\n cscr: '\uD835\uDCB8',\n csub: '\u2ACF',\n csube: '\u2AD1',\n csup: '\u2AD0',\n csupe: '\u2AD2',\n ctdot: '\u22EF',\n cudarrl: '\u2938',\n cudarrr: '\u2935',\n cuepr: '\u22DE',\n cuesc: '\u22DF',\n cularr: '\u21B6',\n cularrp: '\u293D',\n cup: '\u222A',\n cupbrcap: '\u2A48',\n cupcap: '\u2A46',\n cupcup: '\u2A4A',\n cupdot: '\u228D',\n cupor: '\u2A45',\n cups: '\u222A\uFE00',\n curarr: '\u21B7',\n curarrm: '\u293C',\n curlyeqprec: '\u22DE',\n curlyeqsucc: '\u22DF',\n curlyvee: '\u22CE',\n curlywedge: '\u22CF',\n curren: '\u00A4',\n curvearrowleft: '\u21B6',\n curvearrowright: '\u21B7',\n cuvee: '\u22CE',\n cuwed: '\u22CF',\n cwconint: '\u2232',\n cwint: '\u2231',\n cylcty: '\u232D',\n dArr: '\u21D3',\n dHar: '\u2965',\n dagger: '\u2020',\n daleth: '\u2138',\n darr: '\u2193',\n dash: '\u2010',\n dashv: '\u22A3',\n dbkarow: '\u290F',\n dblac: '\u02DD',\n dcaron: '\u010F',\n dcy: '\u0434',\n dd: '\u2146',\n ddagger: '\u2021',\n ddarr: '\u21CA',\n ddotseq: '\u2A77',\n deg: '\u00B0',\n delta: '\u03B4',\n demptyv: '\u29B1',\n dfisht: '\u297F',\n dfr: '\uD835\uDD21',\n dharl: '\u21C3',\n dharr: '\u21C2',\n diam: '\u22C4',\n diamond: '\u22C4',\n diamondsuit: '\u2666',\n diams: '\u2666',\n die: '\u00A8',\n digamma: '\u03DD',\n disin: '\u22F2',\n div: '\u00F7',\n divide: '\u00F7',\n divideontimes: '\u22C7',\n divonx: '\u22C7',\n djcy: '\u0452',\n dlcorn: '\u231E',\n dlcrop: '\u230D',\n dollar: '$',\n dopf: '\uD835\uDD55',\n dot: '\u02D9',\n doteq: '\u2250',\n doteqdot: '\u2251',\n dotminus: '\u2238',\n dotplus: '\u2214',\n dotsquare: '\u22A1',\n doublebarwedge: '\u2306',\n downarrow: '\u2193',\n downdownarrows: '\u21CA',\n downharpoonleft: '\u21C3',\n downharpoonright: '\u21C2',\n drbkarow: '\u2910',\n drcorn: '\u231F',\n drcrop: '\u230C',\n dscr: '\uD835\uDCB9',\n dscy: '\u0455',\n dsol: '\u29F6',\n dstrok: '\u0111',\n dtdot: '\u22F1',\n dtri: '\u25BF',\n dtrif: '\u25BE',\n duarr: '\u21F5',\n duhar: '\u296F',\n dwangle: '\u29A6',\n dzcy: '\u045F',\n dzigrarr: '\u27FF',\n eDDot: '\u2A77',\n eDot: '\u2251',\n eacute: '\u00E9',\n easter: '\u2A6E',\n ecaron: '\u011B',\n ecir: '\u2256',\n ecirc: '\u00EA',\n ecolon: '\u2255',\n ecy: '\u044D',\n edot: '\u0117',\n ee: '\u2147',\n efDot: '\u2252',\n efr: '\uD835\uDD22',\n eg: '\u2A9A',\n egrave: '\u00E8',\n egs: '\u2A96',\n egsdot: '\u2A98',\n el: '\u2A99',\n elinters: '\u23E7',\n ell: '\u2113',\n els: '\u2A95',\n elsdot: '\u2A97',\n emacr: '\u0113',\n empty: '\u2205',\n emptyset: '\u2205',\n emptyv: '\u2205',\n emsp13: '\u2004',\n emsp14: '\u2005',\n emsp: '\u2003',\n eng: '\u014B',\n ensp: '\u2002',\n eogon: '\u0119',\n eopf: '\uD835\uDD56',\n epar: '\u22D5',\n eparsl: '\u29E3',\n eplus: '\u2A71',\n epsi: '\u03B5',\n epsilon: '\u03B5',\n epsiv: '\u03F5',\n eqcirc: '\u2256',\n eqcolon: '\u2255',\n eqsim: '\u2242',\n eqslantgtr: '\u2A96',\n eqslantless: '\u2A95',\n equals: '=',\n equest: '\u225F',\n equiv: '\u2261',\n equivDD: '\u2A78',\n eqvparsl: '\u29E5',\n erDot: '\u2253',\n erarr: '\u2971',\n escr: '\u212F',\n esdot: '\u2250',\n esim: '\u2242',\n eta: '\u03B7',\n eth: '\u00F0',\n euml: '\u00EB',\n euro: '\u20AC',\n excl: '!',\n exist: '\u2203',\n expectation: '\u2130',\n exponentiale: '\u2147',\n fallingdotseq: '\u2252',\n fcy: '\u0444',\n female: '\u2640',\n ffilig: '\uFB03',\n fflig: '\uFB00',\n ffllig: '\uFB04',\n ffr: '\uD835\uDD23',\n filig: '\uFB01',\n fjlig: 'fj',\n flat: '\u266D',\n fllig: '\uFB02',\n fltns: '\u25B1',\n fnof: '\u0192',\n fopf: '\uD835\uDD57',\n forall: '\u2200',\n fork: '\u22D4',\n forkv: '\u2AD9',\n fpartint: '\u2A0D',\n frac12: '\u00BD',\n frac13: '\u2153',\n frac14: '\u00BC',\n frac15: '\u2155',\n frac16: '\u2159',\n frac18: '\u215B',\n frac23: '\u2154',\n frac25: '\u2156',\n frac34: '\u00BE',\n frac35: '\u2157',\n frac38: '\u215C',\n frac45: '\u2158',\n frac56: '\u215A',\n frac58: '\u215D',\n frac78: '\u215E',\n frasl: '\u2044',\n frown: '\u2322',\n fscr: '\uD835\uDCBB',\n gE: '\u2267',\n gEl: '\u2A8C',\n gacute: '\u01F5',\n gamma: '\u03B3',\n gammad: '\u03DD',\n gap: '\u2A86',\n gbreve: '\u011F',\n gcirc: '\u011D',\n gcy: '\u0433',\n gdot: '\u0121',\n ge: '\u2265',\n gel: '\u22DB',\n geq: '\u2265',\n geqq: '\u2267',\n geqslant: '\u2A7E',\n ges: '\u2A7E',\n gescc: '\u2AA9',\n gesdot: '\u2A80',\n gesdoto: '\u2A82',\n gesdotol: '\u2A84',\n gesl: '\u22DB\uFE00',\n gesles: '\u2A94',\n gfr: '\uD835\uDD24',\n gg: '\u226B',\n ggg: '\u22D9',\n gimel: '\u2137',\n gjcy: '\u0453',\n gl: '\u2277',\n glE: '\u2A92',\n gla: '\u2AA5',\n glj: '\u2AA4',\n gnE: '\u2269',\n gnap: '\u2A8A',\n gnapprox: '\u2A8A',\n gne: '\u2A88',\n gneq: '\u2A88',\n gneqq: '\u2269',\n gnsim: '\u22E7',\n gopf: '\uD835\uDD58',\n grave: '`',\n gscr: '\u210A',\n gsim: '\u2273',\n gsime: '\u2A8E',\n gsiml: '\u2A90',\n gt: '>',\n gtcc: '\u2AA7',\n gtcir: '\u2A7A',\n gtdot: '\u22D7',\n gtlPar: '\u2995',\n gtquest: '\u2A7C',\n gtrapprox: '\u2A86',\n gtrarr: '\u2978',\n gtrdot: '\u22D7',\n gtreqless: '\u22DB',\n gtreqqless: '\u2A8C',\n gtrless: '\u2277',\n gtrsim: '\u2273',\n gvertneqq: '\u2269\uFE00',\n gvnE: '\u2269\uFE00',\n hArr: '\u21D4',\n hairsp: '\u200A',\n half: '\u00BD',\n hamilt: '\u210B',\n hardcy: '\u044A',\n harr: '\u2194',\n harrcir: '\u2948',\n harrw: '\u21AD',\n hbar: '\u210F',\n hcirc: '\u0125',\n hearts: '\u2665',\n heartsuit: '\u2665',\n hellip: '\u2026',\n hercon: '\u22B9',\n hfr: '\uD835\uDD25',\n hksearow: '\u2925',\n hkswarow: '\u2926',\n hoarr: '\u21FF',\n homtht: '\u223B',\n hookleftarrow: '\u21A9',\n hookrightarrow: '\u21AA',\n hopf: '\uD835\uDD59',\n horbar: '\u2015',\n hscr: '\uD835\uDCBD',\n hslash: '\u210F',\n hstrok: '\u0127',\n hybull: '\u2043',\n hyphen: '\u2010',\n iacute: '\u00ED',\n ic: '\u2063',\n icirc: '\u00EE',\n icy: '\u0438',\n iecy: '\u0435',\n iexcl: '\u00A1',\n iff: '\u21D4',\n ifr: '\uD835\uDD26',\n igrave: '\u00EC',\n ii: '\u2148',\n iiiint: '\u2A0C',\n iiint: '\u222D',\n iinfin: '\u29DC',\n iiota: '\u2129',\n ijlig: '\u0133',\n imacr: '\u012B',\n image: '\u2111',\n imagline: '\u2110',\n imagpart: '\u2111',\n imath: '\u0131',\n imof: '\u22B7',\n imped: '\u01B5',\n in: '\u2208',\n incare: '\u2105',\n infin: '\u221E',\n infintie: '\u29DD',\n inodot: '\u0131',\n int: '\u222B',\n intcal: '\u22BA',\n integers: '\u2124',\n intercal: '\u22BA',\n intlarhk: '\u2A17',\n intprod: '\u2A3C',\n iocy: '\u0451',\n iogon: '\u012F',\n iopf: '\uD835\uDD5A',\n iota: '\u03B9',\n iprod: '\u2A3C',\n iquest: '\u00BF',\n iscr: '\uD835\uDCBE',\n isin: '\u2208',\n isinE: '\u22F9',\n isindot: '\u22F5',\n isins: '\u22F4',\n isinsv: '\u22F3',\n isinv: '\u2208',\n it: '\u2062',\n itilde: '\u0129',\n iukcy: '\u0456',\n iuml: '\u00EF',\n jcirc: '\u0135',\n jcy: '\u0439',\n jfr: '\uD835\uDD27',\n jmath: '\u0237',\n jopf: '\uD835\uDD5B',\n jscr: '\uD835\uDCBF',\n jsercy: '\u0458',\n jukcy: '\u0454',\n kappa: '\u03BA',\n kappav: '\u03F0',\n kcedil: '\u0137',\n kcy: '\u043A',\n kfr: '\uD835\uDD28',\n kgreen: '\u0138',\n khcy: '\u0445',\n kjcy: '\u045C',\n kopf: '\uD835\uDD5C',\n kscr: '\uD835\uDCC0',\n lAarr: '\u21DA',\n lArr: '\u21D0',\n lAtail: '\u291B',\n lBarr: '\u290E',\n lE: '\u2266',\n lEg: '\u2A8B',\n lHar: '\u2962',\n lacute: '\u013A',\n laemptyv: '\u29B4',\n lagran: '\u2112',\n lambda: '\u03BB',\n lang: '\u27E8',\n langd: '\u2991',\n langle: '\u27E8',\n lap: '\u2A85',\n laquo: '\u00AB',\n larr: '\u2190',\n larrb: '\u21E4',\n larrbfs: '\u291F',\n larrfs: '\u291D',\n larrhk: '\u21A9',\n larrlp: '\u21AB',\n larrpl: '\u2939',\n larrsim: '\u2973',\n larrtl: '\u21A2',\n lat: '\u2AAB',\n latail: '\u2919',\n late: '\u2AAD',\n lates: '\u2AAD\uFE00',\n lbarr: '\u290C',\n lbbrk: '\u2772',\n lbrace: '{',\n lbrack: '[',\n lbrke: '\u298B',\n lbrksld: '\u298F',\n lbrkslu: '\u298D',\n lcaron: '\u013E',\n lcedil: '\u013C',\n lceil: '\u2308',\n lcub: '{',\n lcy: '\u043B',\n ldca: '\u2936',\n ldquo: '\u201C',\n ldquor: '\u201E',\n ldrdhar: '\u2967',\n ldrushar: '\u294B',\n ldsh: '\u21B2',\n le: '\u2264',\n leftarrow: '\u2190',\n leftarrowtail: '\u21A2',\n leftharpoondown: '\u21BD',\n leftharpoonup: '\u21BC',\n leftleftarrows: '\u21C7',\n leftrightarrow: '\u2194',\n leftrightarrows: '\u21C6',\n leftrightharpoons: '\u21CB',\n leftrightsquigarrow: '\u21AD',\n leftthreetimes: '\u22CB',\n leg: '\u22DA',\n leq: '\u2264',\n leqq: '\u2266',\n leqslant: '\u2A7D',\n les: '\u2A7D',\n lescc: '\u2AA8',\n lesdot: '\u2A7F',\n lesdoto: '\u2A81',\n lesdotor: '\u2A83',\n lesg: '\u22DA\uFE00',\n lesges: '\u2A93',\n lessapprox: '\u2A85',\n lessdot: '\u22D6',\n lesseqgtr: '\u22DA',\n lesseqqgtr: '\u2A8B',\n lessgtr: '\u2276',\n lesssim: '\u2272',\n lfisht: '\u297C',\n lfloor: '\u230A',\n lfr: '\uD835\uDD29',\n lg: '\u2276',\n lgE: '\u2A91',\n lhard: '\u21BD',\n lharu: '\u21BC',\n lharul: '\u296A',\n lhblk: '\u2584',\n ljcy: '\u0459',\n ll: '\u226A',\n llarr: '\u21C7',\n llcorner: '\u231E',\n llhard: '\u296B',\n lltri: '\u25FA',\n lmidot: '\u0140',\n lmoust: '\u23B0',\n lmoustache: '\u23B0',\n lnE: '\u2268',\n lnap: '\u2A89',\n lnapprox: '\u2A89',\n lne: '\u2A87',\n lneq: '\u2A87',\n lneqq: '\u2268',\n lnsim: '\u22E6',\n loang: '\u27EC',\n loarr: '\u21FD',\n lobrk: '\u27E6',\n longleftarrow: '\u27F5',\n longleftrightarrow: '\u27F7',\n longmapsto: '\u27FC',\n longrightarrow: '\u27F6',\n looparrowleft: '\u21AB',\n looparrowright: '\u21AC',\n lopar: '\u2985',\n lopf: '\uD835\uDD5D',\n loplus: '\u2A2D',\n lotimes: '\u2A34',\n lowast: '\u2217',\n lowbar: '_',\n loz: '\u25CA',\n lozenge: '\u25CA',\n lozf: '\u29EB',\n lpar: '(',\n lparlt: '\u2993',\n lrarr: '\u21C6',\n lrcorner: '\u231F',\n lrhar: '\u21CB',\n lrhard: '\u296D',\n lrm: '\u200E',\n lrtri: '\u22BF',\n lsaquo: '\u2039',\n lscr: '\uD835\uDCC1',\n lsh: '\u21B0',\n lsim: '\u2272',\n lsime: '\u2A8D',\n lsimg: '\u2A8F',\n lsqb: '[',\n lsquo: '\u2018',\n lsquor: '\u201A',\n lstrok: '\u0142',\n lt: '<',\n ltcc: '\u2AA6',\n ltcir: '\u2A79',\n ltdot: '\u22D6',\n lthree: '\u22CB',\n ltimes: '\u22C9',\n ltlarr: '\u2976',\n ltquest: '\u2A7B',\n ltrPar: '\u2996',\n ltri: '\u25C3',\n ltrie: '\u22B4',\n ltrif: '\u25C2',\n lurdshar: '\u294A',\n luruhar: '\u2966',\n lvertneqq: '\u2268\uFE00',\n lvnE: '\u2268\uFE00',\n mDDot: '\u223A',\n macr: '\u00AF',\n male: '\u2642',\n malt: '\u2720',\n maltese: '\u2720',\n map: '\u21A6',\n mapsto: '\u21A6',\n mapstodown: '\u21A7',\n mapstoleft: '\u21A4',\n mapstoup: '\u21A5',\n marker: '\u25AE',\n mcomma: '\u2A29',\n mcy: '\u043C',\n mdash: '\u2014',\n measuredangle: '\u2221',\n mfr: '\uD835\uDD2A',\n mho: '\u2127',\n micro: '\u00B5',\n mid: '\u2223',\n midast: '*',\n midcir: '\u2AF0',\n middot: '\u00B7',\n minus: '\u2212',\n minusb: '\u229F',\n minusd: '\u2238',\n minusdu: '\u2A2A',\n mlcp: '\u2ADB',\n mldr: '\u2026',\n mnplus: '\u2213',\n models: '\u22A7',\n mopf: '\uD835\uDD5E',\n mp: '\u2213',\n mscr: '\uD835\uDCC2',\n mstpos: '\u223E',\n mu: '\u03BC',\n multimap: '\u22B8',\n mumap: '\u22B8',\n nGg: '\u22D9\u0338',\n nGt: '\u226B\u20D2',\n nGtv: '\u226B\u0338',\n nLeftarrow: '\u21CD',\n nLeftrightarrow: '\u21CE',\n nLl: '\u22D8\u0338',\n nLt: '\u226A\u20D2',\n nLtv: '\u226A\u0338',\n nRightarrow: '\u21CF',\n nVDash: '\u22AF',\n nVdash: '\u22AE',\n nabla: '\u2207',\n nacute: '\u0144',\n nang: '\u2220\u20D2',\n nap: '\u2249',\n napE: '\u2A70\u0338',\n napid: '\u224B\u0338',\n napos: '\u0149',\n napprox: '\u2249',\n natur: '\u266E',\n natural: '\u266E',\n naturals: '\u2115',\n nbsp: '\u00A0',\n nbump: '\u224E\u0338',\n nbumpe: '\u224F\u0338',\n ncap: '\u2A43',\n ncaron: '\u0148',\n ncedil: '\u0146',\n ncong: '\u2247',\n ncongdot: '\u2A6D\u0338',\n ncup: '\u2A42',\n ncy: '\u043D',\n ndash: '\u2013',\n ne: '\u2260',\n neArr: '\u21D7',\n nearhk: '\u2924',\n nearr: '\u2197',\n nearrow: '\u2197',\n nedot: '\u2250\u0338',\n nequiv: '\u2262',\n nesear: '\u2928',\n nesim: '\u2242\u0338',\n nexist: '\u2204',\n nexists: '\u2204',\n nfr: '\uD835\uDD2B',\n ngE: '\u2267\u0338',\n nge: '\u2271',\n ngeq: '\u2271',\n ngeqq: '\u2267\u0338',\n ngeqslant: '\u2A7E\u0338',\n nges: '\u2A7E\u0338',\n ngsim: '\u2275',\n ngt: '\u226F',\n ngtr: '\u226F',\n nhArr: '\u21CE',\n nharr: '\u21AE',\n nhpar: '\u2AF2',\n ni: '\u220B',\n nis: '\u22FC',\n nisd: '\u22FA',\n niv: '\u220B',\n njcy: '\u045A',\n nlArr: '\u21CD',\n nlE: '\u2266\u0338',\n nlarr: '\u219A',\n nldr: '\u2025',\n nle: '\u2270',\n nleftarrow: '\u219A',\n nleftrightarrow: '\u21AE',\n nleq: '\u2270',\n nleqq: '\u2266\u0338',\n nleqslant: '\u2A7D\u0338',\n nles: '\u2A7D\u0338',\n nless: '\u226E',\n nlsim: '\u2274',\n nlt: '\u226E',\n nltri: '\u22EA',\n nltrie: '\u22EC',\n nmid: '\u2224',\n nopf: '\uD835\uDD5F',\n not: '\u00AC',\n notin: '\u2209',\n notinE: '\u22F9\u0338',\n notindot: '\u22F5\u0338',\n notinva: '\u2209',\n notinvb: '\u22F7',\n notinvc: '\u22F6',\n notni: '\u220C',\n notniva: '\u220C',\n notnivb: '\u22FE',\n notnivc: '\u22FD',\n npar: '\u2226',\n nparallel: '\u2226',\n nparsl: '\u2AFD\u20E5',\n npart: '\u2202\u0338',\n npolint: '\u2A14',\n npr: '\u2280',\n nprcue: '\u22E0',\n npre: '\u2AAF\u0338',\n nprec: '\u2280',\n npreceq: '\u2AAF\u0338',\n nrArr: '\u21CF',\n nrarr: '\u219B',\n nrarrc: '\u2933\u0338',\n nrarrw: '\u219D\u0338',\n nrightarrow: '\u219B',\n nrtri: '\u22EB',\n nrtrie: '\u22ED',\n nsc: '\u2281',\n nsccue: '\u22E1',\n nsce: '\u2AB0\u0338',\n nscr: '\uD835\uDCC3',\n nshortmid: '\u2224',\n nshortparallel: '\u2226',\n nsim: '\u2241',\n nsime: '\u2244',\n nsimeq: '\u2244',\n nsmid: '\u2224',\n nspar: '\u2226',\n nsqsube: '\u22E2',\n nsqsupe: '\u22E3',\n nsub: '\u2284',\n nsubE: '\u2AC5\u0338',\n nsube: '\u2288',\n nsubset: '\u2282\u20D2',\n nsubseteq: '\u2288',\n nsubseteqq: '\u2AC5\u0338',\n nsucc: '\u2281',\n nsucceq: '\u2AB0\u0338',\n nsup: '\u2285',\n nsupE: '\u2AC6\u0338',\n nsupe: '\u2289',\n nsupset: '\u2283\u20D2',\n nsupseteq: '\u2289',\n nsupseteqq: '\u2AC6\u0338',\n ntgl: '\u2279',\n ntilde: '\u00F1',\n ntlg: '\u2278',\n ntriangleleft: '\u22EA',\n ntrianglelefteq: '\u22EC',\n ntriangleright: '\u22EB',\n ntrianglerighteq: '\u22ED',\n nu: '\u03BD',\n num: '#',\n numero: '\u2116',\n numsp: '\u2007',\n nvDash: '\u22AD',\n nvHarr: '\u2904',\n nvap: '\u224D\u20D2',\n nvdash: '\u22AC',\n nvge: '\u2265\u20D2',\n nvgt: '>\u20D2',\n nvinfin: '\u29DE',\n nvlArr: '\u2902',\n nvle: '\u2264\u20D2',\n nvlt: '<\u20D2',\n nvltrie: '\u22B4\u20D2',\n nvrArr: '\u2903',\n nvrtrie: '\u22B5\u20D2',\n nvsim: '\u223C\u20D2',\n nwArr: '\u21D6',\n nwarhk: '\u2923',\n nwarr: '\u2196',\n nwarrow: '\u2196',\n nwnear: '\u2927',\n oS: '\u24C8',\n oacute: '\u00F3',\n oast: '\u229B',\n ocir: '\u229A',\n ocirc: '\u00F4',\n ocy: '\u043E',\n odash: '\u229D',\n odblac: '\u0151',\n odiv: '\u2A38',\n odot: '\u2299',\n odsold: '\u29BC',\n oelig: '\u0153',\n ofcir: '\u29BF',\n ofr: '\uD835\uDD2C',\n ogon: '\u02DB',\n ograve: '\u00F2',\n ogt: '\u29C1',\n ohbar: '\u29B5',\n ohm: '\u03A9',\n oint: '\u222E',\n olarr: '\u21BA',\n olcir: '\u29BE',\n olcross: '\u29BB',\n oline: '\u203E',\n olt: '\u29C0',\n omacr: '\u014D',\n omega: '\u03C9',\n omicron: '\u03BF',\n omid: '\u29B6',\n ominus: '\u2296',\n oopf: '\uD835\uDD60',\n opar: '\u29B7',\n operp: '\u29B9',\n oplus: '\u2295',\n or: '\u2228',\n orarr: '\u21BB',\n ord: '\u2A5D',\n order: '\u2134',\n orderof: '\u2134',\n ordf: '\u00AA',\n ordm: '\u00BA',\n origof: '\u22B6',\n oror: '\u2A56',\n orslope: '\u2A57',\n orv: '\u2A5B',\n oscr: '\u2134',\n oslash: '\u00F8',\n osol: '\u2298',\n otilde: '\u00F5',\n otimes: '\u2297',\n otimesas: '\u2A36',\n ouml: '\u00F6',\n ovbar: '\u233D',\n par: '\u2225',\n para: '\u00B6',\n parallel: '\u2225',\n parsim: '\u2AF3',\n parsl: '\u2AFD',\n part: '\u2202',\n pcy: '\u043F',\n percnt: '%',\n period: '.',\n permil: '\u2030',\n perp: '\u22A5',\n pertenk: '\u2031',\n pfr: '\uD835\uDD2D',\n phi: '\u03C6',\n phiv: '\u03D5',\n phmmat: '\u2133',\n phone: '\u260E',\n pi: '\u03C0',\n pitchfork: '\u22D4',\n piv: '\u03D6',\n planck: '\u210F',\n planckh: '\u210E',\n plankv: '\u210F',\n plus: '+',\n plusacir: '\u2A23',\n plusb: '\u229E',\n pluscir: '\u2A22',\n plusdo: '\u2214',\n plusdu: '\u2A25',\n pluse: '\u2A72',\n plusmn: '\u00B1',\n plussim: '\u2A26',\n plustwo: '\u2A27',\n pm: '\u00B1',\n pointint: '\u2A15',\n popf: '\uD835\uDD61',\n pound: '\u00A3',\n pr: '\u227A',\n prE: '\u2AB3',\n prap: '\u2AB7',\n prcue: '\u227C',\n pre: '\u2AAF',\n prec: '\u227A',\n precapprox: '\u2AB7',\n preccurlyeq: '\u227C',\n preceq: '\u2AAF',\n precnapprox: '\u2AB9',\n precneqq: '\u2AB5',\n precnsim: '\u22E8',\n precsim: '\u227E',\n prime: '\u2032',\n primes: '\u2119',\n prnE: '\u2AB5',\n prnap: '\u2AB9',\n prnsim: '\u22E8',\n prod: '\u220F',\n profalar: '\u232E',\n profline: '\u2312',\n profsurf: '\u2313',\n prop: '\u221D',\n propto: '\u221D',\n prsim: '\u227E',\n prurel: '\u22B0',\n pscr: '\uD835\uDCC5',\n psi: '\u03C8',\n puncsp: '\u2008',\n qfr: '\uD835\uDD2E',\n qint: '\u2A0C',\n qopf: '\uD835\uDD62',\n qprime: '\u2057',\n qscr: '\uD835\uDCC6',\n quaternions: '\u210D',\n quatint: '\u2A16',\n quest: '?',\n questeq: '\u225F',\n quot: '\"',\n rAarr: '\u21DB',\n rArr: '\u21D2',\n rAtail: '\u291C',\n rBarr: '\u290F',\n rHar: '\u2964',\n race: '\u223D\u0331',\n racute: '\u0155',\n radic: '\u221A',\n raemptyv: '\u29B3',\n rang: '\u27E9',\n rangd: '\u2992',\n range: '\u29A5',\n rangle: '\u27E9',\n raquo: '\u00BB',\n rarr: '\u2192',\n rarrap: '\u2975',\n rarrb: '\u21E5',\n rarrbfs: '\u2920',\n rarrc: '\u2933',\n rarrfs: '\u291E',\n rarrhk: '\u21AA',\n rarrlp: '\u21AC',\n rarrpl: '\u2945',\n rarrsim: '\u2974',\n rarrtl: '\u21A3',\n rarrw: '\u219D',\n ratail: '\u291A',\n ratio: '\u2236',\n rationals: '\u211A',\n rbarr: '\u290D',\n rbbrk: '\u2773',\n rbrace: '}',\n rbrack: ']',\n rbrke: '\u298C',\n rbrksld: '\u298E',\n rbrkslu: '\u2990',\n rcaron: '\u0159',\n rcedil: '\u0157',\n rceil: '\u2309',\n rcub: '}',\n rcy: '\u0440',\n rdca: '\u2937',\n rdldhar: '\u2969',\n rdquo: '\u201D',\n rdquor: '\u201D',\n rdsh: '\u21B3',\n real: '\u211C',\n realine: '\u211B',\n realpart: '\u211C',\n reals: '\u211D',\n rect: '\u25AD',\n reg: '\u00AE',\n rfisht: '\u297D',\n rfloor: '\u230B',\n rfr: '\uD835\uDD2F',\n rhard: '\u21C1',\n rharu: '\u21C0',\n rharul: '\u296C',\n rho: '\u03C1',\n rhov: '\u03F1',\n rightarrow: '\u2192',\n rightarrowtail: '\u21A3',\n rightharpoondown: '\u21C1',\n rightharpoonup: '\u21C0',\n rightleftarrows: '\u21C4',\n rightleftharpoons: '\u21CC',\n rightrightarrows: '\u21C9',\n rightsquigarrow: '\u219D',\n rightthreetimes: '\u22CC',\n ring: '\u02DA',\n risingdotseq: '\u2253',\n rlarr: '\u21C4',\n rlhar: '\u21CC',\n rlm: '\u200F',\n rmoust: '\u23B1',\n rmoustache: '\u23B1',\n rnmid: '\u2AEE',\n roang: '\u27ED',\n roarr: '\u21FE',\n robrk: '\u27E7',\n ropar: '\u2986',\n ropf: '\uD835\uDD63',\n roplus: '\u2A2E',\n rotimes: '\u2A35',\n rpar: ')',\n rpargt: '\u2994',\n rppolint: '\u2A12',\n rrarr: '\u21C9',\n rsaquo: '\u203A',\n rscr: '\uD835\uDCC7',\n rsh: '\u21B1',\n rsqb: ']',\n rsquo: '\u2019',\n rsquor: '\u2019',\n rthree: '\u22CC',\n rtimes: '\u22CA',\n rtri: '\u25B9',\n rtrie: '\u22B5',\n rtrif: '\u25B8',\n rtriltri: '\u29CE',\n ruluhar: '\u2968',\n rx: '\u211E',\n sacute: '\u015B',\n sbquo: '\u201A',\n sc: '\u227B',\n scE: '\u2AB4',\n scap: '\u2AB8',\n scaron: '\u0161',\n sccue: '\u227D',\n sce: '\u2AB0',\n scedil: '\u015F',\n scirc: '\u015D',\n scnE: '\u2AB6',\n scnap: '\u2ABA',\n scnsim: '\u22E9',\n scpolint: '\u2A13',\n scsim: '\u227F',\n scy: '\u0441',\n sdot: '\u22C5',\n sdotb: '\u22A1',\n sdote: '\u2A66',\n seArr: '\u21D8',\n searhk: '\u2925',\n searr: '\u2198',\n searrow: '\u2198',\n sect: '\u00A7',\n semi: ';',\n seswar: '\u2929',\n setminus: '\u2216',\n setmn: '\u2216',\n sext: '\u2736',\n sfr: '\uD835\uDD30',\n sfrown: '\u2322',\n sharp: '\u266F',\n shchcy: '\u0449',\n shcy: '\u0448',\n shortmid: '\u2223',\n shortparallel: '\u2225',\n shy: '\u00AD',\n sigma: '\u03C3',\n sigmaf: '\u03C2',\n sigmav: '\u03C2',\n sim: '\u223C',\n simdot: '\u2A6A',\n sime: '\u2243',\n simeq: '\u2243',\n simg: '\u2A9E',\n simgE: '\u2AA0',\n siml: '\u2A9D',\n simlE: '\u2A9F',\n simne: '\u2246',\n simplus: '\u2A24',\n simrarr: '\u2972',\n slarr: '\u2190',\n smallsetminus: '\u2216',\n smashp: '\u2A33',\n smeparsl: '\u29E4',\n smid: '\u2223',\n smile: '\u2323',\n smt: '\u2AAA',\n smte: '\u2AAC',\n smtes: '\u2AAC\uFE00',\n softcy: '\u044C',\n sol: '/',\n solb: '\u29C4',\n solbar: '\u233F',\n sopf: '\uD835\uDD64',\n spades: '\u2660',\n spadesuit: '\u2660',\n spar: '\u2225',\n sqcap: '\u2293',\n sqcaps: '\u2293\uFE00',\n sqcup: '\u2294',\n sqcups: '\u2294\uFE00',\n sqsub: '\u228F',\n sqsube: '\u2291',\n sqsubset: '\u228F',\n sqsubseteq: '\u2291',\n sqsup: '\u2290',\n sqsupe: '\u2292',\n sqsupset: '\u2290',\n sqsupseteq: '\u2292',\n squ: '\u25A1',\n square: '\u25A1',\n squarf: '\u25AA',\n squf: '\u25AA',\n srarr: '\u2192',\n sscr: '\uD835\uDCC8',\n ssetmn: '\u2216',\n ssmile: '\u2323',\n sstarf: '\u22C6',\n star: '\u2606',\n starf: '\u2605',\n straightepsilon: '\u03F5',\n straightphi: '\u03D5',\n strns: '\u00AF',\n sub: '\u2282',\n subE: '\u2AC5',\n subdot: '\u2ABD',\n sube: '\u2286',\n subedot: '\u2AC3',\n submult: '\u2AC1',\n subnE: '\u2ACB',\n subne: '\u228A',\n subplus: '\u2ABF',\n subrarr: '\u2979',\n subset: '\u2282',\n subseteq: '\u2286',\n subseteqq: '\u2AC5',\n subsetneq: '\u228A',\n subsetneqq: '\u2ACB',\n subsim: '\u2AC7',\n subsub: '\u2AD5',\n subsup: '\u2AD3',\n succ: '\u227B',\n succapprox: '\u2AB8',\n succcurlyeq: '\u227D',\n succeq: '\u2AB0',\n succnapprox: '\u2ABA',\n succneqq: '\u2AB6',\n succnsim: '\u22E9',\n succsim: '\u227F',\n sum: '\u2211',\n sung: '\u266A',\n sup1: '\u00B9',\n sup2: '\u00B2',\n sup3: '\u00B3',\n sup: '\u2283',\n supE: '\u2AC6',\n supdot: '\u2ABE',\n supdsub: '\u2AD8',\n supe: '\u2287',\n supedot: '\u2AC4',\n suphsol: '\u27C9',\n suphsub: '\u2AD7',\n suplarr: '\u297B',\n supmult: '\u2AC2',\n supnE: '\u2ACC',\n supne: '\u228B',\n supplus: '\u2AC0',\n supset: '\u2283',\n supseteq: '\u2287',\n supseteqq: '\u2AC6',\n supsetneq: '\u228B',\n supsetneqq: '\u2ACC',\n supsim: '\u2AC8',\n supsub: '\u2AD4',\n supsup: '\u2AD6',\n swArr: '\u21D9',\n swarhk: '\u2926',\n swarr: '\u2199',\n swarrow: '\u2199',\n swnwar: '\u292A',\n szlig: '\u00DF',\n target: '\u2316',\n tau: '\u03C4',\n tbrk: '\u23B4',\n tcaron: '\u0165',\n tcedil: '\u0163',\n tcy: '\u0442',\n tdot: '\u20DB',\n telrec: '\u2315',\n tfr: '\uD835\uDD31',\n there4: '\u2234',\n therefore: '\u2234',\n theta: '\u03B8',\n thetasym: '\u03D1',\n thetav: '\u03D1',\n thickapprox: '\u2248',\n thicksim: '\u223C',\n thinsp: '\u2009',\n thkap: '\u2248',\n thksim: '\u223C',\n thorn: '\u00FE',\n tilde: '\u02DC',\n times: '\u00D7',\n timesb: '\u22A0',\n timesbar: '\u2A31',\n timesd: '\u2A30',\n tint: '\u222D',\n toea: '\u2928',\n top: '\u22A4',\n topbot: '\u2336',\n topcir: '\u2AF1',\n topf: '\uD835\uDD65',\n topfork: '\u2ADA',\n tosa: '\u2929',\n tprime: '\u2034',\n trade: '\u2122',\n triangle: '\u25B5',\n triangledown: '\u25BF',\n triangleleft: '\u25C3',\n trianglelefteq: '\u22B4',\n triangleq: '\u225C',\n triangleright: '\u25B9',\n trianglerighteq: '\u22B5',\n tridot: '\u25EC',\n trie: '\u225C',\n triminus: '\u2A3A',\n triplus: '\u2A39',\n trisb: '\u29CD',\n tritime: '\u2A3B',\n trpezium: '\u23E2',\n tscr: '\uD835\uDCC9',\n tscy: '\u0446',\n tshcy: '\u045B',\n tstrok: '\u0167',\n twixt: '\u226C',\n twoheadleftarrow: '\u219E',\n twoheadrightarrow: '\u21A0',\n uArr: '\u21D1',\n uHar: '\u2963',\n uacute: '\u00FA',\n uarr: '\u2191',\n ubrcy: '\u045E',\n ubreve: '\u016D',\n ucirc: '\u00FB',\n ucy: '\u0443',\n udarr: '\u21C5',\n udblac: '\u0171',\n udhar: '\u296E',\n ufisht: '\u297E',\n ufr: '\uD835\uDD32',\n ugrave: '\u00F9',\n uharl: '\u21BF',\n uharr: '\u21BE',\n uhblk: '\u2580',\n ulcorn: '\u231C',\n ulcorner: '\u231C',\n ulcrop: '\u230F',\n ultri: '\u25F8',\n umacr: '\u016B',\n uml: '\u00A8',\n uogon: '\u0173',\n uopf: '\uD835\uDD66',\n uparrow: '\u2191',\n updownarrow: '\u2195',\n upharpoonleft: '\u21BF',\n upharpoonright: '\u21BE',\n uplus: '\u228E',\n upsi: '\u03C5',\n upsih: '\u03D2',\n upsilon: '\u03C5',\n upuparrows: '\u21C8',\n urcorn: '\u231D',\n urcorner: '\u231D',\n urcrop: '\u230E',\n uring: '\u016F',\n urtri: '\u25F9',\n uscr: '\uD835\uDCCA',\n utdot: '\u22F0',\n utilde: '\u0169',\n utri: '\u25B5',\n utrif: '\u25B4',\n uuarr: '\u21C8',\n uuml: '\u00FC',\n uwangle: '\u29A7',\n vArr: '\u21D5',\n vBar: '\u2AE8',\n vBarv: '\u2AE9',\n vDash: '\u22A8',\n vangrt: '\u299C',\n varepsilon: '\u03F5',\n varkappa: '\u03F0',\n varnothing: '\u2205',\n varphi: '\u03D5',\n varpi: '\u03D6',\n varpropto: '\u221D',\n varr: '\u2195',\n varrho: '\u03F1',\n varsigma: '\u03C2',\n varsubsetneq: '\u228A\uFE00',\n varsubsetneqq: '\u2ACB\uFE00',\n varsupsetneq: '\u228B\uFE00',\n varsupsetneqq: '\u2ACC\uFE00',\n vartheta: '\u03D1',\n vartriangleleft: '\u22B2',\n vartriangleright: '\u22B3',\n vcy: '\u0432',\n vdash: '\u22A2',\n vee: '\u2228',\n veebar: '\u22BB',\n veeeq: '\u225A',\n vellip: '\u22EE',\n verbar: '|',\n vert: '|',\n vfr: '\uD835\uDD33',\n vltri: '\u22B2',\n vnsub: '\u2282\u20D2',\n vnsup: '\u2283\u20D2',\n vopf: '\uD835\uDD67',\n vprop: '\u221D',\n vrtri: '\u22B3',\n vscr: '\uD835\uDCCB',\n vsubnE: '\u2ACB\uFE00',\n vsubne: '\u228A\uFE00',\n vsupnE: '\u2ACC\uFE00',\n vsupne: '\u228B\uFE00',\n vzigzag: '\u299A',\n wcirc: '\u0175',\n wedbar: '\u2A5F',\n wedge: '\u2227',\n wedgeq: '\u2259',\n weierp: '\u2118',\n wfr: '\uD835\uDD34',\n wopf: '\uD835\uDD68',\n wp: '\u2118',\n wr: '\u2240',\n wreath: '\u2240',\n wscr: '\uD835\uDCCC',\n xcap: '\u22C2',\n xcirc: '\u25EF',\n xcup: '\u22C3',\n xdtri: '\u25BD',\n xfr: '\uD835\uDD35',\n xhArr: '\u27FA',\n xharr: '\u27F7',\n xi: '\u03BE',\n xlArr: '\u27F8',\n xlarr: '\u27F5',\n xmap: '\u27FC',\n xnis: '\u22FB',\n xodot: '\u2A00',\n xopf: '\uD835\uDD69',\n xoplus: '\u2A01',\n xotime: '\u2A02',\n xrArr: '\u27F9',\n xrarr: '\u27F6',\n xscr: '\uD835\uDCCD',\n xsqcup: '\u2A06',\n xuplus: '\u2A04',\n xutri: '\u25B3',\n xvee: '\u22C1',\n xwedge: '\u22C0',\n yacute: '\u00FD',\n yacy: '\u044F',\n ycirc: '\u0177',\n ycy: '\u044B',\n yen: '\u00A5',\n yfr: '\uD835\uDD36',\n yicy: '\u0457',\n yopf: '\uD835\uDD6A',\n yscr: '\uD835\uDCCE',\n yucy: '\u044E',\n yuml: '\u00FF',\n zacute: '\u017A',\n zcaron: '\u017E',\n zcy: '\u0437',\n zdot: '\u017C',\n zeetrf: '\u2128',\n zeta: '\u03B6',\n zfr: '\uD835\uDD37',\n zhcy: '\u0436',\n zigrarr: '\u21DD',\n zopf: '\uD835\uDD6B',\n zscr: '\uD835\uDCCF',\n zwj: '\u200D',\n zwnj: '\u200C'\n}\n", "import {characterEntities} from 'character-entities'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Decode a single character reference (without the `&` or `;`).\n * You probably only need this when you\u2019re building parsers yourself that follow\n * different rules compared to HTML.\n * This is optimized to be tiny in browsers.\n *\n * @param {string} value\n * `notin` (named), `#123` (deci), `#x123` (hexa).\n * @returns {string|false}\n * Decoded reference.\n */\nexport function decodeNamedCharacterReference(value) {\n return own.call(characterEntities, value) ? characterEntities[value] : false\n}\n", "/**\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\nimport {characterEntitiesLegacy} from 'character-entities-legacy'\nimport {characterReferenceInvalid} from 'character-reference-invalid'\nimport {isDecimal} from 'is-decimal'\nimport {isHexadecimal} from 'is-hexadecimal'\nimport {isAlphanumerical} from 'is-alphanumerical'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\n\nconst fromCharCode = String.fromCharCode\n\n// Warning messages.\nconst messages = [\n '',\n /* 1: Non terminated (named) */\n 'Named character references must be terminated by a semicolon',\n /* 2: Non terminated (numeric) */\n 'Numeric character references must be terminated by a semicolon',\n /* 3: Empty (named) */\n 'Named character references cannot be empty',\n /* 4: Empty (numeric) */\n 'Numeric character references cannot be empty',\n /* 5: Unknown (named) */\n 'Named character references must be known',\n /* 6: Disallowed (numeric) */\n 'Numeric character references cannot be disallowed',\n /* 7: Prohibited (numeric) */\n 'Numeric character references cannot be outside the permissible Unicode range'\n]\n\n/**\n * Parse HTML character references.\n *\n * @param {string} value\n * @param {import('../index.js').Options} [options={}]\n */\nexport function parseEntities(value, options = {}) {\n const additional =\n typeof options.additional === 'string'\n ? options.additional.charCodeAt(0)\n : options.additional\n /** @type {Array<string>} */\n const result = []\n let index = 0\n let lines = -1\n let queue = ''\n /** @type {Point|undefined} */\n let point\n /** @type {Array<number>|undefined} */\n let indent\n\n if (options.position) {\n if ('start' in options.position || 'indent' in options.position) {\n // @ts-expect-error: points don\u2019t have indent.\n indent = options.position.indent\n // @ts-expect-error: points don\u2019t have indent.\n point = options.position.start\n } else {\n point = options.position\n }\n }\n\n let line = (point ? point.line : 0) || 1\n let column = (point ? point.column : 0) || 1\n\n // Cache the current point.\n let previous = now()\n /** @type {number|undefined} */\n let character\n\n // Ensure the algorithm walks over the first character (inclusive).\n index--\n\n while (++index <= value.length) {\n // If the previous character was a newline.\n if (character === 10 /* `\\n` */) {\n column = (indent ? indent[lines] : 0) || 1\n }\n\n character = value.charCodeAt(index)\n\n if (character === 38 /* `&` */) {\n const following = value.charCodeAt(index + 1)\n\n // The behavior depends on the identity of the next character.\n if (\n following === 9 /* `\\t` */ ||\n following === 10 /* `\\n` */ ||\n following === 12 /* `\\f` */ ||\n following === 32 /* ` ` */ ||\n following === 38 /* `&` */ ||\n following === 60 /* `<` */ ||\n Number.isNaN(following) ||\n (additional && following === additional)\n ) {\n // Not a character reference.\n // No characters are consumed, and nothing is returned.\n // This is not an error, either.\n queue += fromCharCode(character)\n column++\n continue\n }\n\n const start = index + 1\n let begin = start\n let end = start\n /** @type {string} */\n let type\n\n if (following === 35 /* `#` */) {\n // Numerical reference.\n end = ++begin\n\n // The behavior further depends on the next character.\n const following = value.charCodeAt(end)\n\n if (following === 88 /* `X` */ || following === 120 /* `x` */) {\n // ASCII hexadecimal digits.\n type = 'hexadecimal'\n end = ++begin\n } else {\n // ASCII decimal digits.\n type = 'decimal'\n }\n } else {\n // Named reference.\n type = 'named'\n }\n\n let characterReferenceCharacters = ''\n let characterReference = ''\n let characters = ''\n // Each type of character reference accepts different characters.\n // This test is used to detect whether a reference has ended (as the semicolon\n // is not strictly needed).\n const test =\n type === 'named'\n ? isAlphanumerical\n : type === 'decimal'\n ? isDecimal\n : isHexadecimal\n\n end--\n\n while (++end <= value.length) {\n const following = value.charCodeAt(end)\n\n if (!test(following)) {\n break\n }\n\n characters += fromCharCode(following)\n\n // Check if we can match a legacy named reference.\n // If so, we cache that as the last viable named reference.\n // This ensures we do not need to walk backwards later.\n if (type === 'named' && characterEntitiesLegacy.includes(characters)) {\n characterReferenceCharacters = characters\n // @ts-expect-error: always able to decode.\n characterReference = decodeNamedCharacterReference(characters)\n }\n }\n\n let terminated = value.charCodeAt(end) === 59 /* `;` */\n\n if (terminated) {\n end++\n\n const namedReference =\n type === 'named' ? decodeNamedCharacterReference(characters) : false\n\n if (namedReference) {\n characterReferenceCharacters = characters\n characterReference = namedReference\n }\n }\n\n let diff = 1 + end - start\n let reference = ''\n\n if (!terminated && options.nonTerminated === false) {\n // Empty.\n } else if (!characters) {\n // An empty (possible) reference is valid, unless it\u2019s numeric (thus an\n // ampersand followed by an octothorp).\n if (type !== 'named') {\n warning(4 /* Empty (numeric) */, diff)\n }\n } else if (type === 'named') {\n // An ampersand followed by anything unknown, and not terminated, is\n // invalid.\n if (terminated && !characterReference) {\n warning(5 /* Unknown (named) */, 1)\n } else {\n // If there\u2019s something after an named reference which is not known,\n // cap the reference.\n if (characterReferenceCharacters !== characters) {\n end = begin + characterReferenceCharacters.length\n diff = 1 + end - begin\n terminated = false\n }\n\n // If the reference is not terminated, warn.\n if (!terminated) {\n const reason = characterReferenceCharacters\n ? 1 /* Non terminated (named) */\n : 3 /* Empty (named) */\n\n if (options.attribute) {\n const following = value.charCodeAt(end)\n\n if (following === 61 /* `=` */) {\n warning(reason, diff)\n characterReference = ''\n } else if (isAlphanumerical(following)) {\n characterReference = ''\n } else {\n warning(reason, diff)\n }\n } else {\n warning(reason, diff)\n }\n }\n }\n\n reference = characterReference\n } else {\n if (!terminated) {\n // All nonterminated numeric references are not rendered, and emit a\n // warning.\n warning(2 /* Non terminated (numeric) */, diff)\n }\n\n // When terminated and numerical, parse as either hexadecimal or\n // decimal.\n let referenceCode = Number.parseInt(\n characters,\n type === 'hexadecimal' ? 16 : 10\n )\n\n // Emit a warning when the parsed number is prohibited, and replace with\n // replacement character.\n if (prohibited(referenceCode)) {\n warning(7 /* Prohibited (numeric) */, diff)\n reference = fromCharCode(65533 /* `\uFFFD` */)\n } else if (referenceCode in characterReferenceInvalid) {\n // Emit a warning when the parsed number is disallowed, and replace by\n // an alternative.\n warning(6 /* Disallowed (numeric) */, diff)\n reference = characterReferenceInvalid[referenceCode]\n } else {\n // Parse the number.\n let output = ''\n\n // Emit a warning when the parsed number should not be used.\n if (disallowed(referenceCode)) {\n warning(6 /* Disallowed (numeric) */, diff)\n }\n\n // Serialize the number.\n if (referenceCode > 0xffff) {\n referenceCode -= 0x10000\n output += fromCharCode((referenceCode >>> (10 & 0x3ff)) | 0xd800)\n referenceCode = 0xdc00 | (referenceCode & 0x3ff)\n }\n\n reference = output + fromCharCode(referenceCode)\n }\n }\n\n // Found it!\n // First eat the queued characters as normal text, then eat a reference.\n if (reference) {\n flush()\n\n previous = now()\n index = end - 1\n column += end - start + 1\n result.push(reference)\n const next = now()\n next.offset++\n\n if (options.reference) {\n options.reference.call(\n options.referenceContext,\n reference,\n {start: previous, end: next},\n value.slice(start - 1, end)\n )\n }\n\n previous = next\n } else {\n // If we could not find a reference, queue the checked characters (as\n // normal characters), and move the pointer to their end.\n // This is possible because we can be certain neither newlines nor\n // ampersands are included.\n characters = value.slice(start - 1, end)\n queue += characters\n column += characters.length\n index = end - 1\n }\n } else {\n // Handle anything other than an ampersand, including newlines and EOF.\n if (character === 10 /* `\\n` */) {\n line++\n lines++\n column = 0\n }\n\n if (Number.isNaN(character)) {\n flush()\n } else {\n queue += fromCharCode(character)\n column++\n }\n }\n }\n\n // Return the reduced nodes.\n return result.join('')\n\n // Get current position.\n function now() {\n return {\n line,\n column,\n offset: index + ((point ? point.offset : 0) || 0)\n }\n }\n\n /**\n * Handle the warning.\n *\n * @param {1|2|3|4|5|6|7} code\n * @param {number} offset\n */\n function warning(code, offset) {\n /** @type {ReturnType<now>} */\n let position\n\n if (options.warning) {\n position = now()\n position.column += offset\n position.offset += offset\n\n options.warning.call(\n options.warningContext,\n messages[code],\n position,\n code\n )\n }\n }\n\n /**\n * Flush `queue` (normal text).\n * Macro invoked before each reference and at the end of `value`.\n * Does nothing when `queue` is empty.\n */\n function flush() {\n if (queue) {\n result.push(queue)\n\n if (options.text) {\n options.text.call(options.textContext, queue, {\n start: previous,\n end: now()\n })\n }\n\n queue = ''\n }\n }\n}\n\n/**\n * Check if `character` is outside the permissible unicode range.\n *\n * @param {number} code\n * @returns {boolean}\n */\nfunction prohibited(code) {\n return (code >= 0xd800 && code <= 0xdfff) || code > 0x10ffff\n}\n\n/**\n * Check if `character` is disallowed.\n *\n * @param {number} code\n * @returns {boolean}\n */\nfunction disallowed(code) {\n return (\n (code >= 0x0001 && code <= 0x0008) ||\n code === 0x000b ||\n (code >= 0x000d && code <= 0x001f) ||\n (code >= 0x007f && code <= 0x009f) ||\n (code >= 0xfdd0 && code <= 0xfdef) ||\n (code & 0xffff) === 0xffff ||\n (code & 0xffff) === 0xfffe\n )\n}\n", "// @ts-nocheck\n\n// This is a slimmed down version of `prism-core.js`, to remove globals,\n// document, workers, `util.encode`, `Token.stringify`\n\n// Private helper vars\nvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i\nvar uniqueId = 0\n\n// The grammar object for plaintext\nvar plainTextGrammar = {}\n\nvar _ = {\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n /**\n * Returns the name of the type of the given value.\n *\n * @param {any} o\n * @returns {string}\n * @example\n * type(null) === 'Null'\n * type(undefined) === 'Undefined'\n * type(123) === 'Number'\n * type('foo') === 'String'\n * type(true) === 'Boolean'\n * type([1, 2]) === 'Array'\n * type({}) === 'Object'\n * type(String) === 'Function'\n * type(/abc+/) === 'RegExp'\n */\n type: function (o) {\n return Object.prototype.toString.call(o).slice(8, -1)\n },\n\n /**\n * Returns a unique number for the given object. Later calls will still return the same number.\n *\n * @param {Object} obj\n * @returns {number}\n */\n objId: function (obj) {\n if (!obj['__id']) {\n Object.defineProperty(obj, '__id', {value: ++uniqueId})\n }\n return obj['__id']\n },\n\n /**\n * Creates a deep clone of the given object.\n *\n * The main intended use of this function is to clone language definitions.\n *\n * @param {T} o\n * @param {Record<number, any>} [visited]\n * @returns {T}\n * @template T\n */\n clone: function deepClone(o, visited) {\n visited = visited || {}\n\n var clone\n var id\n switch (_.util.type(o)) {\n case 'Object':\n id = _.util.objId(o)\n if (visited[id]) {\n return visited[id]\n }\n clone = /** @type {Record<string, any>} */ ({})\n visited[id] = clone\n\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited)\n }\n }\n\n return /** @type {any} */ (clone)\n\n case 'Array':\n id = _.util.objId(o)\n if (visited[id]) {\n return visited[id]\n }\n clone = []\n visited[id] = clone\n\n o.forEach(function (v, i) {\n clone[i] = deepClone(v, visited)\n })\n\n return /** @type {any} */ (clone)\n\n default:\n return o\n }\n }\n },\n\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * The grammar for plain, unformatted text.\n */\n plain: plainTextGrammar,\n plaintext: plainTextGrammar,\n text: plainTextGrammar,\n txt: plainTextGrammar,\n\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function (id, redef) {\n var lang = _.util.clone(_.languages[id])\n\n for (var key in redef) {\n lang[key] = redef[key]\n }\n\n return lang\n },\n\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n * this:\n *\n * ```js\n * Prism.languages.markup.style = {\n * // token\n * };\n * ```\n *\n * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n * before existing tokens. For the CSS example above, you would use it like this:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'cdata', {\n * 'style': {\n * // token\n * }\n * });\n * ```\n *\n * ## Special cases\n *\n * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n * will be ignored.\n *\n * This behavior can be used to insert tokens after `before`:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'comment', {\n * 'comment': Prism.languages.markup.comment,\n * // tokens after 'comment'\n * });\n * ```\n *\n * ## Limitations\n *\n * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n * deleting properties which is necessary to insert at arbitrary positions.\n *\n * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n * Instead, it will create a new object and replace all references to the target object with the new one. This\n * can be done without temporarily deleting properties, so the iteration order is well-defined.\n *\n * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n * you hold the target object in a variable, then the value of the variable will not change.\n *\n * ```js\n * var oldMarkup = Prism.languages.markup;\n * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n *\n * assert(oldMarkup !== Prism.languages.markup);\n * assert(newMarkup === Prism.languages.markup);\n * ```\n *\n * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n * object to be modified.\n * @param {string} before The key to insert before.\n * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n * object to be modified.\n *\n * Defaults to `Prism.languages`.\n * @returns {Grammar} The new grammar object.\n * @public\n */\n insertBefore: function (inside, before, insert, root) {\n root = root || /** @type {any} */ (_.languages)\n var grammar = root[inside]\n /** @type {Grammar} */\n var ret = {}\n\n for (var token in grammar) {\n if (grammar.hasOwnProperty(token)) {\n if (token == before) {\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n ret[newToken] = insert[newToken]\n }\n }\n }\n\n // Do not insert token which also occur in insert. See #1525\n if (!insert.hasOwnProperty(token)) {\n ret[token] = grammar[token]\n }\n }\n }\n\n var old = root[inside]\n root[inside] = ret\n\n // Update references in other language definitions\n _.languages.DFS(_.languages, function (key, value) {\n if (value === old && key != inside) {\n this[key] = ret\n }\n })\n\n return ret\n },\n\n // Traverse a language definition with Depth First Search\n DFS: function DFS(o, callback, type, visited) {\n visited = visited || {}\n\n var objId = _.util.objId\n\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n callback.call(o, i, o[i], type || i)\n\n var property = o[i]\n var propertyType = _.util.type(property)\n\n if (propertyType === 'Object' && !visited[objId(property)]) {\n visited[objId(property)] = true\n DFS(property, callback, null, visited)\n } else if (propertyType === 'Array' && !visited[objId(property)]) {\n visited[objId(property)] = true\n DFS(property, callback, i, visited)\n }\n }\n }\n }\n },\n\n plugins: {},\n\n /**\n * Low-level function, only use if you know what you\u2019re doing. It accepts a string of text as input\n * and the language definitions to use, and returns a string with the HTML produced.\n *\n * The following hooks will be run:\n * 1. `before-tokenize`\n * 2. `after-tokenize`\n * 3. `wrap`: On each {@link Token}.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @param {string} language The name of the language definition passed to `grammar`.\n * @returns {string} The highlighted HTML.\n * @memberof Prism\n * @public\n * @example\n * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n */\n highlight: function (text, grammar, language) {\n var env = {\n code: text,\n grammar: grammar,\n language: language\n }\n _.hooks.run('before-tokenize', env)\n if (!env.grammar) {\n throw new Error('The language \"' + env.language + '\" has no grammar.')\n }\n env.tokens = _.tokenize(env.code, env.grammar)\n _.hooks.run('after-tokenize', env)\n return Token.stringify(_.util.encode(env.tokens), env.language)\n },\n\n /**\n * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n * and the language definitions to use, and returns an array with the tokenized code.\n *\n * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n *\n * This method could be useful in other contexts as well, as a very crude parser.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @returns {TokenStream} An array of strings and tokens, a token stream.\n * @memberof Prism\n * @public\n * @example\n * let code = `var foo = 0;`;\n * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n * tokens.forEach(token => {\n * if (token instanceof Prism.Token && token.type === 'number') {\n * console.log(`Found numeric literal: ${token.content}`);\n * }\n * });\n */\n tokenize: function (text, grammar) {\n var rest = grammar.rest\n if (rest) {\n for (var token in rest) {\n grammar[token] = rest[token]\n }\n\n delete grammar.rest\n }\n\n var tokenList = new LinkedList()\n addAfter(tokenList, tokenList.head, text)\n\n matchGrammar(text, tokenList, grammar, tokenList.head, 0)\n\n return toArray(tokenList)\n },\n\n /**\n * @namespace\n * @memberof Prism\n * @public\n */\n hooks: {\n all: {},\n\n /**\n * Adds the given callback to the list of callbacks for the given hook.\n *\n * The callback will be invoked when the hook it is registered for is run.\n * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n *\n * One callback function can be registered to multiple hooks and the same hook multiple times.\n *\n * @param {string} name The name of the hook.\n * @param {HookCallback} callback The callback function which is given environment variables.\n * @public\n */\n add: function (name, callback) {\n var hooks = _.hooks.all\n\n hooks[name] = hooks[name] || []\n\n hooks[name].push(callback)\n },\n\n /**\n * Runs a hook invoking all registered callbacks with the given environment variables.\n *\n * Callbacks will be invoked synchronously and in the order in which they were registered.\n *\n * @param {string} name The name of the hook.\n * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n * @public\n */\n run: function (name, env) {\n var callbacks = _.hooks.all[name]\n\n if (!callbacks || !callbacks.length) {\n return\n }\n\n for (var i = 0, callback; (callback = callbacks[i++]); ) {\n callback(env)\n }\n }\n },\n\n Token: Token\n}\n\n// Typescript note:\n// The following can be used to import the Token type in JSDoc:\n//\n// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n/**\n * Creates a new token.\n *\n * @param {string} type See {@link Token#type type}\n * @param {string | TokenStream} content See {@link Token#content content}\n * @param {string|string[]} [alias] The alias(es) of the token.\n * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n * @class\n * @global\n * @public\n */\nfunction Token(type, content, alias, matchedStr) {\n /**\n * The type of the token.\n *\n * This is usually the key of a pattern in a {@link Grammar}.\n *\n * @type {string}\n * @see GrammarToken\n * @public\n */\n this.type = type\n /**\n * The strings or tokens contained by this token.\n *\n * This will be a token stream if the pattern matched also defined an `inside` grammar.\n *\n * @type {string | TokenStream}\n * @public\n */\n this.content = content\n /**\n * The alias(es) of the token.\n *\n * @type {string|string[]}\n * @see GrammarToken\n * @public\n */\n this.alias = alias\n // Copy of the full string this token was created from\n this.length = (matchedStr || '').length | 0\n}\n\n/**\n * A token stream is an array of strings and {@link Token Token} objects.\n *\n * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n * them.\n *\n * 1. No adjacent strings.\n * 2. No empty strings.\n *\n * The only exception here is the token stream that only contains the empty string and nothing else.\n *\n * @typedef {Array<string | Token>} TokenStream\n * @global\n * @public\n */\n\n/**\n * @param {RegExp} pattern\n * @param {number} pos\n * @param {string} text\n * @param {boolean} lookbehind\n * @returns {RegExpExecArray | null}\n */\nfunction matchPattern(pattern, pos, text, lookbehind) {\n pattern.lastIndex = pos\n var match = pattern.exec(text)\n if (match && lookbehind && match[1]) {\n // change the match to remove the text matched by the Prism lookbehind group\n var lookbehindLength = match[1].length\n match.index += lookbehindLength\n match[0] = match[0].slice(lookbehindLength)\n }\n return match\n}\n\n/**\n * @param {string} text\n * @param {LinkedList<string | Token>} tokenList\n * @param {any} grammar\n * @param {LinkedListNode<string | Token>} startNode\n * @param {number} startPos\n * @param {RematchOptions} [rematch]\n * @returns {void}\n * @private\n *\n * @typedef RematchOptions\n * @property {string} cause\n * @property {number} reach\n */\nfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n for (var token in grammar) {\n if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n continue\n }\n\n var patterns = grammar[token]\n patterns = Array.isArray(patterns) ? patterns : [patterns]\n\n for (var j = 0; j < patterns.length; ++j) {\n if (rematch && rematch.cause == token + ',' + j) {\n return\n }\n\n var patternObj = patterns[j]\n var inside = patternObj.inside\n var lookbehind = !!patternObj.lookbehind\n var greedy = !!patternObj.greedy\n var alias = patternObj.alias\n\n if (greedy && !patternObj.pattern.global) {\n // Without the global flag, lastIndex won't work\n var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0]\n patternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g')\n }\n\n /** @type {RegExp} */\n var pattern = patternObj.pattern || patternObj\n\n for (\n // iterate the token list and keep track of the current token/string position\n var currentNode = startNode.next, pos = startPos;\n currentNode !== tokenList.tail;\n pos += currentNode.value.length, currentNode = currentNode.next\n ) {\n if (rematch && pos >= rematch.reach) {\n break\n }\n\n var str = currentNode.value\n\n if (tokenList.length > text.length) {\n // Something went terribly wrong, ABORT, ABORT!\n return\n }\n\n if (str instanceof Token) {\n continue\n }\n\n var removeCount = 1 // this is the to parameter of removeBetween\n var match\n\n if (greedy) {\n match = matchPattern(pattern, pos, text, lookbehind)\n if (!match || match.index >= text.length) {\n break\n }\n\n var from = match.index\n var to = match.index + match[0].length\n var p = pos\n\n // find the node that contains the match\n p += currentNode.value.length\n while (from >= p) {\n currentNode = currentNode.next\n p += currentNode.value.length\n }\n // adjust pos (and p)\n p -= currentNode.value.length\n pos = p\n\n // the current node is a Token, then the match starts inside another Token, which is invalid\n if (currentNode.value instanceof Token) {\n continue\n }\n\n // find the last node which is affected by this match\n for (\n var k = currentNode;\n k !== tokenList.tail && (p < to || typeof k.value === 'string');\n k = k.next\n ) {\n removeCount++\n p += k.value.length\n }\n removeCount--\n\n // replace with the new match\n str = text.slice(pos, p)\n match.index -= pos\n } else {\n match = matchPattern(pattern, 0, str, lookbehind)\n if (!match) {\n continue\n }\n }\n\n // eslint-disable-next-line no-redeclare\n var from = match.index\n var matchStr = match[0]\n var before = str.slice(0, from)\n var after = str.slice(from + matchStr.length)\n\n var reach = pos + str.length\n if (rematch && reach > rematch.reach) {\n rematch.reach = reach\n }\n\n var removeFrom = currentNode.prev\n\n if (before) {\n removeFrom = addAfter(tokenList, removeFrom, before)\n pos += before.length\n }\n\n removeRange(tokenList, removeFrom, removeCount)\n\n var wrapped = new Token(\n token,\n inside ? _.tokenize(matchStr, inside) : matchStr,\n alias,\n matchStr\n )\n currentNode = addAfter(tokenList, removeFrom, wrapped)\n\n if (after) {\n addAfter(tokenList, currentNode, after)\n }\n\n if (removeCount > 1) {\n // at least one Token object was removed, so we have to do some rematching\n // this can only happen if the current pattern is greedy\n\n /** @type {RematchOptions} */\n var nestedRematch = {\n cause: token + ',' + j,\n reach: reach\n }\n matchGrammar(\n text,\n tokenList,\n grammar,\n currentNode.prev,\n pos,\n nestedRematch\n )\n\n // the reach might have been extended because of the rematching\n if (rematch && nestedRematch.reach > rematch.reach) {\n rematch.reach = nestedRematch.reach\n }\n }\n }\n }\n }\n}\n\n/**\n * @typedef LinkedListNode\n * @property {T} value\n * @property {LinkedListNode<T> | null} prev The previous node.\n * @property {LinkedListNode<T> | null} next The next node.\n * @template T\n * @private\n */\n\n/**\n * @template T\n * @private\n */\nfunction LinkedList() {\n /** @type {LinkedListNode<T>} */\n var head = {value: null, prev: null, next: null}\n /** @type {LinkedListNode<T>} */\n var tail = {value: null, prev: head, next: null}\n head.next = tail\n\n /** @type {LinkedListNode<T>} */\n this.head = head\n /** @type {LinkedListNode<T>} */\n this.tail = tail\n this.length = 0\n}\n\n/**\n * Adds a new node with the given value to the list.\n *\n * @param {LinkedList<T>} list\n * @param {LinkedListNode<T>} node\n * @param {T} value\n * @returns {LinkedListNode<T>} The added node.\n * @template T\n */\nfunction addAfter(list, node, value) {\n // assumes that node != list.tail && values.length >= 0\n var next = node.next\n\n var newNode = {value: value, prev: node, next: next}\n node.next = newNode\n next.prev = newNode\n list.length++\n\n return newNode\n}\n/**\n * Removes `count` nodes after the given node. The given node will not be removed.\n *\n * @param {LinkedList<T>} list\n * @param {LinkedListNode<T>} node\n * @param {number} count\n * @template T\n */\nfunction removeRange(list, node, count) {\n var next = node.next\n for (var i = 0; i < count && next !== list.tail; i++) {\n next = next.next\n }\n node.next = next\n next.prev = node\n list.length -= i\n}\n/**\n * @param {LinkedList<T>} list\n * @returns {T[]}\n * @template T\n */\nfunction toArray(list) {\n var array = []\n var node = list.head.next\n while (node !== list.tail) {\n array.push(node.value)\n node = node.next\n }\n return array\n}\n\nexport const Prism = _\n\n// some additional documentation/types\n\n/**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n/**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n/**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n/**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n", "/**\n * @typedef _Token A hidden Prism token\n * @property {string} type\n * @property {string} content\n * @property {string} alias\n * @property {number} length\n *\n * @typedef _Env A hidden Prism environment\n * @property {string} type\n * @property {string} tag\n * @property {Text|RefractorElement|Array<Text|RefractorElement>} content\n * @property {Array<string>} classes\n * @property {Record<string, string>} attributes\n * @property {string} language\n *\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {Omit<Element, 'children'> & {children: Array<RefractorElement|Text>}} RefractorElement\n * @typedef {Omit<Root, 'children'> & {children: Array<RefractorElement|Text>}} RefractorRoot\n *\n * @typedef {import('prismjs').Languages} Languages\n * @typedef {import('prismjs').Grammar} Grammar Whatever this is, Prism handles it.\n * @typedef {((prism: unknown) => void) & {displayName: string, aliases?: Array<string>}} Syntax A refractor syntax function\n *\n * @typedef Refractor Virtual syntax highlighting\n * @property {highlight} highlight\n * @property {alias} alias\n * @property {register} register\n * @property {registered} registered\n * @property {listLanguages} listLanguages\n * @property {Languages} languages\n */\n\n// Load all stuff in `prism.js` itself, except for `prism-file-highlight.js`.\n// The wrapped non-leaky grammars are loaded instead of Prism\u2019s originals.\nimport {h} from 'hastscript'\nimport {parseEntities} from 'parse-entities'\nimport {Prism} from './prism-core.js'\n\nconst own = {}.hasOwnProperty\n\n// Inherit.\nfunction Refractor() {}\n\nRefractor.prototype = Prism\n\n/** @type {Refractor} */\n// @ts-expect-error: TS is wrong.\nexport const refractor = new Refractor()\n\n// Create.\nrefractor.highlight = highlight\nrefractor.register = register\nrefractor.alias = alias\nrefractor.registered = registered\nrefractor.listLanguages = listLanguages\n\n// @ts-expect-error Overwrite Prism.\nrefractor.util.encode = encode\n// @ts-expect-error Overwrite Prism.\nrefractor.Token.stringify = stringify\n\n/**\n * Highlight `value` (code) as `language` (programming language).\n *\n * @param {string} value\n * Code to highlight.\n * @param {string|Grammar} language\n * Programming language name, alias, or grammar.\n * @returns {RefractorRoot}\n * Node representing highlighted code.\n */\nfunction highlight(value, language) {\n if (typeof value !== 'string') {\n throw new TypeError('Expected `string` for `value`, got `' + value + '`')\n }\n\n /** @type {Grammar} */\n let grammar\n /** @type {string|undefined} */\n let name\n\n // `name` is a grammar object.\n // This was called internally by Prism.js before 1.28.0.\n /* c8 ignore next 2 */\n if (language && typeof language === 'object') {\n grammar = language\n } else {\n name = language\n\n if (typeof name !== 'string') {\n throw new TypeError('Expected `string` for `name`, got `' + name + '`')\n }\n\n if (own.call(refractor.languages, name)) {\n grammar = refractor.languages[name]\n } else {\n throw new Error('Unknown language: `' + name + '` is not registered')\n }\n }\n\n return {\n type: 'root',\n // @ts-expect-error: we hacked Prism to accept and return the things we want.\n children: Prism.highlight.call(refractor, value, grammar, name)\n }\n}\n\n/**\n * Register a syntax.\n *\n * @param {Syntax} syntax\n * Language function made for refractor, as in, the files in\n * `refractor/lang/*.js`.\n * @returns {void}\n */\nfunction register(syntax) {\n if (typeof syntax !== 'function' || !syntax.displayName) {\n throw new Error('Expected `function` for `syntax`, got `' + syntax + '`')\n }\n\n // Do not duplicate registrations.\n if (!own.call(refractor.languages, syntax.displayName)) {\n syntax(refractor)\n }\n}\n\n/**\n * Register aliases for already registered languages.\n *\n * @param {Record<string, string|Array<string>>|string} language\n * @param {string|Array<string>} [alias]\n * @returns {void}\n */\nfunction alias(language, alias) {\n const languages = refractor.languages\n /** @type {Record<string, string|Array<string>>} */\n let map = {}\n\n if (typeof language === 'string') {\n if (alias) {\n map[language] = alias\n }\n } else {\n map = language\n }\n\n /** @type {string} */\n let key\n\n for (key in map) {\n if (own.call(map, key)) {\n const value = map[key]\n const list = typeof value === 'string' ? [value] : value\n let index = -1\n\n while (++index < list.length) {\n languages[list[index]] = languages[key]\n }\n }\n }\n}\n\n/**\n * Check whether an `alias` or `language` is registered.\n *\n * @param {string} aliasOrLanguage\n * @returns {boolean}\n */\nfunction registered(aliasOrLanguage) {\n if (typeof aliasOrLanguage !== 'string') {\n throw new TypeError(\n 'Expected `string` for `aliasOrLanguage`, got `' + aliasOrLanguage + '`'\n )\n }\n\n return own.call(refractor.languages, aliasOrLanguage)\n}\n\n/**\n * List all registered languages (names and aliases).\n *\n * @returns {Array<string>}\n */\nfunction listLanguages() {\n const languages = refractor.languages\n /** @type {Array<string>} */\n const list = []\n /** @type {string} */\n let language\n\n for (language in languages) {\n if (\n own.call(languages, language) &&\n typeof languages[language] === 'object'\n ) {\n list.push(language)\n }\n }\n\n return list\n}\n\n/**\n * @param {string|_Token|Array<string|_Token>} value\n * @param {string} language\n * @returns {Text|RefractorElement|Array<Text|RefractorElement>}\n */\nfunction stringify(value, language) {\n if (typeof value === 'string') {\n return {type: 'text', value}\n }\n\n if (Array.isArray(value)) {\n /** @type {Array<Text|RefractorElement>} */\n const result = []\n let index = -1\n\n while (++index < value.length) {\n if (\n value[index] !== '' &&\n value[index] !== null &&\n value[index] !== undefined\n ) {\n // @ts-expect-error Assume no sub-arrays.\n result.push(stringify(value[index], language))\n }\n }\n\n return result\n }\n\n /** @type {_Env} */\n const env = {\n type: value.type,\n content: stringify(value.content, language),\n tag: 'span',\n classes: ['token', value.type],\n attributes: {},\n language\n }\n\n if (value.alias) {\n env.classes.push(\n ...(typeof value.alias === 'string' ? [value.alias] : value.alias)\n )\n }\n\n // @ts-expect-error Prism.\n refractor.hooks.run('wrap', env)\n\n // @ts-expect-error Hush, it\u2019s fine.\n return h(\n env.tag + '.' + env.classes.join('.'),\n attributes(env.attributes),\n env.content\n )\n}\n\n/**\n * @template {unknown} T\n * @param {T} tokens\n * @returns {T}\n */\nfunction encode(tokens) {\n return tokens\n}\n\n/**\n * @param {Record<string, string>} attrs\n * @returns {Record<string, string>}\n */\nfunction attributes(attrs) {\n /** @type {string} */\n let key\n\n for (key in attrs) {\n if (own.call(attrs, key)) {\n attrs[key] = parseEntities(attrs[key])\n }\n }\n\n return attrs\n}\n", "/**\n * @typedef {import('./core.js').RefractorRoot} RefractorRoot\n * @typedef {import('./core.js').RefractorElement} RefractorElement\n * @typedef {import('./core.js').Text} Text\n * @typedef {import('./core.js').Grammar} Grammar\n * @typedef {import('./core.js').Syntax} Syntax\n */\nimport clike from '../lang/clike.js'\nimport c from '../lang/c.js'\nimport cpp from '../lang/cpp.js'\nimport arduino from '../lang/arduino.js'\nimport bash from '../lang/bash.js'\nimport csharp from '../lang/csharp.js'\nimport markup from '../lang/markup.js'\nimport css from '../lang/css.js'\nimport diff from '../lang/diff.js'\nimport go from '../lang/go.js'\nimport ini from '../lang/ini.js'\nimport java from '../lang/java.js'\nimport regex from '../lang/regex.js'\nimport javascript from '../lang/javascript.js'\nimport json from '../lang/json.js'\nimport kotlin from '../lang/kotlin.js'\nimport less from '../lang/less.js'\nimport lua from '../lang/lua.js'\nimport makefile from '../lang/makefile.js'\nimport yaml from '../lang/yaml.js'\nimport markdown from '../lang/markdown.js'\nimport objectivec from '../lang/objectivec.js'\nimport perl from '../lang/perl.js'\nimport markupTemplating from '../lang/markup-templating.js'\nimport php from '../lang/php.js'\nimport python from '../lang/python.js'\nimport r from '../lang/r.js'\nimport ruby from '../lang/ruby.js'\nimport rust from '../lang/rust.js'\nimport sass from '../lang/sass.js'\nimport scss from '../lang/scss.js'\nimport sql from '../lang/sql.js'\nimport swift from '../lang/swift.js'\nimport typescript from '../lang/typescript.js'\nimport basic from '../lang/basic.js'\nimport vbnet from '../lang/vbnet.js'\nimport {refractor} from './core.js'\n\nrefractor.register(clike)\nrefractor.register(c)\nrefractor.register(cpp)\nrefractor.register(arduino)\nrefractor.register(bash)\nrefractor.register(csharp)\nrefractor.register(markup)\nrefractor.register(css)\nrefractor.register(diff)\nrefractor.register(go)\nrefractor.register(ini)\nrefractor.register(java)\nrefractor.register(regex)\nrefractor.register(javascript)\nrefractor.register(json)\nrefractor.register(kotlin)\nrefractor.register(less)\nrefractor.register(lua)\nrefractor.register(makefile)\nrefractor.register(yaml)\nrefractor.register(markdown)\nrefractor.register(objectivec)\nrefractor.register(perl)\nrefractor.register(markupTemplating)\nrefractor.register(php)\nrefractor.register(python)\nrefractor.register(r)\nrefractor.register(ruby)\nrefractor.register(rust)\nrefractor.register(sass)\nrefractor.register(scss)\nrefractor.register(sql)\nrefractor.register(swift)\nrefractor.register(typescript)\nrefractor.register(basic)\nrefractor.register(vbnet)\n\nexport {refractor} from './core.js'\n", "// @ts-nocheck\nimport refractorJavascript from './javascript.js'\nimport refractorMarkup from './markup.js'\njsx.displayName = 'jsx'\njsx.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function jsx(Prism) {\n Prism.register(refractorJavascript)\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n var javascript = Prism.util.clone(Prism.languages.javascript)\n var space = /(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source\n var braces = /(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source\n var spread = /(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source\n\n /**\n * @param {string} source\n * @param {string} [flags]\n */\n function re(source, flags) {\n source = source\n .replace(/<S>/g, function () {\n return space\n })\n .replace(/<BRACES>/g, function () {\n return braces\n })\n .replace(/<SPREAD>/g, function () {\n return spread\n })\n return RegExp(source, flags)\n }\n spread = re(spread).source\n Prism.languages.jsx = Prism.languages.extend('markup', javascript)\n Prism.languages.jsx.tag.pattern = re(\n /<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/\n .source\n )\n Prism.languages.jsx.tag.inside['tag'].pattern = /^<\\/?[^\\s>\\/]*/\n Prism.languages.jsx.tag.inside['attr-value'].pattern =\n /=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/\n Prism.languages.jsx.tag.inside['tag'].inside['class-name'] =\n /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/\n Prism.languages.jsx.tag.inside['comment'] = javascript['comment']\n Prism.languages.insertBefore(\n 'inside',\n 'attr-name',\n {\n spread: {\n pattern: re(/<SPREAD>/.source),\n inside: Prism.languages.jsx\n }\n },\n Prism.languages.jsx.tag\n )\n Prism.languages.insertBefore(\n 'inside',\n 'special-attr',\n {\n script: {\n // Allow for two levels of nesting\n pattern: re(/=<BRACES>/.source),\n alias: 'language-javascript',\n inside: {\n 'script-punctuation': {\n pattern: /^=(?=\\{)/,\n alias: 'punctuation'\n },\n rest: Prism.languages.jsx\n }\n }\n },\n Prism.languages.jsx.tag\n )\n\n // The following will handle plain text inside tags\n var stringifyToken = function (token) {\n if (!token) {\n return ''\n }\n if (typeof token === 'string') {\n return token\n }\n if (typeof token.content === 'string') {\n return token.content\n }\n return token.content.map(stringifyToken).join('')\n }\n var walkTokens = function (tokens) {\n var openedTags = []\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n var notTagNorBrace = false\n if (typeof token !== 'string') {\n if (\n token.type === 'tag' &&\n token.content[0] &&\n token.content[0].type === 'tag'\n ) {\n // We found a tag, now find its kind\n\n if (token.content[0].content[0].content === '</') {\n // Closing tag\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].tagName ===\n stringifyToken(token.content[0].content[1])\n ) {\n // Pop matching opening tag\n openedTags.pop()\n }\n } else {\n if (token.content[token.content.length - 1].content === '/>') {\n // Autoclosed tag, ignore\n } else {\n // Opening tag\n openedTags.push({\n tagName: stringifyToken(token.content[0].content[1]),\n openedBraces: 0\n })\n }\n }\n } else if (\n openedTags.length > 0 &&\n token.type === 'punctuation' &&\n token.content === '{'\n ) {\n // Here we might have entered a JSX context inside a tag\n openedTags[openedTags.length - 1].openedBraces++\n } else if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces > 0 &&\n token.type === 'punctuation' &&\n token.content === '}'\n ) {\n // Here we might have left a JSX context inside a tag\n openedTags[openedTags.length - 1].openedBraces--\n } else {\n notTagNorBrace = true\n }\n }\n if (notTagNorBrace || typeof token === 'string') {\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces === 0\n ) {\n // Here we are inside a tag, and not inside a JSX context.\n // That's plain text: drop any tokens matched.\n var plainText = stringifyToken(token)\n\n // And merge text with adjacent text\n if (\n i < tokens.length - 1 &&\n (typeof tokens[i + 1] === 'string' ||\n tokens[i + 1].type === 'plain-text')\n ) {\n plainText += stringifyToken(tokens[i + 1])\n tokens.splice(i + 1, 1)\n }\n if (\n i > 0 &&\n (typeof tokens[i - 1] === 'string' ||\n tokens[i - 1].type === 'plain-text')\n ) {\n plainText = stringifyToken(tokens[i - 1]) + plainText\n tokens.splice(i - 1, 1)\n i--\n }\n tokens[i] = new Prism.Token(\n 'plain-text',\n plainText,\n null,\n plainText\n )\n }\n }\n if (token.content && typeof token.content !== 'string') {\n walkTokens(token.content)\n }\n }\n }\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'jsx' && env.language !== 'tsx') {\n return\n }\n walkTokens(env.tokens)\n })\n })(Prism)\n}\n", "// @ts-nocheck\nimport refractorJsx from './jsx.js'\nimport refractorTypescript from './typescript.js'\ntsx.displayName = 'tsx'\ntsx.aliases = []\n\n/** @type {import('../core.js').Syntax} */\nexport default function tsx(Prism) {\n Prism.register(refractorJsx)\n Prism.register(refractorTypescript)\n ;(function (Prism) {\n var typescript = Prism.util.clone(Prism.languages.typescript)\n Prism.languages.tsx = Prism.languages.extend('jsx', typescript)\n\n // doesn't work with TS because TS is too complex\n delete Prism.languages.tsx['parameter']\n delete Prism.languages.tsx['literal-property']\n\n // This will prevent collisions between TSX tags and TS generic types.\n // Idea by https://github.com/karlhorky\n // Discussion: https://github.com/PrismJS/prism/issues/2594#issuecomment-710666928\n var tag = Prism.languages.tsx.tag\n tag.pattern = RegExp(\n /(^|[^\\w$]|(?=<\\/))/.source + '(?:' + tag.pattern.source + ')',\n tag.pattern.flags\n )\n tag.lookbehind = true\n })(Prism)\n}\n", "/**\n * @typedef {import('hast').Root} Root\n * @typedef {Pick<import('hast-util-from-parse5').Options, 'space' | 'verbose'>} FromParse5Options\n *\n * @typedef {keyof errors} ErrorCode\n * @typedef {0|1|2|boolean|null|undefined} ErrorSeverity\n * @typedef {Partial<Record<ErrorCode, ErrorSeverity>>} ErrorFields\n *\n * @typedef ParseFields\n * @property {boolean|undefined} [fragment=false]\n * Specify whether to parse a fragment, instead of a complete document.\n * In document mode, unopened `html`, `head`, and `body` elements are opened\n * in just the right places.\n * @property {boolean|undefined} [emitParseErrors=false]\n * > \u26A0\uFE0F Parse errors are currently being added to HTML.\n * > Not all errors emitted by parse5 (or rehype-parse) are specced yet.\n * > Some documentation may still be missing.\n *\n * Emit parse errors while parsing on the vfile.\n * Setting this to `true` starts emitting HTML parse errors.\n *\n * Specific rules can be turned off by setting them to `false` (or `0`).\n * The default, when `emitParseErrors: true`, is `true` (or `1`), and means\n * that rules emit as warnings.\n * Rules can also be configured with `2`, to turn them into fatal errors.\n *\n * @typedef {FromParse5Options & ParseFields & ErrorFields} Options\n */\n\n// @ts-expect-error: remove when typed\nimport Parser5 from 'parse5/lib/parser/index.js'\nimport {fromParse5} from 'hast-util-from-parse5'\nimport {errors} from './errors.js'\n\nconst base = 'https://html.spec.whatwg.org/multipage/parsing.html#parse-error-'\n\nconst fatalities = {2: true, 1: false, 0: null}\n\n/** @type {import('unified').Plugin<[Options?] | Array<void>, string, Root>} */\nexport default function rehypeParse(options) {\n const processorSettings = /** @type {Options} */ (this.data('settings'))\n const settings = Object.assign({}, processorSettings, options)\n\n Object.assign(this, {Parser: parser})\n\n /** @type {import('unified').ParserFunction<Root>} */\n function parser(doc, file) {\n const fn = settings.fragment ? 'parseFragment' : 'parse'\n const onParseError = settings.emitParseErrors ? onerror : null\n const parse5 = new Parser5({\n sourceCodeLocationInfo: true,\n onParseError,\n scriptingEnabled: false\n })\n\n // @ts-expect-error: `parse5` returns document or fragment, which are always\n // mapped to roots.\n return fromParse5(parse5[fn](doc), {\n space: settings.space,\n file,\n verbose: settings.verbose\n })\n\n /**\n * @param {{code: string, startLine: number, startCol: number, startOffset: number, endLine: number, endCol: number, endOffset: number}} error\n */\n function onerror(error) {\n const code = error.code\n const name = camelcase(code)\n const setting = settings[name]\n const config = setting === undefined || setting === null ? true : setting\n const level = typeof config === 'number' ? config : config ? 1 : 0\n const start = {\n line: error.startLine,\n column: error.startCol,\n offset: error.startOffset\n }\n const end = {\n line: error.endLine,\n column: error.endCol,\n offset: error.endOffset\n }\n if (level) {\n /* c8 ignore next */\n const info = errors[name] || {reason: '', description: '', url: ''}\n const message = file.message(format(info.reason), {start, end})\n message.source = 'parse-error'\n message.ruleId = code\n message.fatal = fatalities[level]\n message.note = format(info.description)\n message.url = 'url' in info && info.url === false ? null : base + code\n }\n\n /**\n * @param {string} value\n * @returns {string}\n */\n function format(value) {\n return value\n .replace(/%c(?:-(\\d+))?/g, (_, /** @type {string} */ $1) => {\n const offset = $1 ? -Number.parseInt($1, 10) : 0\n const char = doc.charAt(error.startOffset + offset)\n return char === '`' ? '` ` `' : char\n })\n .replace(\n /%x/g,\n () =>\n '0x' +\n doc.charCodeAt(error.startOffset).toString(16).toUpperCase()\n )\n }\n }\n }\n}\n\n/**\n * @param {string} value\n * @returns {ErrorCode}\n */\nfunction camelcase(value) {\n // @ts-expect-error: this returns a valid error code.\n return value.replace(/-[a-z]/g, ($0) => $0.charAt(1).toUpperCase())\n}\n", "/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('vfile').Value} Value\n */\n\n/**\n * @typedef Point\n * unist point, where `line` and `column` can be `undefined`.\n * @property {number | undefined} line\n * Line.\n * @property {number | undefined} column\n * Column.\n * @property {number | undefined} [offset]\n * Offset.\n *\n * @typedef PointLike\n * unist point, allowed as input.\n * @property {number | null | undefined} [line]\n * Line.\n * @property {number | null | undefined} [column]\n * Column.\n * @property {number | null | undefined} [offset]\n * Offset.\n *\n * @callback ToPoint\n * Get a line/column-based `point` from `offset`.\n * @param {number | null | undefined} [offset]\n * Something that should be an `offset.\n * @returns {Point}\n * Point, line/column are undefined for invalid or out of bounds input.\n *\n * @callback ToOffset\n * Get an offset from a line/column-based `point`.\n * @param {Point | null | undefined} [point]\n * Something that should be a `point.\n * @returns {number}\n * Offset or `-1` for invalid or out of bounds input.\n *\n * @typedef Location\n * Accessors for index.\n * @property {ToPoint} toPoint\n * Get a line/column-based `point` from `offset`.\n * @property {ToOffset} toOffset\n * Get an offset from a line/column-based `point`.\n */\n\n/**\n * Index the given document so you can translate between line/column and offset\n * based positional info.\n *\n * @param {VFile | Value} file\n * File to index.\n * @returns {Location}\n * Accessors for index.\n */\nexport function location(file) {\n const value = String(file)\n /** @type {Array<number>} */\n const indices = []\n const search = /\\r?\\n|\\r/g\n\n while (search.test(value)) {\n indices.push(search.lastIndex)\n }\n\n indices.push(value.length + 1)\n\n return {toPoint, toOffset}\n\n /** @type {ToPoint} */\n function toPoint(offset) {\n let index = -1\n\n if (\n typeof offset === 'number' &&\n offset > -1 &&\n offset < indices[indices.length - 1]\n ) {\n while (++index < indices.length) {\n if (indices[index] > offset) {\n return {\n line: index + 1,\n column: offset - (index > 0 ? indices[index - 1] : 0) + 1,\n offset\n }\n }\n }\n }\n\n return {line: undefined, column: undefined, offset: undefined}\n }\n\n /** @type {ToOffset} */\n function toOffset(point) {\n const line = point && point.line\n const column = point && point.column\n\n if (\n typeof line === 'number' &&\n typeof column === 'number' &&\n !Number.isNaN(line) &&\n !Number.isNaN(column) &&\n line - 1 in indices\n ) {\n const offset = (indices[line - 2] || 0) + column - 1 || 0\n\n if (offset > -1 && offset < indices[indices.length - 1]) {\n return offset\n }\n }\n\n return -1\n }\n}\n", "/**\n * Map of web namespaces.\n *\n * @type {Record<string, string>}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n", "/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Content} Content\n * @typedef {import('parse5').DefaultTreeAdapterMap} DefaultTreeAdapterMap\n * @typedef {import('parse5').Token.ElementLocation} P5ElementLocation\n * @typedef {import('parse5').Token.Location} P5Location\n */\n\n/**\n * @typedef {Content | Root} Node\n * @typedef {DefaultTreeAdapterMap['document']} P5Document\n * @typedef {DefaultTreeAdapterMap['documentFragment']} P5DocumentFragment\n * @typedef {DefaultTreeAdapterMap['documentType']} P5DocumentType\n * @typedef {DefaultTreeAdapterMap['commentNode']} P5Comment\n * @typedef {DefaultTreeAdapterMap['textNode']} P5Text\n * @typedef {DefaultTreeAdapterMap['element']} P5Element\n * @typedef {DefaultTreeAdapterMap['node']} P5Node\n * @typedef {DefaultTreeAdapterMap['template']} P5Template\n *\n * @typedef {'html' | 'svg'} Space\n * Namespace.\n *\n * @typedef Options\n * Configuration.\n * @property {Space | null | undefined} [space='html']\n * Which space the document is in.\n *\n * When an `<svg>` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it.\n * @property {VFile | null | undefined} [file]\n * File used to add positional info to nodes.\n *\n * If given, the file should represent the original HTML source.\n * @property {boolean} [verbose=false]\n * Whether to add extra positional info about starting tags, closing tags,\n * and attributes to elements.\n *\n * > \uD83D\uDC49 **Note**: only used when `file` is given.\n *\n * @typedef State\n * Info passed around about the current state.\n * @property {Schema} schema\n * Current schema.\n * @property {VFile | undefined} file\n * Corresponding file.\n * @property {boolean | undefined} verbose\n * Add extra positional info.\n * @property {boolean} location\n * Whether location info was found.\n */\n\nimport {h, s} from 'hastscript'\nimport {html, svg, find} from 'property-information'\nimport {location} from 'vfile-location'\nimport {webNamespaces} from 'web-namespaces'\n\nconst own = {}.hasOwnProperty\n/** @type {unknown} */\n// type-coverage:ignore-next-line\nconst proto = Object.prototype\n\n/**\n * Transform a `parse5` AST to hast.\n *\n * @param {P5Node} tree\n * `parse5` tree to transform.\n * @param {Options | VFile | null | undefined} [options]\n * Configuration.\n * @returns {Node}\n * hast tree.\n */\nexport function fromParse5(tree, options) {\n const options_ = options || {}\n /** @type {Options} */\n let settings\n /** @type {VFile | undefined} */\n let file\n\n if (isFile(options_)) {\n file = options_\n settings = {}\n } else {\n file = options_.file || undefined\n settings = options_\n }\n\n return one(\n {\n schema: settings.space === 'svg' ? svg : html,\n file,\n verbose: settings.verbose,\n location: false\n },\n tree\n )\n}\n\n/**\n * Transform a node.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {P5Node} node\n * p5 node.\n * @returns {Node}\n * hast node.\n */\nfunction one(state, node) {\n /** @type {Node} */\n let result\n\n switch (node.nodeName) {\n case '#comment': {\n const reference = /** @type {P5Comment} */ (node)\n result = {type: 'comment', value: reference.data}\n patch(state, reference, result)\n return result\n }\n\n case '#document':\n case '#document-fragment': {\n const reference = /** @type {P5Document | P5DocumentFragment} */ (node)\n const quirksMode =\n 'mode' in reference\n ? reference.mode === 'quirks' || reference.mode === 'limited-quirks'\n : false\n\n result = {\n type: 'root',\n children: all(state, node.childNodes),\n data: {quirksMode}\n }\n\n if (state.file && state.location) {\n const doc = String(state.file)\n const loc = location(doc)\n const start = loc.toPoint(0)\n const end = loc.toPoint(doc.length)\n // @ts-expect-error: always defined as we give valid input.\n result.position = {start, end}\n }\n\n return result\n }\n\n case '#documentType': {\n const reference = /** @type {P5DocumentType} */ (node)\n // @ts-expect-error Types are out of date.\n result = {type: 'doctype'}\n patch(state, reference, result)\n return result\n }\n\n case '#text': {\n const reference = /** @type {P5Text} */ (node)\n result = {type: 'text', value: reference.value}\n patch(state, reference, result)\n return result\n }\n\n // Element.\n default: {\n const reference = /** @type {P5Element} */ (node)\n result = element(state, reference)\n return result\n }\n }\n}\n\n/**\n * Transform children.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Array<P5Node>} nodes\n * Nodes.\n * @returns {Array<Content>}\n * hast nodes.\n */\nfunction all(state, nodes) {\n let index = -1\n /** @type {Array<Content>} */\n const result = []\n\n while (++index < nodes.length) {\n // @ts-expect-error Assume no roots in `nodes`.\n result[index] = one(state, nodes[index])\n }\n\n return result\n}\n\n/**\n * Transform an element.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {P5Element} node\n * `parse5` node to transform.\n * @returns {Element}\n * hast node.\n */\nfunction element(state, node) {\n const schema = state.schema\n\n state.schema = node.namespaceURI === webNamespaces.svg ? svg : html\n\n // Props.\n let index = -1\n /** @type {Record<string, string>} */\n const props = {}\n\n while (++index < node.attrs.length) {\n const attribute = node.attrs[index]\n const name =\n (attribute.prefix ? attribute.prefix + ':' : '') + attribute.name\n if (!own.call(proto, name)) {\n props[name] = attribute.value\n }\n }\n\n // Build.\n const fn = state.schema.space === 'svg' ? s : h\n const result = fn(node.tagName, props, all(state, node.childNodes))\n patch(state, node, result)\n\n // Switch content.\n if (result.tagName === 'template') {\n const reference = /** @type {P5Template} */ (node)\n const pos = reference.sourceCodeLocation\n const startTag = pos && pos.startTag && position(pos.startTag)\n const endTag = pos && pos.endTag && position(pos.endTag)\n\n /** @type {Root} */\n // @ts-expect-error Types are wrong.\n const content = one(state, reference.content)\n\n if (startTag && endTag && state.file) {\n content.position = {start: startTag.end, end: endTag.start}\n }\n\n result.content = content\n }\n\n state.schema = schema\n\n return result\n}\n\n/**\n * Patch positional info from `from` onto `to`.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {P5Node} from\n * p5 node.\n * @param {Node} to\n * hast node.\n * @returns {void}\n * Nothing.\n */\nfunction patch(state, from, to) {\n if ('sourceCodeLocation' in from && from.sourceCodeLocation && state.file) {\n const position = createLocation(state, to, from.sourceCodeLocation)\n\n if (position) {\n state.location = true\n to.position = position\n }\n }\n}\n\n/**\n * Create clean positional information.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Node} node\n * hast node.\n * @param {P5ElementLocation} location\n * p5 location info.\n * @returns {Position | undefined}\n * Position, or nothing.\n */\nfunction createLocation(state, node, location) {\n const result = position(location)\n\n if (node.type === 'element') {\n const tail = node.children[node.children.length - 1]\n\n // Bug for unclosed with children.\n // See: <https://github.com/inikulin/parse5/issues/109>.\n if (\n result &&\n !location.endTag &&\n tail &&\n tail.position &&\n tail.position.end\n ) {\n result.end = Object.assign({}, tail.position.end)\n }\n\n if (state.verbose) {\n /** @type {Record<string, Position | undefined>} */\n const props = {}\n /** @type {string} */\n let key\n\n if (location.attrs) {\n for (key in location.attrs) {\n if (own.call(location.attrs, key)) {\n props[find(state.schema, key).property] = position(\n location.attrs[key]\n )\n }\n }\n }\n\n node.data = {\n position: {\n // @ts-expect-error: assume not `undefined`.\n opening: position(location.startTag),\n closing: location.endTag ? position(location.endTag) : null,\n properties: props\n }\n }\n }\n }\n\n return result\n}\n\n/**\n * Turn a p5 location into a position.\n *\n * @param {P5Location} loc\n * Location.\n * @returns {Position | undefined}\n * Position or nothing.\n */\nfunction position(loc) {\n const start = point({\n line: loc.startLine,\n column: loc.startCol,\n offset: loc.startOffset\n })\n const end = point({\n line: loc.endLine,\n column: loc.endCol,\n offset: loc.endOffset\n })\n // @ts-expect-error `undefined` is fine.\n return start || end ? {start, end} : undefined\n}\n\n/**\n * Filter out invalid points.\n *\n * @param {Point} point\n * Point with potentially `undefined` values.\n * @returns {Point | undefined}\n * Point or nothing.\n */\nfunction point(point) {\n return point.line && point.column ? point : undefined\n}\n\n/**\n * Check if something is a file.\n *\n * @param {VFile | Options} value\n * File or options.\n * @returns {value is VFile}\n * Whether `value` is a file.\n */\nfunction isFile(value) {\n return 'messages' in value\n}\n", "export const errors = {\n abandonedHeadElementChild: {\n reason: 'Unexpected metadata element after head',\n description:\n 'Unexpected element after head. Expected the element before `</head>`',\n url: false\n },\n abruptClosingOfEmptyComment: {\n reason: 'Unexpected abruptly closed empty comment',\n description: 'Unexpected `>` or `->`. Expected `-->` to close comments'\n },\n abruptDoctypePublicIdentifier: {\n reason: 'Unexpected abruptly closed public identifier',\n description:\n 'Unexpected `>`. Expected a closing `\"` or `\\'` after the public identifier'\n },\n abruptDoctypeSystemIdentifier: {\n reason: 'Unexpected abruptly closed system identifier',\n description:\n 'Unexpected `>`. Expected a closing `\"` or `\\'` after the identifier identifier'\n },\n absenceOfDigitsInNumericCharacterReference: {\n reason: 'Unexpected non-digit at start of numeric character reference',\n description:\n 'Unexpected `%c`. Expected `[0-9]` for decimal references or `[0-9a-fA-F]` for hexadecimal references'\n },\n cdataInHtmlContent: {\n reason: 'Unexpected CDATA section in HTML',\n description:\n 'Unexpected `<![CDATA[` in HTML. Remove it, use a comment, or encode special characters instead'\n },\n characterReferenceOutsideUnicodeRange: {\n reason: 'Unexpected too big numeric character reference',\n description:\n 'Unexpectedly high character reference. Expected character references to be at most hexadecimal 10ffff (or decimal 1114111)'\n },\n closingOfElementWithOpenChildElements: {\n reason: 'Unexpected closing tag with open child elements',\n description:\n 'Unexpectedly closing tag. Expected other tags to be closed first',\n url: false\n },\n controlCharacterInInputStream: {\n reason: 'Unexpected control character',\n description:\n 'Unexpected control character `%x`. Expected a non-control code point, 0x00, or ASCII whitespace'\n },\n controlCharacterReference: {\n reason: 'Unexpected control character reference',\n description:\n 'Unexpectedly control character in reference. Expected a non-control code point, 0x00, or ASCII whitespace'\n },\n disallowedContentInNoscriptInHead: {\n reason: 'Disallowed content inside `<noscript>` in `<head>`',\n description:\n 'Unexpected text character `%c`. Only use text in `<noscript>`s in `<body>`',\n url: false\n },\n duplicateAttribute: {\n reason: 'Unexpected duplicate attribute',\n description:\n 'Unexpectedly double attribute. Expected attributes to occur only once'\n },\n endTagWithAttributes: {\n reason: 'Unexpected attribute on closing tag',\n description: 'Unexpected attribute. Expected `>` instead'\n },\n endTagWithTrailingSolidus: {\n reason: 'Unexpected slash at end of closing tag',\n description: 'Unexpected `%c-1`. Expected `>` instead'\n },\n endTagWithoutMatchingOpenElement: {\n reason: 'Unexpected unopened end tag',\n description: 'Unexpected end tag. Expected no end tag or another end tag',\n url: false\n },\n eofBeforeTagName: {\n reason: 'Unexpected end of file',\n description: 'Unexpected end of file. Expected tag name instead'\n },\n eofInCdata: {\n reason: 'Unexpected end of file in CDATA',\n description: 'Unexpected end of file. Expected `]]>` to close the CDATA'\n },\n eofInComment: {\n reason: 'Unexpected end of file in comment',\n description: 'Unexpected end of file. Expected `-->` to close the comment'\n },\n eofInDoctype: {\n reason: 'Unexpected end of file in doctype',\n description:\n 'Unexpected end of file. Expected a valid doctype (such as `<!doctype html>`)'\n },\n eofInElementThatCanContainOnlyText: {\n reason: 'Unexpected end of file in element that can only contain text',\n description: 'Unexpected end of file. Expected text or a closing tag',\n url: false\n },\n eofInScriptHtmlCommentLikeText: {\n reason: 'Unexpected end of file in comment inside script',\n description: 'Unexpected end of file. Expected `-->` to close the comment'\n },\n eofInTag: {\n reason: 'Unexpected end of file in tag',\n description: 'Unexpected end of file. Expected `>` to close the tag'\n },\n incorrectlyClosedComment: {\n reason: 'Incorrectly closed comment',\n description: 'Unexpected `%c-1`. Expected `-->` to close the comment'\n },\n incorrectlyOpenedComment: {\n reason: 'Incorrectly opened comment',\n description: 'Unexpected `%c`. Expected `<!--` to open the comment'\n },\n invalidCharacterSequenceAfterDoctypeName: {\n reason: 'Invalid sequence after doctype name',\n description: 'Unexpected sequence at `%c`. Expected `public` or `system`'\n },\n invalidFirstCharacterOfTagName: {\n reason: 'Invalid first character in tag name',\n description: 'Unexpected `%c`. Expected an ASCII letter instead'\n },\n misplacedDoctype: {\n reason: 'Misplaced doctype',\n description: 'Unexpected doctype. Expected doctype before head',\n url: false\n },\n misplacedStartTagForHeadElement: {\n reason: 'Misplaced `<head>` start tag',\n description:\n 'Unexpected start tag `<head>`. Expected `<head>` directly after doctype',\n url: false\n },\n missingAttributeValue: {\n reason: 'Missing attribute value',\n description:\n 'Unexpected `%c-1`. Expected an attribute value or no `%c-1` instead'\n },\n missingDoctype: {\n reason: 'Missing doctype before other content',\n description: 'Expected a `<!doctype html>` before anything else',\n url: false\n },\n missingDoctypeName: {\n reason: 'Missing doctype name',\n description: 'Unexpected doctype end at `%c`. Expected `html` instead'\n },\n missingDoctypePublicIdentifier: {\n reason: 'Missing public identifier in doctype',\n description: 'Unexpected `%c`. Expected identifier for `public` instead'\n },\n missingDoctypeSystemIdentifier: {\n reason: 'Missing system identifier in doctype',\n description:\n 'Unexpected `%c`. Expected identifier for `system` instead (suggested: `\"about:legacy-compat\"`)'\n },\n missingEndTagName: {\n reason: 'Missing name in end tag',\n description: 'Unexpected `%c`. Expected an ASCII letter instead'\n },\n missingQuoteBeforeDoctypePublicIdentifier: {\n reason: 'Missing quote before public identifier in doctype',\n description: 'Unexpected `%c`. Expected `\"` or `\\'` instead'\n },\n missingQuoteBeforeDoctypeSystemIdentifier: {\n reason: 'Missing quote before system identifier in doctype',\n description: 'Unexpected `%c`. Expected `\"` or `\\'` instead'\n },\n missingSemicolonAfterCharacterReference: {\n reason: 'Missing semicolon after character reference',\n description: 'Unexpected `%c`. Expected `;` instead'\n },\n missingWhitespaceAfterDoctypePublicKeyword: {\n reason: 'Missing whitespace after public identifier in doctype',\n description: 'Unexpected `%c`. Expected ASCII whitespace instead'\n },\n missingWhitespaceAfterDoctypeSystemKeyword: {\n reason: 'Missing whitespace after system identifier in doctype',\n description: 'Unexpected `%c`. Expected ASCII whitespace instead'\n },\n missingWhitespaceBeforeDoctypeName: {\n reason: 'Missing whitespace before doctype name',\n description: 'Unexpected `%c`. Expected ASCII whitespace instead'\n },\n missingWhitespaceBetweenAttributes: {\n reason: 'Missing whitespace between attributes',\n description: 'Unexpected `%c`. Expected ASCII whitespace instead'\n },\n missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers: {\n reason:\n 'Missing whitespace between public and system identifiers in doctype',\n description: 'Unexpected `%c`. Expected ASCII whitespace instead'\n },\n nestedComment: {\n reason: 'Unexpected nested comment',\n description: 'Unexpected `<!--`. Expected `-->`'\n },\n nestedNoscriptInHead: {\n reason: 'Unexpected nested `<noscript>` in `<head>`',\n description:\n 'Unexpected `<noscript>`. Expected a closing tag or a meta element',\n url: false\n },\n nonConformingDoctype: {\n reason: 'Unexpected non-conforming doctype declaration',\n description:\n 'Expected `<!doctype html>` or `<!doctype html system \"about:legacy-compat\">`',\n url: false\n },\n nonVoidHtmlElementStartTagWithTrailingSolidus: {\n reason: 'Unexpected trailing slash on start tag of non-void element',\n description: 'Unexpected `/`. Expected `>` instead'\n },\n noncharacterCharacterReference: {\n reason:\n 'Unexpected noncharacter code point referenced by character reference',\n description: 'Unexpected code point. Do not use noncharacters in HTML'\n },\n noncharacterInInputStream: {\n reason: 'Unexpected noncharacter character',\n description: 'Unexpected code point `%x`. Do not use noncharacters in HTML'\n },\n nullCharacterReference: {\n reason: 'Unexpected NULL character referenced by character reference',\n description: 'Unexpected code point. Do not use NULL characters in HTML'\n },\n openElementsLeftAfterEof: {\n reason: 'Unexpected end of file',\n description: 'Unexpected end of file. Expected closing tag instead',\n url: false\n },\n surrogateCharacterReference: {\n reason: 'Unexpected surrogate character referenced by character reference',\n description:\n 'Unexpected code point. Do not use lone surrogate characters in HTML'\n },\n surrogateInInputStream: {\n reason: 'Unexpected surrogate character',\n description:\n 'Unexpected code point `%x`. Do not use lone surrogate characters in HTML'\n },\n unexpectedCharacterAfterDoctypeSystemIdentifier: {\n reason: 'Invalid character after system identifier in doctype',\n description: 'Unexpected character at `%c`. Expected `>`'\n },\n unexpectedCharacterInAttributeName: {\n reason: 'Unexpected character in attribute name',\n description:\n 'Unexpected `%c`. Expected whitespace, `/`, `>`, `=`, or probably an ASCII letter'\n },\n unexpectedCharacterInUnquotedAttributeValue: {\n reason: 'Unexpected character in unquoted attribute value',\n description: 'Unexpected `%c`. Quote the attribute value to include it'\n },\n unexpectedEqualsSignBeforeAttributeName: {\n reason: 'Unexpected equals sign before attribute name',\n description: 'Unexpected `%c`. Add an attribute name before it'\n },\n unexpectedNullCharacter: {\n reason: 'Unexpected NULL character',\n description:\n 'Unexpected code point `%x`. Do not use NULL characters in HTML'\n },\n unexpectedQuestionMarkInsteadOfTagName: {\n reason: 'Unexpected question mark instead of tag name',\n description: 'Unexpected `%c`. Expected an ASCII letter instead'\n },\n unexpectedSolidusInTag: {\n reason: 'Unexpected slash in tag',\n description:\n 'Unexpected `%c-1`. Expected it followed by `>` or in a quoted attribute value'\n },\n unknownNamedCharacterReference: {\n reason: 'Unexpected unknown named character reference',\n description:\n 'Unexpected character reference. Expected known named character references'\n }\n}\n", "/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n", "/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('vfile').VFileCompatible} VFileCompatible\n * @typedef {import('vfile').VFileValue} VFileValue\n * @typedef {import('..').Processor} Processor\n * @typedef {import('..').Plugin} Plugin\n * @typedef {import('..').Preset} Preset\n * @typedef {import('..').Pluggable} Pluggable\n * @typedef {import('..').PluggableList} PluggableList\n * @typedef {import('..').Transformer} Transformer\n * @typedef {import('..').Parser} Parser\n * @typedef {import('..').Compiler} Compiler\n * @typedef {import('..').RunCallback} RunCallback\n * @typedef {import('..').ProcessCallback} ProcessCallback\n *\n * @typedef Context\n * @property {Node} tree\n * @property {VFile} file\n */\n\nimport {bail} from 'bail'\nimport isBuffer from 'is-buffer'\nimport extend from 'extend'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\n\n// Expose a frozen processor.\nexport const unified = base().freeze()\n\nconst own = {}.hasOwnProperty\n\n// Function to create the first processor.\n/**\n * @returns {Processor}\n */\nfunction base() {\n const transformers = trough()\n /** @type {Processor['attachers']} */\n const attachers = []\n /** @type {Record<string, unknown>} */\n let namespace = {}\n /** @type {boolean|undefined} */\n let frozen\n let freezeIndex = -1\n\n // Data management.\n // @ts-expect-error: overloads are handled.\n processor.data = data\n processor.Parser = undefined\n processor.Compiler = undefined\n\n // Lock.\n processor.freeze = freeze\n\n // Plugins.\n processor.attachers = attachers\n // @ts-expect-error: overloads are handled.\n processor.use = use\n\n // API.\n processor.parse = parse\n processor.stringify = stringify\n // @ts-expect-error: overloads are handled.\n processor.run = run\n processor.runSync = runSync\n // @ts-expect-error: overloads are handled.\n processor.process = process\n processor.processSync = processSync\n\n // Expose.\n return processor\n\n // Create a new processor based on the processor in the current scope.\n /** @type {Processor} */\n function processor() {\n const destination = base()\n let index = -1\n\n while (++index < attachers.length) {\n destination.use(...attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /**\n * @param {string|Record<string, unknown>} [key]\n * @param {unknown} [value]\n * @returns {unknown}\n */\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n namespace[key] = value\n return processor\n }\n\n // Get `key`.\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n // Get space.\n return namespace\n }\n\n /** @type {Processor['freeze']} */\n function freeze() {\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n const [attacher, ...options] = attachers[freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n /** @type {Transformer|void} */\n const transformer = attacher.call(processor, ...options)\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Number.POSITIVE_INFINITY\n\n return processor\n }\n\n /**\n * @param {Pluggable|null|undefined} [value]\n * @param {...unknown} options\n * @returns {Processor}\n */\n function use(value, ...options) {\n /** @type {Record<string, unknown>|undefined} */\n let settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, ...options)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = Object.assign(namespace.settings || {}, settings)\n }\n\n return processor\n\n /**\n * @param {import('..').Pluggable<unknown[]>} value\n * @returns {void}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...options] = value\n addPlugin(plugin, ...options)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {void}\n */\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = Object.assign(settings || {}, result.settings)\n }\n }\n\n /**\n * @param {PluggableList|null|undefined} [plugins]\n * @returns {void}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {...unknown} [value]\n * @returns {void}\n */\n function addPlugin(plugin, value) {\n let index = -1\n /** @type {Processor['attachers'][number]|undefined} */\n let entry\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entry = attachers[index]\n break\n }\n }\n\n if (entry) {\n if (isPlainObj(entry[1]) && isPlainObj(value)) {\n value = extend(true, entry[1], value)\n }\n\n entry[1] = value\n } else {\n // @ts-expect-error: fine.\n attachers.push([...arguments])\n }\n }\n }\n\n /** @type {Processor['parse']} */\n function parse(doc) {\n processor.freeze()\n const file = vfile(doc)\n const Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser, 'parse')) {\n // @ts-expect-error: `newable` checks this.\n return new Parser(String(file), file).parse()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /** @type {Processor['stringify']} */\n function stringify(node, doc) {\n processor.freeze()\n const file = vfile(doc)\n const Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler, 'compile')) {\n // @ts-expect-error: `newable` checks this.\n return new Compiler(node, file).compile()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /**\n * @param {Node} node\n * @param {VFileCompatible|RunCallback} [doc]\n * @param {RunCallback} [callback]\n * @returns {Promise<Node>|void}\n */\n function run(node, doc, callback) {\n assertNode(node)\n processor.freeze()\n\n if (!callback && typeof doc === 'function') {\n callback = doc\n doc = undefined\n }\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((node: Node) => void)} resolve\n * @param {(error: Error) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n // @ts-expect-error: `doc` can\u2019t be a callback anymore, we checked.\n transformers.run(node, vfile(doc), done)\n\n /**\n * @param {Error|null} error\n * @param {Node} tree\n * @param {VFile} file\n * @returns {void}\n */\n function done(error, tree, file) {\n tree = tree || node\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(tree)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, tree, file)\n }\n }\n }\n }\n\n /** @type {Processor['runSync']} */\n function runSync(node, file) {\n /** @type {Node|undefined} */\n let result\n /** @type {boolean|undefined} */\n let complete\n\n processor.run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n // @ts-expect-error: we either bailed on an error or have a tree.\n return result\n\n /**\n * @param {Error|null} [error]\n * @param {Node} [tree]\n * @returns {void}\n */\n function done(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * @param {VFileCompatible} doc\n * @param {ProcessCallback} [callback]\n * @returns {Promise<VFile>|undefined}\n */\n function process(doc, callback) {\n processor.freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((file: VFile) => void)} resolve\n * @param {(error?: Error|null|undefined) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n const file = vfile(doc)\n\n processor.run(processor.parse(file), file, (error, tree, file) => {\n if (error || !tree || !file) {\n done(error)\n } else {\n /** @type {unknown} */\n const result = processor.stringify(tree, file)\n\n if (result === undefined || result === null) {\n // Empty.\n } else if (looksLikeAVFileValue(result)) {\n file.value = result\n } else {\n file.result = result\n }\n\n done(error, file)\n }\n })\n\n /**\n * @param {Error|null|undefined} [error]\n * @param {VFile|undefined} [file]\n * @returns {void}\n */\n function done(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, file)\n }\n }\n }\n }\n\n /** @type {Processor['processSync']} */\n function processSync(doc) {\n /** @type {boolean|undefined} */\n let complete\n\n processor.freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n\n const file = vfile(doc)\n\n processor.process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n /**\n * @param {Error|null|undefined} [error]\n * @returns {void}\n */\n function done(error) {\n complete = true\n bail(error)\n }\n }\n}\n\n/**\n * Check if `value` is a constructor.\n *\n * @param {unknown} value\n * @param {string} name\n * @returns {boolean}\n */\nfunction newable(value, name) {\n return (\n typeof value === 'function' &&\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n value.prototype &&\n // A function with keys in its prototype is probably a constructor.\n // Classes\u2019 prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n // type-coverage:ignore-next-line\n (keys(value.prototype) || name in value.prototype)\n )\n}\n\n/**\n * Check if `value` is an object with keys.\n *\n * @param {Record<string, unknown>} value\n * @returns {boolean}\n */\nfunction keys(value) {\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is VFileValue}\n */\nfunction looksLikeAVFileValue(value) {\n return typeof value === 'string' || isBuffer(value)\n}\n", "export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n", "/**\n * @typedef {(error?: Error|null|undefined, ...output: Array<any>) => void} Callback\n * @typedef {(...input: Array<any>) => any} Middleware\n *\n * @typedef {(...input: Array<any>) => void} Run\n * Call all middleware.\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add `fn` (middleware) to the list.\n * @typedef {{run: Run, use: Use}} Pipeline\n * Middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n */\nexport function trough() {\n /** @type {Array<Middleware>} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we\u2019re done.\n *\n * @param {Error|null|undefined} error\n * @param {Array<any>} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware`.\n * Can be sync or async; return a promise, receive a callback, or return new\n * values and errors.\n *\n * @param {Middleware} middleware\n * @param {Callback} callback\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array<any>} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n", "/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {import('./minurl.shared.js').URL} URL\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Value} Value\n */\n\n/**\n * @typedef {Record<string, unknown> & {type: string, position?: Position | undefined}} NodeLike\n *\n * @typedef {'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex'} BufferEncoding\n * Encodings supported by the buffer class.\n *\n * This is a copy of the types from Node, copied to prevent Node globals from\n * being needed.\n * Copied from: <https://github.com/DefinitelyTyped/DefinitelyTyped/blob/90a4ec8/types/node/buffer.d.ts#L170>\n *\n * @typedef {Options | URL | Value | VFile} Compatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * Set multiple values.\n * @property {Value | null | undefined} [value]\n * Set `value`.\n * @property {string | null | undefined} [cwd]\n * Set `cwd`.\n * @property {Array<string> | null | undefined} [history]\n * Set `history`.\n * @property {URL | string | null | undefined} [path]\n * Set `path`.\n * @property {string | null | undefined} [basename]\n * Set `basename`.\n * @property {string | null | undefined} [stem]\n * Set `stem`.\n * @property {string | null | undefined} [extname]\n * Set `extname`.\n * @property {string | null | undefined} [dirname]\n * Set `dirname`.\n * @property {Data | null | undefined} [data]\n * Set `data`.\n *\n * @typedef Map\n * Raw source map.\n *\n * See:\n * <https://github.com/mozilla/source-map/blob/58819f0/source-map.d.ts#L15-L23>.\n * @property {number} version\n * Which version of the source map spec this map is following.\n * @property {Array<string>} sources\n * An array of URLs to the original source files.\n * @property {Array<string>} names\n * An array of identifiers which can be referenced by individual mappings.\n * @property {string | undefined} [sourceRoot]\n * The URL root from which all sources are relative.\n * @property {Array<string> | undefined} [sourcesContent]\n * An array of contents of the original source files.\n * @property {string} mappings\n * A string of base64 VLQs which contain the actual mappings.\n * @property {string} file\n * The generated file this source map is associated with.\n *\n * @typedef {{[key: string]: unknown} & VFileCoreOptions} Options\n * Configuration.\n *\n * A bunch of keys that will be shallow copied over to the new file.\n *\n * @typedef {Record<string, unknown>} ReporterSettings\n * Configuration for reporters.\n */\n\n/**\n * @template {ReporterSettings} Settings\n * Options type.\n * @callback Reporter\n * Type for a reporter.\n * @param {Array<VFile>} files\n * Files to report.\n * @param {Settings} options\n * Configuration.\n * @returns {string}\n * Report.\n */\n\nimport bufferLike from 'is-buffer'\nimport {VFileMessage} from 'vfile-message'\nimport {path} from './minpath.js'\nimport {proc} from './minproc.js'\nimport {urlToPath, isUrl} from './minurl.js'\n\n/**\n * Order of setting (least specific to most), we need this because otherwise\n * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n * stem can be set.\n *\n * @type {Array<'basename' | 'dirname' | 'extname' | 'history' | 'path' | 'stem'>}\n */\nconst order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * `options` is treated as:\n *\n * * `string` or `Buffer` \u2014 `{value: options}`\n * * `URL` \u2014 `{path: options}`\n * * `VFile` \u2014 shallow copies its data over to the new file\n * * `object` \u2014 all fields are shallow copied over to the new file\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * You cannot set `dirname` or `extname` without setting either `history`,\n * `path`, `basename`, or `stem` too.\n *\n * @param {Compatible | null | undefined} [value]\n * File value.\n * @returns\n * New instance.\n */\n constructor(value) {\n /** @type {Options | VFile} */\n let options\n\n if (!value) {\n options = {}\n } else if (typeof value === 'string' || buffer(value)) {\n options = {value}\n } else if (isUrl(value)) {\n options = {path: value}\n } else {\n options = value\n }\n\n /**\n * Place to store custom information (default: `{}`).\n *\n * It\u2019s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n *\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of messages associated with the file.\n *\n * @type {Array<VFileMessage>}\n */\n this.messages = []\n\n /**\n * List of filepaths the file moved between.\n *\n * The first is the original path and the last is the current path.\n *\n * @type {Array<string>}\n */\n this.history = []\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n *\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /* eslint-disable no-unused-expressions */\n /**\n * Raw value.\n *\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are \u201Cwell-known\u201D.\n // As in, used in several tools.\n\n /**\n * Whether a file was saved to disk.\n *\n * This is used by vfile reporters.\n *\n * @type {boolean}\n */\n this.stored\n\n /**\n * Custom, non-string, compiled, representation.\n *\n * This is used by unified to store non-string results.\n * One example is when turning markdown into React nodes.\n *\n * @type {unknown}\n */\n this.result\n\n /**\n * Source map.\n *\n * This type is equivalent to the `RawSourceMap` type from the `source-map`\n * module.\n *\n * @type {Map | null | undefined}\n */\n this.map\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (\n prop in options &&\n options[prop] !== undefined &&\n options[prop] !== null\n ) {\n // @ts-expect-error: TS doesn\u2019t understand basic reality.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) {\n // @ts-expect-error: fine to set other things.\n this[prop] = options[prop]\n }\n }\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n *\n * @returns {string}\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n *\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n *\n * @param {string | URL} path\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the parent path (example: `'~'`).\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n *\n * Cannot be set if there\u2019s no `path` yet.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there\u2019s no `path` yet.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n /**\n * Serialize the file.\n *\n * @param {BufferEncoding | null | undefined} [encoding='utf8']\n * Character encoding to understand `value` as when it\u2019s a `Buffer`\n * (default: `'utf8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n return (this.value || '').toString(encoding || undefined)\n }\n\n /**\n * Create a warning message associated with the file.\n *\n * Its `fatal` is set to `false` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n message(reason, place, origin) {\n const message = new VFileMessage(reason, place, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Create an info message associated with the file.\n *\n * Its `fatal` is set to `null` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n info(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = null\n\n return message\n }\n\n /**\n * Create a fatal error associated with the file.\n *\n * Its `fatal` is set to `true` and `file` is set to the current file path.\n * Its added to `file.messages`.\n *\n * > \uD83D\uDC49 **Note**: a fatal error means that a file is no longer processable.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {never}\n * Message.\n * @throws {VFileMessage}\n * Message.\n */\n fail(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = true\n\n throw message\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string | null | undefined} part\n * File path part.\n * @param {string} name\n * Part name.\n * @returns {void}\n * Nothing.\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string | undefined} part\n * Thing.\n * @param {string} name\n * Part name.\n * @returns {asserts part is string}\n * Nothing.\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string | undefined} path\n * Path.\n * @param {string} name\n * Dependency name.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n\n/**\n * Assert `value` is a buffer.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Buffer}\n * Whether `value` is a Node.js buffer.\n */\nfunction buffer(value) {\n return bufferLike(value)\n}\n", "/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n */\n\n/**\n * Serialize the positional info of a point, position (start and end points),\n * or node.\n *\n * @param {Node | NodeLike | Position | PositionLike | Point | PointLike | null | undefined} [value]\n * Node, position, or point.\n * @returns {string}\n * Pretty printed positional info of a node (`string`).\n *\n * In the format of a range `ls:cs-le:ce` (when given `node` or `position`)\n * or a point `l:c` (when given `point`), where `l` stands for line, `c` for\n * column, `s` for `start`, and `e` for end.\n * An empty string (`''`) is returned if the given value is neither `node`,\n * `position`, nor `point`.\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point | PointLike | null | undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position | PositionLike | null | undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number | null | undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n", "/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\n/**\n * Message.\n */\nexport class VFileMessage extends Error {\n /**\n * Create a message for `reason` at `place` from `origin`.\n *\n * When an error is passed in as `reason`, the `stack` is copied.\n *\n * @param {string | Error | VFileMessage} reason\n * Reason for message, uses the stack and message of the error if given.\n *\n * > \uD83D\uDC49 **Note**: you should use markdown.\n * @param {Node | NodeLike | Position | Point | null | undefined} [place]\n * Place in file where the message occurred.\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns\n * Instance of `VFileMessage`.\n */\n // To do: next major: expose `undefined` everywhere instead of `null`.\n constructor(reason, place, origin) {\n /** @type {[string | null, string | null]} */\n const parts = [null, null]\n /** @type {Position} */\n let position = {\n // @ts-expect-error: we always follows the structure of `position`.\n start: {line: null, column: null},\n // @ts-expect-error: \"\n end: {line: null, column: null}\n }\n\n super()\n\n if (typeof place === 'string') {\n origin = place\n place = undefined\n }\n\n if (typeof origin === 'string') {\n const index = origin.indexOf(':')\n\n if (index === -1) {\n parts[1] = origin\n } else {\n parts[0] = origin.slice(0, index)\n parts[1] = origin.slice(index + 1)\n }\n }\n\n if (place) {\n // Node.\n if ('type' in place || 'position' in place) {\n if (place.position) {\n // To do: next major: deep clone.\n // @ts-expect-error: looks like a position.\n position = place.position\n }\n }\n // Position.\n else if ('start' in place || 'end' in place) {\n // @ts-expect-error: looks like a position.\n // To do: next major: deep clone.\n position = place\n }\n // Point.\n else if ('line' in place || 'column' in place) {\n // To do: next major: deep clone.\n position.start = place\n }\n }\n\n // Fields from `Error`.\n /**\n * Serialized positional info of error.\n *\n * On normal errors, this would be something like `ParseError`, buit in\n * `VFile` messages we use this space to show where an error happened.\n */\n this.name = stringifyPosition(place) || '1:1'\n\n /**\n * Reason for message.\n *\n * @type {string}\n */\n this.message = typeof reason === 'object' ? reason.message : reason\n\n /**\n * Stack of message.\n *\n * This is used by normal errors to show where something happened in\n * programming code, irrelevant for `VFile` messages,\n *\n * @type {string}\n */\n this.stack = ''\n\n if (typeof reason === 'object' && reason.stack) {\n this.stack = reason.stack\n }\n\n /**\n * Reason for message.\n *\n * > \uD83D\uDC49 **Note**: you should use markdown.\n *\n * @type {string}\n */\n this.reason = this.message\n\n /* eslint-disable no-unused-expressions */\n /**\n * State of problem.\n *\n * * `true` \u2014 marks associated file as no longer processable (error)\n * * `false` \u2014 necessitates a (potential) change (warning)\n * * `null | undefined` \u2014 for things that might not need changing (info)\n *\n * @type {boolean | null | undefined}\n */\n this.fatal\n\n /**\n * Starting line of error.\n *\n * @type {number | null}\n */\n this.line = position.start.line\n\n /**\n * Starting column of error.\n *\n * @type {number | null}\n */\n this.column = position.start.column\n\n /**\n * Full unist position.\n *\n * @type {Position | null}\n */\n this.position = position\n\n /**\n * Namespace of message (example: `'my-package'`).\n *\n * @type {string | null}\n */\n this.source = parts[0]\n\n /**\n * Category of message (example: `'my-rule'`).\n *\n * @type {string | null}\n */\n this.ruleId = parts[1]\n\n /**\n * Path of a file (used throughout the `VFile` ecosystem).\n *\n * @type {string | null}\n */\n this.file\n\n // The following fields are \u201Cwell known\u201D.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /**\n * Specify the source value that\u2019s being reported, which is deemed\n * incorrect.\n *\n * @type {string | null}\n */\n this.actual\n\n /**\n * Suggest acceptable values that can be used instead of `actual`.\n *\n * @type {Array<string> | null}\n */\n this.expected\n\n /**\n * Link to docs for the message.\n *\n * > \uD83D\uDC49 **Note**: this must be an absolute URL that can be passed as `x`\n * > to `new URL(x)`.\n *\n * @type {string | null}\n */\n this.url\n\n /**\n * Long form description of the message (you should use markdown).\n *\n * @type {string | null}\n */\n this.note\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.fatal = null\nVFileMessage.prototype.column = null\nVFileMessage.prototype.line = null\nVFileMessage.prototype.source = null\nVFileMessage.prototype.ruleId = null\nVFileMessage.prototype.position = null\n", "export {default as path} from 'path'\n", "export {default as proc} from 'process'\n", "export {fileURLToPath as urlToPath} from 'url'\nexport {isUrl} from './minurl.shared.js'\n", "/**\n * @typedef URL\n * @property {string} hash\n * @property {string} host\n * @property {string} hostname\n * @property {string} href\n * @property {string} origin\n * @property {string} password\n * @property {string} pathname\n * @property {string} port\n * @property {string} protocol\n * @property {string} search\n * @property {any} searchParams\n * @property {string} username\n * @property {() => string} toString\n * @property {() => string} toJSON\n */\n\n/**\n * Check if `fileUrlOrPath` looks like a URL.\n *\n * @param {unknown} fileUrlOrPath\n * File path or URL.\n * @returns {fileUrlOrPath is URL}\n * Whether it\u2019s a URL.\n */\n// From: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js#L1501>\nexport function isUrl(fileUrlOrPath) {\n return (\n fileUrlOrPath !== null &&\n typeof fileUrlOrPath === 'object' &&\n // @ts-expect-error: indexable.\n fileUrlOrPath.href &&\n // @ts-expect-error: indexable.\n fileUrlOrPath.origin\n )\n}\n", "// Inspired by https://github.com/j0lv3r4/mdx-prism\n\nimport { toHtml } from 'hast-util-to-html'\nimport parse from 'rehype-parse'\nimport { unified } from 'unified'\n\nconst lineNumberify = function lineNumberify(ast, lineNum = 1) {\n let lineNumber = lineNum\n return ast.reduce(\n (result, node) => {\n if (node.type === 'text') {\n if (node.value.indexOf('\\n') === -1) {\n node.lineNumber = lineNumber\n result.nodes.push(node)\n return result\n }\n\n const lines = node.value.split('\\n')\n for (let i = 0; i < lines.length; i++) {\n if (i !== 0) ++lineNumber\n if (i === lines.length - 1 && lines[i].length === 0) continue\n result.nodes.push({\n type: 'text',\n value: i === lines.length - 1 ? lines[i] : `${lines[i]}\\n`,\n lineNumber: lineNumber,\n })\n }\n\n result.lineNumber = lineNumber\n return result\n }\n\n if (node.children) {\n node.lineNumber = lineNumber\n const processed = lineNumberify(node.children, lineNumber)\n node.children = processed.nodes\n result.lineNumber = processed.lineNumber\n result.nodes.push(node)\n return result\n }\n\n result.nodes.push(node)\n return result\n },\n { nodes: [], lineNumber: lineNumber },\n )\n}\n\nconst wrapLines = function wrapLines(ast: any[], linesToHighlight) {\n const highlightAll = linesToHighlight.length === 1 && linesToHighlight[0] === 0\n const allLines: any[] = Array.from(new Set(ast.map((x) => x.lineNumber)))\n let i = 0\n const wrapped = allLines.reduce((nodes, marker) => {\n const line = marker\n const children: any[] = []\n for (; i < ast.length; i++) {\n if (ast[i].lineNumber < line) {\n nodes.push(ast[i])\n continue\n }\n\n if (ast[i].lineNumber === line) {\n children.push(ast[i])\n continue\n }\n\n if (ast[i].lineNumber > line) {\n break\n }\n }\n\n nodes.push({\n type: 'element',\n tagName: 'div',\n properties: {\n dataLine: line,\n className: 'highlight-line',\n dataHighlighted:\n linesToHighlight.includes(line) || highlightAll ? 'true' : 'false',\n },\n children,\n lineNumber: line,\n })\n\n return nodes\n }, [])\n\n return wrapped\n}\n\n// https://github.com/gatsbyjs/gatsby/pull/26161/files\nconst MULTILINE_TOKEN_SPAN = /<span class=\"token ([^\"]+)\">[^<]*\\n[^<]*<\\/span>/g\n\nconst applyMultilineFix = function (ast) {\n // AST to HTML\n let html = toHtml(ast)\n\n // Fix JSX issue\n html = html.replace(MULTILINE_TOKEN_SPAN, (match, token) =>\n match.replace(/\\n/g, `</span>\\n<span class=\"token ${token}\">`),\n )\n\n // HTML to AST\n const hast = unified()\n .use(parse, { emitParseErrors: true, fragment: true })\n .parse(html)\n\n return hast.children\n}\n\nexport function highlightLine(ast, lines) {\n const formattedAst = applyMultilineFix(ast)\n const numbered = lineNumberify(formattedAst).nodes\n return wrapLines(numbered, lines)\n}\n", "// const visit = require('unist-util-visit')\nimport { toHtml } from 'hast-util-to-html'\nimport parse from 'rehype-parse'\nimport { unified } from 'unified'\n\nconst CALLOUT = /__(.*?)__/g\n\nexport function highlightWord(code) {\n const html = toHtml(code)\n const result = html.replace(\n CALLOUT,\n (_, text) => `<span class=\"highlight-word\">${text}</span>`,\n )\n const hast = unified()\n .use(parse, { emitParseErrors: true, fragment: true })\n .parse(result)\n return hast.children\n}\n"],
|
|
5
|
-
"mappings": "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AK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,KAAI,GAAE,KAAI,IAAG,GAAE,IAAG,GAAE,IAAG,KAAI,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,KAAI,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,KAAI,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,KAAI,GAAE,KAAI,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,KAAI,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,KAAI,GAAE,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,KAAI,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,IAAG,GAAE,KAAI,GAAE,IAAG,KAAI,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,GAAE,MAAK,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,KAAI,GAAE,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,GAAE,MAAK,IAAG,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,IAAG,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,KAAI,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,GAAE,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,IAAG,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,IAAG,IAAG,GAAE,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,GAAE,IAAG,MAAK,GAAE,IAAG,KAAI,KAAI,IAAG,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,IAAG,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,IAAG,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,MAAK,MAAK,MAAK,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,IAAG,GAAE,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,GAAE,IAAG,MAAK,GAAE,IAAG,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,KAAI,IAAG,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,MAAK,KAAK,MAAK,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,IAAG,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,IAAG,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,GAAE,OAAM,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,IAAG,IAAG,GAAE,IAAG,GAAE,IAAG,MAAK,GAAE,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,IAAG,IAAG,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,IAAG,IAAG,IAAG,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,IAAG,GAAE,GAAE,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,MAAK,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,IAAG,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,IAAG,IAAG,IAAG,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,IAAG,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,IAAG,GAAE,IAAG,MAAK,GAAE,IAAG,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,IAAG,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,IAAG,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,IAAG,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,IAAG,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,MAAK,MAAK,MAAK,GAAE,IAAG,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,KAAI,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,IAAG,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,IAAG,IAAG,GAAE,IAAG,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,KAAI,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,OAAM,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,IAAG,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,IAAG,IAAG,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,IAAG,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,MAAK,MAAK,MAAK,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,KAAI,IAAG,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,GAAE,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,KAAI,IAAG,KAAI,IAAG,GAAE,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,GAAE,OAAM,IAAG,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,IAAG,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,GAAE,MAAK,IAAG,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,MAAK,MAAK,IAAG,GAAE,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,GAAE,KAAI,GAAE,IAAG,MAAK,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,MAAK,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,MAAK,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,MAAK,MAAK,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,KAAM,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,OAAM,OAAM,OAAM,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,OAAM,IAAG,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,IAAG,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,IAAG,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,IAAG,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,OAAM,IAAG,IAAG,GAAE,MAAK,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,IAAG,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,IAAG,GAAE,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,OAAM,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,KAAI,IAAG,GAAE,IAAG,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,IAAG,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,OAAM,IAAG,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,OAAM,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,IAAG,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,OAAM,IAAG,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,IAAG,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,IAAG,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,IAAG,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,OAAM,IAAG,IAAG,GAAE,MAAK,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,MAAM,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,MAAK,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,KAAI,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,OAAM,OAAM,OAAM,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,OAAM,OAAM,OAAM,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,MAAK,IAAG,GAAE,IAAG,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,IAAG,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,MAAK,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,IAAG,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,KAAI,IAAG,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,IAAG,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,GAAE,KAAI,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,IAAG,KAAI,KAAI,IAAG,GAAE,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,IAAG,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,IAAG,GAAE,IAAG,OAAM,GAAE,IAAG,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,KAAI,IAAG,GAAE,IAAG,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,IAAG,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,IAAG,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,IAAG,GAAE,IAAG,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,OAAM,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,IAAG,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,IAAG,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,MAAK,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,KAAI,IAAG,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,IAAG,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,IAAG,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,IAAG,IAAG,GAAE,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,OAAM,OAAM,KAAI,IAAG,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,OAAM,IAAG,GAAE,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,OAAM,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,OAAM,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,KAAI,OAAM,OAAM,OAAM,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,MAAK,IAAG,GAAE,MAAK,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,MAAK,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,MAAK,OAAM,KAAI,KAAI,KAAI,IAAG,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,GAAE,MAAK,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,IAAG,OAAM,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,KAAI,IAAG,GAAE,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,OAAM,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,IAAG,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,IAAG,GAAE,MAAK,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,IAAG,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,IAAG,GAAE,MAAK,KAAI,GAAE,KAAI,GAAE,IAAG,OAAM,GAAE,KAAI,GAAE,IAAG,IAAG,IAAG,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,KAAI,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,OAAM,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,IAAG,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,KAAI,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,KAAI,KAAI,KAAI,IAAG,GAAE,MAAK,IAAG,IAAG,GAAE,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,KAAI,KAAI,IAAG,GAAE,MAAK,KAAI,KAAI,IAAG,GAAE,OAAM,OAAM,IAAG,KAAI,IAAG,GAAE,OAAM,OAAM,GAAE,GAAE,KAAI,KAAI,OAAM,OAAM,IAAG,GAAE,MAAK,KAAI,IA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",
|
|
6
|
-
"names": ["str", "_", "document", "element", "element", "key", "element", "element", "document", "siblings", "require_preprocessor_mixin", "require_tokenizer_mixin", "require_parser_mixin", "document", "document", "text", "element", "location", "key", "doctype", "html", "document", "element", "location", "p", "isBuffer", "isArray", "isPlainObject", "key", "setProperty", "getProperty", "extend", "require_is_buffer", "isBuffer", "index", "index", "key", "_", "_", "attributes", "attributes", "_", "html", "svg", "own", "key", "one", "basic", "index", "all", "own", "encode", "index", "index", "parse", "stringify", "increment", "index", "siblings", "own", "index", "html", "_", "index", "html", "body", "tbody", "head", "index", "index", "svg", "key", "stringify", "_", "index", "svg", "html", "index", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "index", "Prism", "Prism", "markup", "Prism", "alias", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "alias", "html", "text", "Prism", "Prism", "Prism", "index", "keys", "s", "Prism", "comment", "number", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "Prism", "own", "core", "h", "index", "key", "parse", "core", "html", "core", "svg", "own", "index", "point", "following", "characters", "diff", "position", "key", "root", "text", "alias", "p", "head", "own", "stringify", "alias", "key", "index", "Prism", "javascript", "Prism", "typescript", "search", "index", "point", "own", "one", "svg", "html", "all", "element", "index", "position", "location", "key", "point", "Parser5", "camelcase", "_", "import_is_buffer", "index", "position", "point", "position", "index", "default", "default", "default", "index", "prop", "bufferLike", "base", "own", "parse", "stringify", "index", "extend", "key", "value", "options", "file", "isBuffer", "lineNumberify", "wrapLines", "html", "html", "_", "text", "rangeParser"]
|
|
5
|
+
"mappings": "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,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,IAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,MAAM,GAAG,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,MAAM,GAAG,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,KAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,KAAK,GAAG,EAAE,GAAG,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM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AAOC,EAAK,CACpC,OAAON,EAAQ,OACbO,EAAU,WAAW,CAAC,EACtBD,EAAI,WAAWD,EAAQ,CAAC,EACxBL,CACF,CACF,CACF,CAMA,SAASC,GAAuBO,EAAQ,CAEtC,IAAMC,EAAS,CAAC,EACZJ,EAAQ,GAEZ,KAAO,EAAEA,EAAQG,EAAO,QACtBC,EAAO,KAAKD,EAAOH,CAAK,EAAE,QAAQ,sBAAuB,MAAM,CAAC,EAGlE,OAAO,IAAI,OAAO,MAAQI,EAAO,KAAK,GAAG,EAAI,IAAK,GAAG,CACvD,CCjFO,SAASC,GAAcC,EAAMC,EAAMC,EAAM,CAC9C,IAAMC,EAAQ,MAAQH,EAAK,SAAS,EAAE,EAAE,YAAY,EACpD,OAAOE,GAAQD,GAAQ,CAAC,aAAa,KAAK,OAAO,aAAaA,CAAI,CAAC,EAC/DE,EACAA,EAAQ,GACd,CCLO,SAASC,GAAUC,EAAMC,EAAMC,EAAM,CAC1C,IAAMC,EAAQ,KAAO,OAAOH,CAAI,EAChC,OAAOE,GAAQD,GAAQ,CAAC,KAAK,KAAK,OAAO,aAAaA,CAAI,CAAC,EACvDE,EACAA,EAAQ,GACd,CCRO,IAAMC,GAA0B,CACrC,QACA,MACA,SACA,QACA,SACA,QACA,SACA,OACA,OACA,SACA,MACA,SACA,QACA,SACA,OACA,KACA,SACA,QACA,SACA,OACA,KACA,SACA,SACA,QACA,SACA,SACA,SACA,OACA,OACA,MACA,QACA,SACA,QACA,SACA,OACA,SACA,SACA,QACA,QACA,QACA,SACA,MACA,QACA,SACA,OACA,SACA,SACA,QACA,OACA,OACA,SACA,MACA,SACA,SACA,QACA,SACA,MACA,OACA,SACA,SACA,SACA,KACA,SACA,QACA,QACA,SACA,SACA,OACA,QACA,KACA,OACA,QACA,SACA,OACA,MACA,SACA,SACA,QACA,SACA,OACA,OACA,SACA,SACA,OACA,OACA,SACA,QACA,OACA,QACA,MACA,OACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,MACA,OACA,SACA,MACA,MACF,EC3GO,IAAMC,GAAyB,CACpC,KAAM,OACN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,CACF,CACF,CAAC,CACH,EAAGL,CAAK,CACV,CChIAwB,GAAI,YAAc,MAClBA,GAAI,QAAU,CAAC,EAGA,SAARA,GAAqBC,EAAO,CACjCA,EAAM,SAASC,EAAyB,EAQtC,SAAUD,EAAO,CACjB,IAAIE,EAAU,oCACVC,EAAW,CACb,CACE,QAAS,sBACT,MAAO,SACT,EACA,CACE,QAAS,iCACT,OAAQ,GACR,WAAY,EACd,EACA,CACE,QAAS,+CACT,OAAQ,GACR,WAAY,EACd,EACA,gBACA,+BACF,EACIC,EACF,6IACEC,EACF,wFACEC,EAAc,gBAClBN,EAAM,UAAU,IAAM,CACpB,UAAW,CACT,QAAS,6BACT,MAAO,WACT,EACA,QAASE,EACT,SAAU,sBACV,QAAS,CACP,QACE,oEACF,WAAY,GACZ,OAAQ,CACN,YAAa,IACf,CACF,EACA,wBAAyB,CACvB,QAAS,4DACT,WAAY,GACZ,MAAO,YACT,EACA,sBAAuB,CACrB,QAAS,qCACT,WAAY,GACZ,MAAO,UACT,EACA,QAAS,CACP,CACE,QACE,8EACF,MAAO,eACP,OAAQ,GACR,WAAY,EACd,EACA,CACE,QACE,sIACF,MAAO,YACP,OAAQ,GACR,WAAY,EACd,EACA,CACE,QACE,mJACF,MAAO,cACP,OAAQ,GACR,WAAY,EACd,EACA,CACE,QACE,2EACF,MAAO,mBACP,OAAQ,EACV,EACA,CACE,QAAS,qDACT,MAAO,mBACP,OAAQ,GACR,WAAY,EACd,EACA,CACE,QAAS,qCACT,MAAO,iBACP,OAAQ,EACV,EACA,CAEE,QAAS,sBACT,WAAY,EACd,EAEA,aACA,CAKE,QACE,6iBACF,WAAY,EACd,CACF,EACA,gBAAiB,CACf,QAAS,qCACT,WAAY,EACd,EACA,aAAc,CACZ,CACE,QACE,qGACF,OAAQ,GACR,WAAY,EACd,EACA,CACE,QAAS,8BACT,OAAQ,GACR,WAAY,EACd,EACA,CACE,QAAS,gCACT,OAAQ,EACV,EACA,CACE,QAAS,gCACT,MAAO,6BACP,OAAQ,GACR,WAAY,GACZ,OAAQ,CACN,YAAa,IACf,CACF,EACA,CACE,QAAS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",
|
|
6
|
+
"names": ["require_parse_numeric_range", "__commonJSMin", "exports", "module", "parsePart", "string", "res", "m", "str", "_", "lhs", "sep", "rhs", "incr", "i", "require_unicode", "__commonJSMin", "exports", "UNDEFINED_CODE_POINTS", "cp", "cp1", "cp2", "require_error_codes", "__commonJSMin", "exports", "module", "require_preprocessor", "__commonJSMin", "exports", "module", "unicode", "ERR", "$", "DEFAULT_BUFFER_WATERLINE", "Preprocessor", "cp", "nextCp", "chunk", "isLastChunk", "require_named_entity_data", "__commonJSMin", "exports", "module", "require_tokenizer", "__commonJSMin", "exports", "module", "Preprocessor", "unicode", "neTree", "ERR", "$", "$$", "C1_CONTROLS_REFERENCE_REPLACEMENTS", "HAS_DATA_FLAG", "DATA_DUPLET_FLAG", "HAS_BRANCHES_FLAG", "MAX_BRANCH_MARKER_VALUE", "DATA_STATE", "RCDATA_STATE", "RAWTEXT_STATE", "SCRIPT_DATA_STATE", "PLAINTEXT_STATE", "TAG_OPEN_STATE", "END_TAG_OPEN_STATE", "TAG_NAME_STATE", "RCDATA_LESS_THAN_SIGN_STATE", "RCDATA_END_TAG_OPEN_STATE", "RCDATA_END_TAG_NAME_STATE", "RAWTEXT_LESS_THAN_SIGN_STATE", "RAWTEXT_END_TAG_OPEN_STATE", "RAWTEXT_END_TAG_NAME_STATE", "SCRIPT_DATA_LESS_THAN_SIGN_STATE", "SCRIPT_DATA_END_TAG_OPEN_STATE", "SCRIPT_DATA_END_TAG_NAME_STATE", "SCRIPT_DATA_ESCAPE_START_STATE", "SCRIPT_DATA_ESCAPE_START_DASH_STATE", "SCRIPT_DATA_ESCAPED_STATE", "SCRIPT_DATA_ESCAPED_DASH_STATE", "SCRIPT_DATA_ESCAPED_DASH_DASH_STATE", "SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE", "SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE", "SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE", "SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE", "SCRIPT_DATA_DOUBLE_ESCAPED_STATE", "SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE", "SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE", "SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE", "SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE", "BEFORE_ATTRIBUTE_NAME_STATE", "ATTRIBUTE_NAME_STATE", "AFTER_ATTRIBUTE_NAME_STATE", "BEFORE_ATTRIBUTE_VALUE_STATE", "ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE", "ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE", "ATTRIBUTE_VALUE_UNQUOTED_STATE", "AFTER_ATTRIBUTE_VALUE_QUOTED_STATE", "SELF_CLOSING_START_TAG_STATE", "BOGUS_COMMENT_STATE", "MARKUP_DECLARATION_OPEN_STATE", "COMMENT_START_STATE", "COMMENT_START_DASH_STATE", "COMMENT_STATE", "COMMENT_LESS_THAN_SIGN_STATE", "COMMENT_LESS_THAN_SIGN_BANG_STATE", "COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE", "COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE", "COMMENT_END_DASH_STATE", "COMMENT_END_STATE", "COMMENT_END_BANG_STATE", "DOCTYPE_STATE", "BEFORE_DOCTYPE_NAME_STATE", "DOCTYPE_NAME_STATE", "AFTER_DOCTYPE_NAME_STATE", "AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE", "BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE", "DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE", "DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE", "AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE", "BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE", "AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE", "BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE", "DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE", "DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE", "AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE", "BOGUS_DOCTYPE_STATE", "CDATA_SECTION_STATE", "CDATA_SECTION_BRACKET_STATE", "CDATA_SECTION_END_STATE", "CHARACTER_REFERENCE_STATE", "NAMED_CHARACTER_REFERENCE_STATE", "AMBIGUOUS_AMPERSAND_STATE", "NUMERIC_CHARACTER_REFERENCE_STATE", "HEXADEMICAL_CHARACTER_REFERENCE_START_STATE", "DECIMAL_CHARACTER_REFERENCE_START_STATE", "HEXADEMICAL_CHARACTER_REFERENCE_STATE", "DECIMAL_CHARACTER_REFERENCE_STATE", "NUMERIC_CHARACTER_REFERENCE_END_STATE", "isWhitespace", "cp", "isAsciiDigit", "isAsciiUpper", "isAsciiLower", "isAsciiLetter", "isAsciiAlphaNumeric", "isAsciiUpperHexDigit", "isAsciiLowerHexDigit", "isAsciiHexDigit", "toAsciiLowerCodePoint", "toChar", "toAsciiLowerChar", "findNamedEntityTreeBranch", "nodeIx", "branchCount", "lo", "hi", "mid", "midCp", "Tokenizer", "err", "chunk", "isLastChunk", "state", "pattern", "startCp", "caseSensitive", "consumedCount", "isMatch", "patternLength", "patternPos", "patternCp", "i", "initialName", "type", "ch", "attrNameFirstCh", "toState", "ct", "codePoints", "result", "excess", "current", "inNode", "withSemicolon", "nextCp", "matchResult", "replacement", "token", "attrName", "require_html", "__commonJSMin", "exports", "NS", "$", "require_open_element_stack", "__commonJSMin", "exports", "module", "HTML", "$", "NS", "isImpliedEndTagRequired", "tn", "isImpliedEndTagRequiredThoroughly", "isScopingElement", "ns", "OpenElementStack", "document", "treeAdapter", "element", "idx", "i", "oldElement", "newElement", "referenceElement", "insertionIdx", "tagName", "poppedElement", "elementIdx", "exclusionTagName", "require_formatting_element_list", "__commonJSMin", "exports", "module", "FormattingElementList", "treeAdapter", "newElement", "candidates", "neAttrsLength", "neTagName", "neNamespaceURI", "i", "entry", "element", "elementAttrs", "cLength", "neAttrs", "neAttrsMap", "neAttr", "j", "cAttr", "token", "bookmarkIdx", "tagName", "require_mixin", "__commonJSMin", "exports", "module", "Mixin", "host", "originalMethods", "overriddenMethods", "key", "Ctor", "opts", "i", "mixin", "require_preprocessor_mixin", "__commonJSMin", "exports", "module", "Mixin", "PositionTrackingPreprocessorMixin", "preprocessor", "mxn", "orig", "pos", "ch", "prevPos", "reduction", "require_tokenizer_mixin", "__commonJSMin", "exports", "module", "Mixin", "Tokenizer", "PositionTrackingPreprocessorMixin", "LocationInfoTokenizerMixin", "tokenizer", "currentToken", "currentAttr", "mxn", "orig", "methods", "initialName", "type", "ch", "attrNameFirstCh", "toState", "ctLoc", "modeName", "state", "cp", "require_open_element_stack_mixin", "__commonJSMin", "exports", "module", "Mixin", "LocationInfoOpenElementStackMixin", "stack", "opts", "mxn", "orig", "i", "element", "require_parser_mixin", "__commonJSMin", "exports", "module", "Mixin", "Tokenizer", "LocationInfoTokenizerMixin", "LocationInfoOpenElementStackMixin", "HTML", "$", "LocationInfoParserMixin", "parser", "element", "loc", "closingToken", "ctLoc", "tn", "isClosingEndTag", "endLoc", "mxn", "orig", "document", "fragmentContext", "tokenizerMixin", "scriptHandler", "i", "token", "documentChildren", "cnLength", "node", "namespaceURI", "tmplContent", "parent", "children", "commentNode", "hasFosterParent", "siblings", "textNodeIdx", "textNode", "endLine", "endCol", "endOffset", "require_mixin_base", "__commonJSMin", "exports", "module", "Mixin", "ErrorReportingMixinBase", "host", "opts", "err", "code", "mxn", "require_preprocessor_mixin", "__commonJSMin", "exports", "module", "ErrorReportingMixinBase", "PositionTrackingPreprocessorMixin", "Mixin", "ErrorReportingPreprocessorMixin", "preprocessor", "opts", "code", "require_tokenizer_mixin", "__commonJSMin", "exports", "module", "ErrorReportingMixinBase", "ErrorReportingPreprocessorMixin", "Mixin", "ErrorReportingTokenizerMixin", "tokenizer", "opts", "preprocessorMixin", "require_parser_mixin", "__commonJSMin", "exports", "module", "ErrorReportingMixinBase", "ErrorReportingTokenizerMixin", "LocationInfoTokenizerMixin", "Mixin", "ErrorReportingParserMixin", "parser", "opts", "err", "mxn", "orig", "document", "fragmentContext", "token", "code", "options", "require_default", "__commonJSMin", "exports", "DOCUMENT_MODE", "tagName", "namespaceURI", "attrs", "data", "createTextNode", "value", "appendChild", "parentNode", "newNode", "insertBefore", "referenceNode", "insertionIdx", "templateElement", "contentElement", "document", "name", "publicId", "systemId", "doctypeNode", "i", "mode", "node", "idx", "text", "prevNode", "recipient", "recipientAttrsMap", "j", "element", "textNode", "commentNode", "location", "endLocation", "require_merge_options", "__commonJSMin", "exports", "module", "defaults", "options", "merged", "optObj", "key", "require_doctype", "__commonJSMin", "exports", "DOCUMENT_MODE", "VALID_DOCTYPE_NAME", "VALID_SYSTEM_ID", "QUIRKS_MODE_SYSTEM_ID", "QUIRKS_MODE_PUBLIC_ID_PREFIXES", "QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES", "QUIRKS_MODE_PUBLIC_IDS", "LIMITED_QUIRKS_PUBLIC_ID_PREFIXES", "LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES", "enquoteDoctypeId", "id", "quote", "hasPrefix", "publicId", "prefixes", "i", "token", "systemId", "name", "str", "require_foreign_content", "__commonJSMin", "exports", "Tokenizer", "HTML", "$", "NS", "ATTRS", "MIME_TYPES", "DEFINITION_URL_ATTR", "ADJUSTED_DEFINITION_URL_ATTR", "SVG_ATTRS_ADJUSTMENT_MAP", "XML_ATTRS_ADJUSTMENT_MAP", "SVG_TAG_NAMES_ADJUSTMENT_MAP", "EXITS_FOREIGN_CONTENT", "startTagToken", "tn", "token", "i", "adjustedAttrName", "adjustedAttrEntry", "adjustedTagName", "isMathMLTextIntegrationPoint", "ns", "isHtmlIntegrationPoint", "attrs", "value", "foreignNS", "require_parser", "__commonJSMin", "exports", "module", "Tokenizer", "OpenElementStack", "FormattingElementList", "LocationInfoParserMixin", "ErrorReportingParserMixin", "Mixin", "defaultTreeAdapter", "mergeOptions", "doctype", "foreignContent", "ERR", "unicode", "HTML", "$", "NS", "ATTRS", "DEFAULT_OPTIONS", "HIDDEN_INPUT_TYPE", "AA_OUTER_LOOP_ITER", "AA_INNER_LOOP_ITER", "INITIAL_MODE", "BEFORE_HTML_MODE", "BEFORE_HEAD_MODE", "IN_HEAD_MODE", "IN_HEAD_NO_SCRIPT_MODE", "AFTER_HEAD_MODE", "IN_BODY_MODE", "TEXT_MODE", "IN_TABLE_MODE", "IN_TABLE_TEXT_MODE", "IN_CAPTION_MODE", "IN_COLUMN_GROUP_MODE", "IN_TABLE_BODY_MODE", "IN_ROW_MODE", "IN_CELL_MODE", "IN_SELECT_MODE", "IN_SELECT_IN_TABLE_MODE", "IN_TEMPLATE_MODE", "AFTER_BODY_MODE", "IN_FRAMESET_MODE", "AFTER_FRAMESET_MODE", "AFTER_AFTER_BODY_MODE", "AFTER_AFTER_FRAMESET_MODE", "INSERTION_MODE_RESET_MAP", "TEMPLATE_INSERTION_MODE_SWITCH_MAP", "TOKEN_HANDLERS", "tokenInInitialMode", "ignoreToken", "appendComment", "doctypeInInitialMode", "tokenBeforeHtml", "startTagBeforeHtml", "endTagBeforeHtml", "tokenBeforeHead", "misplacedDoctype", "startTagBeforeHead", "endTagBeforeHead", "tokenInHead", "insertCharacters", "startTagInHead", "endTagInHead", "tokenInHeadNoScript", "startTagInHeadNoScript", "endTagInHeadNoScript", "tokenAfterHead", "startTagAfterHead", "endTagAfterHead", "characterInBody", "whitespaceCharacterInBody", "startTagInBody", "endTagInBody", "eofInBody", "endTagInText", "eofInText", "characterInTable", "startTagInTable", "endTagInTable", "characterInTableText", "whitespaceCharacterInTableText", "tokenInTableText", "startTagInCaption", "endTagInCaption", "tokenInColumnGroup", "startTagInColumnGroup", "endTagInColumnGroup", "startTagInTableBody", "endTagInTableBody", "startTagInRow", "endTagInRow", "startTagInCell", "endTagInCell", "startTagInSelect", "endTagInSelect", "startTagInSelectInTable", "endTagInSelectInTable", "startTagInTemplate", "endTagInTemplate", "eofInTemplate", "tokenAfterBody", "appendCommentToRootHtmlElement", "startTagAfterBody", "endTagAfterBody", "stopParsing", "startTagInFrameset", "endTagInFrameset", "startTagAfterFrameset", "endTagAfterFrameset", "tokenAfterAfterBody", "appendCommentToDocument", "startTagAfterAfterBody", "startTagAfterAfterFrameset", "Parser", "options", "html", "document", "fragmentContext", "documentMock", "rootElement", "fragment", "scriptHandler", "token", "writeCallback", "script", "current", "currentToken", "nextTokenizerState", "node", "tn", "name", "publicId", "systemId", "element", "parent", "namespaceURI", "tagName", "tmpl", "content", "commentNode", "donor", "recipient", "child", "ns", "isCharacterToken", "characterInForeignContent", "nullCharacterInForeignContent", "startTagInForeignContent", "endTagInForeignContent", "foreignNS", "attrs", "listLength", "unopenIdx", "entry", "i", "last", "newInsertionMode", "selectIdx", "ancestor", "mode", "location", "openElement", "chars", "aaObtainFormattingElementEntry", "p", "formattingElementEntry", "genericEndTagInBody", "aaObtainFurthestBlock", "furthestBlock", "aaInnerLoop", "formattingElement", "lastElement", "nextElement", "elementEntry", "counterOverflow", "aaRecreateElementFromEntry", "newElement", "aaInsertLastNodeInCommonAncestor", "commonAncestor", "aaReplaceFormattingElement", "callAdoptionAgency", "errCode", "htmlStartTagInBody", "bodyStartTagInBody", "bodyElement", "framesetStartTagInBody", "addressStartTagInBody", "numberedHeaderStartTagInBody", "preStartTagInBody", "formStartTagInBody", "inTemplate", "listItemStartTagInBody", "elementTn", "closeTn", "plaintextStartTagInBody", "buttonStartTagInBody", "aStartTagInBody", "activeElementEntry", "bStartTagInBody", "nobrStartTagInBody", "appletStartTagInBody", "tableStartTagInBody", "areaStartTagInBody", "inputStartTagInBody", "inputType", "paramStartTagInBody", "hrStartTagInBody", "imageStartTagInBody", "textareaStartTagInBody", "xmpStartTagInBody", "iframeStartTagInBody", "noembedStartTagInBody", "selectStartTagInBody", "optgroupStartTagInBody", "rbStartTagInBody", "rtStartTagInBody", "menuStartTagInBody", "mathStartTagInBody", "svgStartTagInBody", "genericStartTagInBody", "bodyEndTagInBody", "htmlEndTagInBody", "addressEndTagInBody", "formEndTagInBody", "formElement", "pEndTagInBody", "liEndTagInBody", "ddEndTagInBody", "numberedHeaderEndTagInBody", "appletEndTagInBody", "brEndTagInBody", "curTn", "tokenInTable", "captionStartTagInTable", "colgroupStartTagInTable", "colStartTagInTable", "tbodyStartTagInTable", "tdStartTagInTable", "tableStartTagInTable", "inputStartTagInTable", "formStartTagInTable", "savedFosterParentingState", "prevOpenElement", "prevOpenElementTn", "currentNs", "require_is_buffer", "__commonJSMin", "exports", "module", "obj", "require_extend", "__commonJSMin", "exports", "module", "hasOwn", "toStr", "defineProperty", "gOPD", "isArray", "arr", "isPlainObject", "obj", "hasOwnConstructor", "hasIsPrototypeOf", "key", "setProperty", "target", "options", "getProperty", "name", "extend", "src", "copy", "copyIsArray", "clone", "i", "length", "deep", "require_is_buffer", "__commonJSMin", "exports", "module", "obj", "Schema", "property", "normal", "space", "merge", "definitions", "space", "property", "normal", "index", "Schema", "normalize", "value", "Info", "property", "attribute", "types_exports", "__export", "boolean", "booleanish", "commaOrSpaceSeparated", "commaSeparated", "number", "overloadedBoolean", "spaceSeparated", "powers", "increment", "checks", "types_exports", "DefinedInfo", "Info", "property", "attribute", "mask", "space", "index", "mark", "check", "values", "key", "value", "own", "create", "definition", "property", "normal", "prop", "value", "info", "DefinedInfo", "normalize", "Schema", "xlink", "create", "_", "prop", "xml", "create", "_", "prop", "caseSensitiveTransform", "attributes", "attribute", "caseInsensitiveTransform", "attributes", "property", "caseSensitiveTransform", "xmlns", "create", "caseInsensitiveTransform", "aria", "create", "_", "prop", "booleanish", "number", "spaceSeparated", "html", "create", "caseInsensitiveTransform", "commaSeparated", "spaceSeparated", "boolean", "number", "booleanish", "overloadedBoolean", "svg", "create", "caseSensitiveTransform", "commaOrSpaceSeparated", "number", "spaceSeparated", "boolean", "commaSeparated", "valid", "dash", "cap", "find", "schema", "value", "normal", "normalize", "prop", "Type", "Info", "rest", "camelcase", "dashes", "kebab", "DefinedInfo", "$0", "html", "merge", "xml", "xlink", "xmlns", "aria", "svg", "htmlVoidElements", "own", "zwitch", "key", "options", "settings", "one", "value", "parameters", "fn", "handlers", "id", "core", "value", "options", "charactersToExpression", "basic", "surrogate", "pair", "index", "all", "character", "subset", "groups", "toHexadecimal", "code", "next", "omit", "value", "toDecimal", "code", "next", "omit", "value", "characterEntitiesLegacy", "characterEntitiesHtml4", "dangerous", "own", "characters", "key", "characterEntitiesHtml4", "toNamed", "code", "next", "omit", "attribute", "character", "name", "value", "characterEntitiesLegacy", "dangerous", "formatSmart", "code", "next", "options", "numeric", "toHexadecimal", "named", "toNamed", "decimal", "toDecimal", "stringifyEntities", "value", "options", "core", "formatSmart", "comment", "node", "_1", "_2", "state", "stringifyEntities", "encode", "$0", "doctype", "_1", "_2", "_3", "state", "ccount", "value", "character", "source", "count", "index", "parse", "value", "tokens", "input", "index", "start", "end", "token", "stringify", "values", "options", "settings", "parse", "value", "input", "stringify", "values", "whitespace", "thing", "value", "siblingAfter", "siblings", "siblingBefore", "increment", "sibling", "parent", "index", "includeWhitespace", "offset", "next", "whitespace", "own", "omission", "handlers", "omit", "node", "index", "parent", "closing", "omission", "html", "headOrColgroupOrCaption", "body", "p", "li", "dt", "dd", "rubyElement", "optgroup", "option", "menuitem", "thead", "tbody", "tfoot", "tr", "cells", "_", "index", "parent", "next", "siblingAfter", "whitespace", "opening", "omission", "html", "head", "body", "colgroup", "tbody", "node", "siblingAfter", "children", "seen", "index", "child", "whitespace", "parent", "previous", "siblingBefore", "closing", "constants", "element", "node", "index", "parent", "state", "schema", "omit", "selfClosing", "parts", "last", "svg", "attrs", "serializeAttributes", "content", "opening", "closing", "props", "values", "key", "value", "serializeAttribute", "info", "find", "x", "y", "quote", "result", "name", "stringifyEntities", "stringify", "ccount", "text", "node", "_", "parent", "state", "stringifyEntities", "raw", "node", "index", "parent", "state", "text", "root", "node", "_1", "_2", "state", "handle", "zwitch", "invalid", "unknown", "comment", "doctype", "element", "raw", "root", "text", "node", "toHtml", "tree", "options", "options_", "quote", "alternative", "one", "all", "htmlVoidElements", "svg", "html", "node", "index", "parent", "handle", "results", "children", "import_parse_numeric_range", "clike", "Prism", "c", "Prism", "clike", "cpp", "Prism", "c", "keyword", "modName", "arduino", "Prism", "cpp", "bash", "Prism", "envVars", "commandAfterHeredoc", "insideString", "toBeCopied", "inside", "i", "csharp", "Prism", "clike", "replace", "pattern", "replacements", "m", "index", "re", "flags", "nested", "depthLog2", "i", "keywordKinds", "keywordsToPattern", "words", "typeDeclarationKeywords", "keywords", "nonTypeKeywords", "nonContextualKeywords", "generic", "nestedRound", "name", "genericName", "identifier", "array", "typeExpressionWithoutTuple", "tupleElement", "tuple", "typeExpression", "typeInside", "character", "regularString", "verbatimString", "regularStringOrCharacter", "regularStringCharacterOrComment", "roundExpression", "attrTarget", "attr", "formatString", "mInterpolationRound", "mInterpolation", "sInterpolationRound", "sInterpolation", "createInterpolationInside", "interpolation", "interpolationRound", "markup", "Prism", "env", "tagName", "lang", "includedCdataInside", "inside", "def", "attrName", "css", "Prism", "string", "markup", "diff", "Prism", "PREFIXES", "name", "prefix", "alias", "go", "Prism", "clike", "ini", "Prism", "java", "Prism", "clike", "keywords", "classNamePrefix", "className", "regex", "Prism", "specialEscape", "escape", "charSet", "charSetWithoutDot", "rangeChar", "range", "groupName", "javascript", "Prism", "clike", "json", "Prism", "kotlin", "Prism", "clike", "interpolationInside", "less", "Prism", "css", "lua", "Prism", "makefile", "Prism", "yaml", "Prism", "anchorOrAlias", "tag", "properties", "plainKey", "string", "createValuePattern", "value", "flags", "pattern", "markdown", "Prism", "markup", "inner", "createInline", "pattern", "tableCell", "tableRow", "tableLine", "token", "inside", "env", "walkTokens", "tokens", "i", "l", "codeLang", "codeBlock", "lang", "alias", "cls", "match", "grammar", "id", "ele", "tagPattern", "KNOWN_ENTITY_NAMES", "fromCodePoint", "textContent", "html", "text", "m", "code", "value", "known", "objectivec", "Prism", "c", "perl", "Prism", "brackets", "markupTemplating", "Prism", "markup", "getPlaceholder", "language", "index", "env", "placeholderPattern", "replaceFilter", "tokenStack", "match", "i", "placeholder", "j", "keys", "walkTokens", "tokens", "token", "k", "t", "s", "before", "middle", "after", "replacement", "php", "Prism", "markupTemplating", "comment", "constant", "number", "operator", "punctuation", "string_interpolation", "string", "env", "phpPattern", "python", "Prism", "r", "Prism", "ruby", "Prism", "clike", "interpolation", "percentExpression", "symbolName", "rust", "Prism", "multilineComment", "i", "sass", "Prism", "css", "variable", "operator", "scss", "Prism", "css", "sql", "Prism", "swift", "Prism", "rule", "typescript", "Prism", "javascript", "typeInside", "basic", "Prism", "vbnet", "Prism", "basic", "search", "parseSelector", "selector", "defaultTagName", "value", "props", "start", "previous", "tagName", "match", "subvalue", "buttonTypes", "own", "core", "schema", "defaultTagName", "caseSensitive", "adjust", "createAdjustMap", "selector", "properties", "children", "index", "node", "parseSelector", "isProperties", "key", "addProperty", "addChild", "value", "name", "info", "find", "result", "parse", "parsePrimitive", "style", "finalResult", "nodes", "normalize", "values", "h", "core", "html", "svgCaseSensitiveTagNames", "s", "core", "svg", "svgCaseSensitiveTagNames", "characterReferenceInvalid", "isDecimal", "character", "code", "isHexadecimal", "character", "code", "isAlphabetical", "character", "code", "isAlphanumerical", "character", "isAlphabetical", "isDecimal", "characterEntities", "own", "decodeNamedCharacterReference", "value", "characterEntities", "fromCharCode", "messages", "parseEntities", "value", "options", "additional", "result", "index", "lines", "queue", "point", "indent", "line", "column", "previous", "now", "character", "following", "start", "begin", "end", "type", "characterReferenceCharacters", "characterReference", "characters", "test", "isAlphanumerical", "isDecimal", "isHexadecimal", "characterEntitiesLegacy", "decodeNamedCharacterReference", "terminated", "namedReference", "diff", "reference", "warning", "reason", "referenceCode", "prohibited", "characterReferenceInvalid", "output", "disallowed", "flush", "next", "code", "offset", "position", "uniqueId", "plainTextGrammar", "_", "o", "obj", "deepClone", "visited", "clone", "id", "key", "v", "i", "redef", "lang", "inside", "before", "insert", "root", "grammar", "ret", "token", "newToken", "old", "value", "DFS", "callback", "type", "objId", "property", "propertyType", "text", "language", "env", "Token", "rest", "tokenList", "LinkedList", "addAfter", "matchGrammar", "toArray", "name", "hooks", "callbacks", "content", "alias", "matchedStr", "matchPattern", "pattern", "pos", "lookbehind", "match", "lookbehindLength", "startNode", "startPos", "rematch", "patterns", "j", "patternObj", "greedy", "flags", "currentNode", "str", "removeCount", "from", "to", "p", "k", "matchStr", "after", "reach", "removeFrom", "removeRange", "wrapped", "nestedRematch", "head", "tail", "list", "node", "next", "newNode", "count", "array", "Prism", "own", "Refractor", "Prism", "refractor", "highlight", "register", "alias", "registered", "listLanguages", "encode", "stringify", "value", "language", "grammar", "name", "syntax", "languages", "map", "key", "list", "index", "aliasOrLanguage", "result", "env", "h", "attributes", "tokens", "attrs", "parseEntities", "refractor", "clike", "c", "cpp", "arduino", "bash", "csharp", "markup", "css", "diff", "go", "ini", "java", "regex", "javascript", "json", "kotlin", "less", "lua", "makefile", "yaml", "markdown", "objectivec", "perl", "markupTemplating", "php", "python", "r", "ruby", "rust", "sass", "scss", "sql", "swift", "typescript", "basic", "vbnet", "jsx", "Prism", "javascript", "markup", "space", "braces", "spread", "re", "source", "flags", "stringifyToken", "token", "walkTokens", "tokens", "openedTags", "i", "notTagNorBrace", "plainText", "env", "tsx", "Prism", "jsx", "typescript", "tag", "import_parser", "location", "file", "value", "indices", "search", "toPoint", "toOffset", "offset", "index", "point", "line", "column", "webNamespaces", "own", "proto", "fromParse5", "tree", "options", "options_", "settings", "file", "isFile", "one", "svg", "html", "state", "node", "result", "reference", "patch", "quirksMode", "all", "doc", "loc", "location", "start", "end", "element", "nodes", "index", "schema", "webNamespaces", "props", "attribute", "name", "s", "h", "pos", "startTag", "position", "endTag", "content", "from", "to", "createLocation", "tail", "key", "find", "point", "value", "errors", "base", "fatalities", "rehypeParse", "options", "processorSettings", "settings", "parser", "doc", "file", "fn", "onParseError", "onerror", "parse5", "Parser5", "fromParse5", "error", "code", "name", "camelcase", "setting", "config", "level", "start", "end", "info", "errors", "message", "format", "value", "_", "$1", "offset", "char", "$0", "bail", "error", "import_is_buffer", "import_extend", "isPlainObject", "value", "prototype", "trough", "fns", "pipeline", "run", "use", "values", "middlewareIndex", "callback", "next", "error", "output", "fn", "index", "wrap", "middelware", "middleware", "called", "wrapped", "parameters", "fnExpectsCallback", "result", "done", "exception", "then", "value", "import_is_buffer", "stringifyPosition", "value", "position", "point", "index", "pos", "VFileMessage", "reason", "place", "origin", "parts", "position", "index", "stringifyPosition", "default", "default", "fileURLToPath", "isUrl", "fileUrlOrPath", "order", "VFile", "value", "options", "buffer", "isUrl", "default", "index", "prop", "path", "fileURLToPath", "assertNonEmpty", "dirname", "assertPath", "basename", "assertPart", "extname", "stem", "encoding", "reason", "place", "origin", "message", "VFileMessage", "part", "name", "bufferLike", "unified", "base", "own", "transformers", "trough", "attachers", "namespace", "frozen", "freezeIndex", "processor", "data", "freeze", "use", "parse", "stringify", "run", "runSync", "process", "processSync", "destination", "index", "extend", "key", "value", "assertUnfrozen", "attacher", "options", "transformer", "settings", "addPlugin", "addList", "addPreset", "add", "plugin", "result", "plugins", "thing", "entry", "isPlainObject", "doc", "file", "vfile", "Parser", "assertParser", "newable", "node", "Compiler", "assertCompiler", "assertNode", "callback", "executor", "resolve", "reject", "done", "error", "tree", "complete", "assertDone", "bail", "looksLikeAVFileValue", "name", "keys", "asyncName", "looksLikeAVFile", "VFile", "isBuffer", "lineNumberify", "ast", "lineNum", "lineNumber", "result", "node", "lines", "i", "processed", "wrapLines", "linesToHighlight", "highlightAll", "allLines", "x", "nodes", "marker", "line", "children", "MULTILINE_TOKEN_SPAN", "applyMultilineFix", "html", "toHtml", "match", "token", "unified", "rehypeParse", "highlightLine", "formattedAst", "numbered", "CALLOUT", "highlightWord", "code", "result", "toHtml", "_", "text", "unified", "rehypeParse", "refractor", "tsx", "css", "codeToHTML", "source", "language", "line", "result", "highlightLine", "rangeParser", "highlightWord", "toHtml"]
|
|
7
7
|
}
|